@signageos/lib 23.20.0 → 23.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/Config/config.d.ts +2 -79
  2. package/dist/Config/config.js +4 -102
  3. package/dist/Config/config.js.map +1 -1
  4. package/dist/Config/environment.d.ts +2 -6
  5. package/dist/Config/environment.js +16 -8
  6. package/dist/Config/environment.js.map +1 -1
  7. package/dist/Config/validation.d.ts +2 -59
  8. package/dist/Config/validation.js +16 -51
  9. package/dist/Config/validation.js.map +1 -1
  10. package/dist/DateTime/dateTimeFactory.d.ts +4 -4
  11. package/dist/DateTime/dateTimeFactory.js +17 -18
  12. package/dist/DateTime/dateTimeFactory.js.map +1 -1
  13. package/dist/HttpStatus/checks/amqpStatusCheck.d.ts +5 -3
  14. package/dist/HttpStatus/checks/amqpStatusCheck.js +22 -93
  15. package/dist/HttpStatus/checks/amqpStatusCheck.js.map +1 -1
  16. package/dist/HttpStatus/checks/mongoDBStatusCheck.d.ts +5 -3
  17. package/dist/HttpStatus/checks/mongoDBStatusCheck.js +22 -55
  18. package/dist/HttpStatus/checks/mongoDBStatusCheck.js.map +1 -1
  19. package/dist/HttpStatus/createHttpStatusMiddleware.d.ts +5 -9
  20. package/dist/HttpStatus/createHttpStatusMiddleware.js +11 -93
  21. package/dist/HttpStatus/createHttpStatusMiddleware.js.map +1 -1
  22. package/dist/HttpStatus/enrichHttpServerWithStatus.d.ts +5 -15
  23. package/dist/HttpStatus/enrichHttpServerWithStatus.js +11 -98
  24. package/dist/HttpStatus/enrichHttpServerWithStatus.js.map +1 -1
  25. package/dist/HttpStatus/sendStatusResponse.d.ts +4 -5
  26. package/dist/HttpStatus/sendStatusResponse.js +6 -56
  27. package/dist/HttpStatus/sendStatusResponse.js.map +1 -1
  28. package/dist/HttpStatus/status.d.ts +5 -19
  29. package/dist/HttpStatus/status.js +9 -114
  30. package/dist/HttpStatus/status.js.map +1 -1
  31. package/dist/HttpStatus/statuses/amqpStatus.d.ts +4 -3
  32. package/dist/HttpStatus/statuses/amqpStatus.js +6 -20
  33. package/dist/HttpStatus/statuses/amqpStatus.js.map +1 -1
  34. package/dist/HttpStatus/statuses/mongoStatus.d.ts +4 -3
  35. package/dist/HttpStatus/statuses/mongoStatus.js +6 -20
  36. package/dist/HttpStatus/statuses/mongoStatus.js.map +1 -1
  37. package/dist/HttpStatus/statuses/redisStatus.d.ts +4 -3
  38. package/dist/HttpStatus/statuses/redisStatus.js +6 -20
  39. package/dist/HttpStatus/statuses/redisStatus.js.map +1 -1
  40. package/dist/Logging/console.d.ts +2 -6
  41. package/dist/Logging/console.js +16 -42
  42. package/dist/Logging/console.js.map +1 -1
  43. package/dist/Logging/debug.d.ts +2 -8
  44. package/dist/Logging/debug.js +14 -54
  45. package/dist/Logging/debug.js.map +1 -1
  46. package/dist/Logging/format.d.ts +2 -8
  47. package/dist/Logging/format.js +4 -62
  48. package/dist/Logging/format.js.map +1 -1
  49. package/dist/Logging/logger.d.ts +3 -52
  50. package/dist/Logging/logger.js +17 -64
  51. package/dist/Logging/logger.js.map +1 -1
  52. package/dist/Logging/logging.d.ts +2 -10
  53. package/dist/Logging/logging.js +4 -96
  54. package/dist/Logging/logging.js.map +1 -1
  55. package/dist/Metrics/logMetrics.d.ts +4 -4
  56. package/dist/Metrics/logMetrics.js +18 -37
  57. package/dist/Metrics/logMetrics.js.map +1 -1
  58. package/dist/Metrics/mongoDBMetrics.d.ts +2 -33
  59. package/dist/Metrics/mongoDBMetrics.js +15 -156
  60. package/dist/Metrics/mongoDBMetrics.js.map +1 -1
  61. package/dist/MongoDB/MongoDBConnection.d.ts +4 -19
  62. package/dist/MongoDB/MongoDBConnection.js +16 -180
  63. package/dist/MongoDB/MongoDBConnection.js.map +1 -1
  64. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/dynamicPriority.d.ts +4 -2
  65. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/dynamicPriority.js +16 -101
  66. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/dynamicPriority.js.map +1 -1
  67. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/lowReadLatency.d.ts +4 -2
  68. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/lowReadLatency.js +16 -89
  69. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/lowReadLatency.js.map +1 -1
  70. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/ordinary.d.ts +4 -2
  71. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/ordinary.js +16 -75
  72. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/ordinary.js.map +1 -1
  73. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/random.d.ts +4 -2
  74. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/random.js +16 -46
  75. package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/random.js.map +1 -1
  76. package/dist/MongoDB/ProprietaryCluster/helper.d.ts +4 -13
  77. package/dist/MongoDB/ProprietaryCluster/helper.js +6 -132
  78. package/dist/MongoDB/ProprietaryCluster/helper.js.map +1 -1
  79. package/dist/MongoDB/cursorIterator.d.ts +4 -5
  80. package/dist/MongoDB/cursorIterator.js +16 -58
  81. package/dist/MongoDB/cursorIterator.js.map +1 -1
  82. package/dist/MongoDB/escape.d.ts +4 -4
  83. package/dist/MongoDB/escape.js +17 -50
  84. package/dist/MongoDB/escape.js.map +1 -1
  85. package/dist/MongoDB/mongoDBConnectionFactory.d.ts +2 -11
  86. package/dist/MongoDB/mongoDBConnectionFactory.js +16 -6
  87. package/dist/MongoDB/mongoDBConnectionFactory.js.map +1 -1
  88. package/dist/MongoDB/proprietaryCluster.d.ts +4 -1
  89. package/dist/MongoDB/proprietaryCluster.js +16 -71
  90. package/dist/MongoDB/proprietaryCluster.js.map +1 -1
  91. package/dist/Service/HTTP/express/app.d.ts +4 -33
  92. package/dist/Service/HTTP/express/app.js +6 -67
  93. package/dist/Service/HTTP/express/app.js.map +1 -1
  94. package/dist/Service/HTTP/express/expressFactory.d.ts +2 -2
  95. package/dist/Service/HTTP/express/expressFactory.js +15 -16
  96. package/dist/Service/HTTP/express/expressFactory.js.map +1 -1
  97. package/dist/Service/HTTP/express/monitoring.d.ts +4 -8
  98. package/dist/Service/HTTP/express/monitoring.js +17 -21
  99. package/dist/Service/HTTP/express/monitoring.js.map +1 -1
  100. package/dist/Service/HTTP/httpServerFactory.d.ts +2 -54
  101. package/dist/Service/HTTP/httpServerFactory.js +14 -97
  102. package/dist/Service/HTTP/httpServerFactory.js.map +1 -1
  103. package/dist/Service/HTTP/middleware/accessLogMiddleware.d.ts +4 -20
  104. package/dist/Service/HTTP/middleware/accessLogMiddleware.js +15 -84
  105. package/dist/Service/HTTP/middleware/accessLogMiddleware.js.map +1 -1
  106. package/dist/Service/HTTP/middleware/headersMiddleware.d.ts +4 -2
  107. package/dist/Service/HTTP/middleware/headersMiddleware.js +18 -15
  108. package/dist/Service/HTTP/middleware/headersMiddleware.js.map +1 -1
  109. package/dist/Service/HTTP/routes/app/indexPage.d.ts +2 -5
  110. package/dist/Service/HTTP/routes/app/indexPage.js +16 -7
  111. package/dist/Service/HTTP/routes/app/indexPage.js.map +1 -1
  112. package/dist/Service/HTTP/routes/app/router.d.ts +4 -14
  113. package/dist/Service/HTTP/routes/app/router.js +18 -9
  114. package/dist/Service/HTTP/routes/app/router.js.map +1 -1
  115. package/dist/Service/HTTP/routes/app/status.d.ts +2 -11
  116. package/dist/Service/HTTP/routes/app/status.js +14 -37
  117. package/dist/Service/HTTP/routes/app/status.js.map +1 -1
  118. package/dist/Service/HTTP/routes/monitoring/aliveness.d.ts +2 -18
  119. package/dist/Service/HTTP/routes/monitoring/aliveness.js +14 -68
  120. package/dist/Service/HTTP/routes/monitoring/aliveness.js.map +1 -1
  121. package/dist/Service/HTTP/routes/monitoring/metrics.d.ts +2 -7
  122. package/dist/Service/HTTP/routes/monitoring/metrics.js +14 -52
  123. package/dist/Service/HTTP/routes/monitoring/metrics.js.map +1 -1
  124. package/dist/Service/HTTP/routes/monitoring/readniness.d.ts +2 -16
  125. package/dist/Service/HTTP/routes/monitoring/readniness.js +14 -73
  126. package/dist/Service/HTTP/routes/monitoring/readniness.js.map +1 -1
  127. package/dist/Service/HTTP/routes/monitoring/router.d.ts +4 -10
  128. package/dist/Service/HTTP/routes/monitoring/router.js +18 -9
  129. package/dist/Service/HTTP/routes/monitoring/router.js.map +1 -1
  130. package/dist/Service/HTTP/server/serverFactory.d.ts +2 -17
  131. package/dist/Service/HTTP/server/serverFactory.js +4 -143
  132. package/dist/Service/HTTP/server/serverFactory.js.map +1 -1
  133. package/dist/Service/Service.d.ts +4 -17
  134. package/dist/Service/Service.js +16 -92
  135. package/dist/Service/Service.js.map +1 -1
  136. package/dist/Service/dbConnections.d.ts +4 -8
  137. package/dist/Service/dbConnections.js +18 -0
  138. package/dist/Service/dbConnections.js.map +1 -1
  139. package/dist/Service/metrics/connections.d.ts +4 -3
  140. package/dist/Service/metrics/connections.js +17 -43
  141. package/dist/Service/metrics/connections.js.map +1 -1
  142. package/dist/Service/metrics/mongodb.d.ts +4 -2
  143. package/dist/Service/metrics/mongodb.js +18 -10
  144. package/dist/Service/metrics/mongodb.js.map +1 -1
  145. package/dist/Service/metrics/redis.d.ts +4 -2
  146. package/dist/Service/metrics/redis.js +18 -8
  147. package/dist/Service/metrics/redis.js.map +1 -1
  148. package/dist/Service/process.d.ts +4 -11
  149. package/dist/Service/process.js +16 -83
  150. package/dist/Service/process.js.map +1 -1
  151. package/dist/Service/serviceFactory.d.ts +2 -115
  152. package/dist/Service/serviceFactory.js +16 -114
  153. package/dist/Service/serviceFactory.js.map +1 -1
  154. package/dist/Service/types.d.ts +4 -55
  155. package/dist/Service/types.js +18 -0
  156. package/dist/Service/types.js.map +1 -1
  157. package/dist/ThirdParty/connection.d.ts +4 -17
  158. package/dist/ThirdParty/connection.js +18 -6
  159. package/dist/ThirdParty/connection.js.map +1 -1
  160. package/package.json +5 -20
@@ -1,12 +1,21 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.routeIndex = routeIndex;
4
- var indexContent = "</doctype html>\n<html>\n\t<head>\n\t\t<style>\n\t\t\tbody {\n\t\t\t\twidth: 100vw;\n\t\t\t\theight: 100vh;\n\t\t\t\tbackground-color: #000000;\n\t\t\t\tbackground-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAIABJREFUeJzs3XmYXEXVP/Dvud2TDTLTfev2JEYCiSDIJiCICAiiyKIooojKJiLyiqKIKOIK7oKK4g+RVXZkUUAEieCCLIqCgCCrygAjQzJ9q+4sMGRmuu/5/TEdDJBlum7d7tvd5/M87+P7QOrUSTJ0nb63qg4ghBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEKIrKBmJyDqE0XRojiOFzDznGbnsjIiejaO46dKpdJAs3MRQgixdlIAtABmnhFF0THMfDSA9Zudz1o8DOCHvu+fR0Rxs5MRQgixalIAZNzIyEgwOTn5GwCvb3YudVoyPj7+3gULFow1OxEhhBAv5zU7AbF6zJyfnJz8NVpv8QeAvWbNmnVZs5MQQgixalIAZFgURUcC2KHZedhi5n3DMHx3s/MQQgjxclIAZBgzH9nsHJIioqOanYMQQoiXkz0AGTU0NFSsVqsarf939Lzv+91EVGl2IkIIIf5HngBkVBzHW6D1F38AmK213qjZSQghhHgxKQCya/NmJ+AKEbXN70UIIdqFFADZ1U6LZjv9XoQQoi1IAZBd7bRottPvRQgh2oIUABnFzO20aLbT70UIIdqCFAAZNDIyEgDobXYeDm3MzDOanYQQQoj/kQIgg6rVart9Y+4yxshJACGEyJB8sxMQL8fMm1kOPTGO4xucJvMSnue9A8DXLIZuDuAhx+kIIYSwJAVABsVxvAVR/VcAMPOSUqn09xRSekEYhnkisi0ArnKdjxBCCDvyCiCbbF4BMDM/7DyTl4jj+EEAbDG03V5rCCFES5MnADX9/f2z11lnnfcw85sBLAIwTER3E9HPi8Xikw1Ox+YVQH+pVBp1nslL9Pb2Pqu17gewfp1DG14ARFG0VRzHhzDzdp7nrRvH8QAR3TJjxoyL586dW250PkIIkSXtcNVsYmEY7k5E52HVi9okM5+qlDqRiMbTzmV0dLQ0MTExaDF0iVJqb+cJrYLW+kYAe9U5bNL3/XWJaCKNnFZWLpfnep53KoCPYNU/48PM/OkgCC5IOxchhMiqjn8FYIz5IBH9Bqv/RttFRJ/XWv8lDMPXpJ3P8uXLbb8pN3KDnc1cXVEUbew8k5cIw3B7IroXwBFYfYHbQ0Tna62/mnY+QgiRVR1dAGitD2DmiwB0re3XEtE2RHSP1vqYNHNKcG/+g04TWTOrYiPB6YbpxCat9TFEdBsRbTjNYV/TWp+YVk5CCJFlHVsAaK0PAHAp6tsHMRvAj7TWVw8PD/vpZGb3rpyZG1kA2M6Vyj6AZcuWzTPG/AbAjwDUe+HQSVIECCE6UUcWAJaL/8r2q1Qq90VRtKvDtABYPwFgz/MecZ3LGjyEjJwE0Frvmc/n70P9exJWJkWAEKLjdFwB4GDxX2FhHMd/0FqfxsxrfYVQB5vH5P/1fX/YYQ5rpJQaAfC0xVBnBUBfX98srfVpAG4EMN9BSCkChBAdpaMKAIeL/woegE8ZY24fGhqa7nvn1Vq2bNk8AIHF0EY+/k8y50bMPDPpxGEYbtrd3X0ngE/B7UkWKQKEEB2jYwqAFBb/lW1frVbvMcYcnCRILpdrhRMASebMJz0JEIbhoUR0N4CtksRZAykChBAdoSMKgJQX/xW6mfliY8xFg4OD61rGaPcCALD8PUZRVNBaX0FEFwKYYzn3dEkRIIRoe21fADRo8X8BMx+Sy+Ue0FrvWO/YFjkCmGhOZq7791gul3eL4/ifAA6wmdOSFAFCiLbW1gVAoxf/lSwC8Cet9UnMXM+fsVUBQESp9wBYhdR7AjBzXmt9kud5NwN4pcVcSUkRIIRoW217FbAx5sDaJT+5JqfyuziOP1QqlQZW9S+ZORdF0R7MfDiAd6P+YuW/SqmFibO0UOsJsF49Y5h5HMBVzPyzIAhuIaJVFhFDQ0OvqlarlwF4g4NUkzpJKWXTAVEIITKrLQuADC3+K4REdLjv+79e8Q+WLl3a29XVdRSmrqytaxF9iZuUUnsmztCC1vq3APawHc/M//E87xzP884uFArRin9ujDmImc8A0O0iT0ekCBBCtJW2KwAyuPivwER0RrVa/ZnneUcBOBjALAdxf6iU+oyDOHXTWp8K4FgHoZ4loguI6Dxm/gwzH+IgZhqkCBBCtI22KgAcL/7PArDdzd9IH1VKnduMibXWRwA4pxlz18nl36UUAUKIttA2mwBrjX0uhJvF/8o4jhcA+LGDWGlrxgmAFZpx/LAuRHQxEa3HzJc4CikbA4UQbaEtngA43u1/pe/7BxFRBQDCMHwPEZ0DIK3mP4l4nlcsFotDzZjbGNPDzBGy+XM0TEQf933/MmBqs6XW+gIiSnRZ00rkSYAQoqW1/BMAY8yBAC6Dm8X/577vH7hi8QeAIAiuBrA1M//JQXzXHmnW4g8Atf4D/2rW/KtT+7vacsXiDwBEVFVKHQbg546mkScBQoiW1tIFgOvH/r7vH0pE1Zf+C6VUv1JqNwCfBjDhYC5Xrmx2AgB+vfZf0jAVAF9TSr1VKdX/0n9JRFXf9w+R1wFCCJHNR7fTkuZj/zUpl8vbeZ53KYBEd9o7EFYqlS3mzZu3rKlJhOErieifAArNzAPAEwAOUkr9eW2/UF4HCCFEiz4BSPux/5qUSqW7q9XqtgDOdzC3rUlmPqLZiz8ABEHwNBEdDeBlT04a6PxqtbrldBZ/QF4HCCEE0IJPABwf9fu57/uHrOqx/3Rord8H4CwARQe5TNcyZj4oCILfN3DOtTLGvIOZL4BdO2NbEYD/U0pdZTOYmXPGmIsBfNBRPvIkQAjRMlrqCUCWFn8AqC08WzVggyADuJuZjx4bG1uctcUfAHzfv2F8fHwDZv4kgPvTnq/2Z76V7eIP/G9PAORJgBCiA7XME4CsLf4rq71TPp6Ivgagy0XMWtx7iehiz/OuLhaLT7qK2wjGmNfWbvQ7EMACh6EnmflEpdQpLv/+5EmAEKLTtEQBkOXFf2VhGG7ved6lzLxRgjAjzHwpM59bKpXucZZck9QW17cQ0cHM/F4A69jGIqJ/x3F8UBAEf3OYIgApAoQQnSfzBYDj3f5X1bPhz0Z/f//sOXPmfBfAp+oc+gyAs3O53GkrN8ZpJ7WLgw4D8BkA69czlogurlQqH+/t7X02leQgpwOEEJ0l0wWA42/+l/u+f3Aa3/xXpY4Ngo8R0deLxeIVaRYmWcLMXVrrAz3P+/I0npYk2uhnkVvOGHMJgA84CilFgBAikzJbAJTL5Xd5nnc1WnDxX0FrvR6AkwB8CC9/gnE/M/9AKXVpo/PKCmbOa60PIqLjAGz5kn89CeBCTF3s898G5+W0CGDmo4Mg+ImLWEII4UomC4Bly5bNy+fzj8FNP/imLP4rW7Zs2bxcLrcDES1m5qFcLndfsVi8r1n5ZFEURVtXq9WtiagQx/HjcRz/tZn3HLgsAph5PJ/Pb14oFP7jIDUhhHAikwVAGIbfJaLPOwjV9MVftC6XRQARne77/icdpCWEEE5k8h4AItrXQRhZ/EUitXsCDgZwedJYcRzv7SAlIYRwJnMFADMTgFcnDCOLv3DCVRFARIsdpSSEEE5krgBw4D5Z/IVLKxUBSfZtZKmLpBBCZK8AICJGsh7zr9Va7+YqHyEAoPYz9Vrb8UT0oMN0hBAiscwVAADAzL9KMNwjogtHRkYa2ZRGtLGRkZGAiC5Esv9eGnKPgRBCTFcmC4A4jn8EYCRBiAWVSuVcV/mIzlb7WUrSz+DpSqUi9wAIITIlkwVAb2/vUkxdF2uNmfc1xvyfo5REhzLGfIyZk5xKYSL6vzSvMBZCCBuZvAdgBa315QDenyDEGDNvGwTBI65yEp1jcHBwo1wudy+AdROE+aFSKlExK4QQacjkE4AVPM/7GICnEoSYA+AyZp7hKCXRIZi5K5fLXYZki/+DY2NjX3KVkxBCuJTpAqBYLA55nncIAOsjfUS0jTHmWw7TEh3AGPMdAK9PEGI5ER24cOHC513lJIQQLmW6AACAYrF4KzN/P2GYz4RhuLuThETbi6JoVwDHJonBzJ/1ff9+RykJIYRzmd4DsAIz540xtwN4Q4IwA11dXVt1d3eHrvIS7WdoaKhYrVb/AWBhgjBLfN9/e+1OC5Gycrk8t6urKx/H8VwA8DxvFAB6enrGiGi8udkJkV0tUQAAL2zIugfAXNsYRPQr3/ff7TAt0Wa01lcCeF+CEIPVanWr2kkWUQdmnjE0NLSAmV/JzPOZ+ZWe581n5gUAXoGpo5hzMNUlNLfS/05HBCAEEDKzJiINQAN4BkBfHMdPzJw584nu7m7t/DcmREa1TAEAAFrrIwCckyQGEX3M9/2zHKWUacycL5fLi/P5/CbM/Boi2oCZ1wWwDoAipja4EYBRInqWmZcDGMTUB+LjuVzu8eHh4X8vXrx4eRN/Gw1TO/L30wQhmIje6fv+Dc6SakPMPCOKok2YeTMAmwNY8b8bAcg3Nbmp+0eeAPAoM98P4IF8Pn9/oVDoa25aQrjXUgUAAGitrwBwQIIQbXs0cHh42J+cnHyz53m7MfOuADYBkPQExCSA+4joTgB/qVarfyqVSgOJk80YR0f+TlNKfdpVTu2AmckYsxkR7RzH8c5EtB2ysdDXawTAAwDuAnBHHMd3lEqlZ5qckxCJtFwBUHtHex+A9W1jMPO9SqkdiKjlG7QMDQ0trlarhxDRvsy8NdLf2MkA/kZE11Qqlat7e3uT9G3IBGbuMsbcgWS7/h8cGxt7fafv+q/9WW4LYGciehMz7wRANTuvlPQR0e0A7vA87+ZCofB4sxMSoh4tVwAAQBRFu8Rx/AdM//3fqnxfKfU5Vzk1kta6G1PvqQ8F8CY09+/xLgA/HRsbu7xVFz+t9fcBHGc7npnHPc/bvlN3/Y+OjpYmJibeSUTvZOa3YeoVUyd6FMCNAJaMjIz8qVNenYnW1ZIFAACEYXgyER2fIETMzHsGQfA7Z0mlbHR0tDQ5OflpZv4EgJ5m5/MSBsD5cRyf2kqvCKIo2rVWTFo/OWHmTwZBcLrDtDKvXC5vnMvl9q1dk7wDkhXj7WiMiH4H4Cpmvk4plaS3iRCpaNkCoPao8XYA2ycI0xJHA8vl8gLP8z4L4Ehk/9vV8wDOmDFjxslz584tNzuZNZEjf/UZGhrasFqtHoapp0+bNDmdVrIcwI1EdOXExMSv58+f/1yzExICaOECAADK5fImnuf9HQkWxSwfDWTmriiKjmXmryL7C/9LjQL4nu/7p2T1LLYx5tqEjX6WVSqVrebNm7fMWVIZMzAwMGfGjBn7AziciHZBi39mZMAYEf0SwDm+79/W7GREZ2v5/5iNMUcyc6JjfUS0T9aObtX2OfwEwBbNziUJIvp3HMdHZe1VizFmH2b+dYIQTETv8n3/emdJZUi5XN7W87xDARwMwG92Pm3qMSL6WVdX18+y/rRMtKeWLwAAQGt9NYD9EoT4m1IqyS2DzgwMDMyZOXPmjwEcjjb5+8HUyYHzqtXqsVlpi6u1vgvAdrbjiej/+b7/KYcpNR0zzzDGHIypVtybNzufTsHM4wB+kcvlflAsFu9tdj6ic7TFAuPgaCDncjlVKBQil3nVKwzD1xDRFQBe28w8UvQoER3Q7N3yw8PDfqVSCWH/8//Q2NjYdq166uGlyuXyXM/zDgfwWQDrNTufDncHEZ1cLBav74R9JaK5Mt8MaDoKhULEzIcDiC1DULVa3dRlTvUKw/BDRHQ32nfxB4BNmPkvYRge1swkan/Xtov/ciL6QDss/mEYvlJr/T3P8/4L4EeQxT8LdmLm64wxD4RheBgzt9qFSaKFtEUBAABBEPwewLm24z3Pa8rOXGYmrfVJRHQBWm+jn405RHS+1vo0Zm7Kzx8RjSUYfqbv+w84S6YJoijaQGv9MyJ6HFPf+rubnZN4mc2J6Pwoih42xhzMzHLMUjjXFq8AVtBa/wVTZ5LrNZHL5eY3+hUAM+eMMWcCOKKR82bIL0ZGRg5p9IUptVcASwF0WQy/Xym1leucGqH2+/4igE8AmNXsfOpgAAwA6AewDMAEgOeYeQLAs57nTWLq1EllpTEFABTHcR5ANxEpIlLMrDB1M2EAoLeRv4mEHgZwku/7vyAi2yedQrxI2xQAxpidmPl2m7FEdK3v+0k2EdatttnvSgDvaOS8AMYADAF4johGAICZ18HUgjAfjV8Ybh4fH3/3ggULknwrr1uSI4BEtEsrHeHq6+ub1dPT80lm/gKmmkBlzSSAxwD8k5nv9zzvCQD9lUrlmfHx8afTet3S398/e/bs2Ys8z1sEYBEzL641zdoSwKI05nTgH8x8XO2JpxCJtE0BoLW+CsD+lsP3Ukr91mU+a1LbbX0DgN1TnmopgD8y8x2Y2oD3qFKqfw15kdZ6QS6X27BarW5NRDsA2BnJLsqZjiW+7+/byN4MWus9ANj+nV+ulPqgy3zSwMye1voQIvoG0v87nK5RAHcw8z88z3uAiP5ZKBQezlpfDmNMD6b242zJzNsB2BEZuvyIiH5VqVQ+29vb++9m5yJaV1sUAGEYvpKInoTFdaTMfG8QBK9LIa3VzecZYy4D8P6UpniMmS8iomuUUg+5CGiMeS0z74epG+DSOh72C9/3P0BE1ZTiv4wx5u/MbPN3P1GtVjfo7e1d6jwpR8IwfD2As4homyanMgrgNiK6JY7jPyml7iGiylpHZdDo6GhpfHx8RyLaCcCumDpG2rR9VLXjg6cR0bfkqmFho10KgC8S0bcsh39AKXWF04TWwBhzeu0uf5cqzHwFEf1EKfUXx7FfxBizMzN/HMB7kbzV8Eudo5Q60nHM1dJavw/AlTZjmfkrQRB803FKidWO9H0TU+/5m7FxjAH8lYiujeP4j6284K/NyMhIUKlU9ozjeG8AexBRqUmpLAVwjFLK6mdZdK6WLwCYmaIoeoyZN7IY/rjv+5s06gPKGPM5Zj7FYchJABfkcrmTC4XCfxzGXataG+ITMXVTnLOFhpmPDoLgJ67irWWunDHmIQAbWwx/3Pf9jbJ0VrtcLr/L87zT0fjH/VUiui2O46trT57+2+D5m672ZG8HAAdg6lXkKxudAxFdx8yf6MQ/f2GnZQuAcrk8l4g2BfBWIvq2TQwiOsr3/TMdp7ZKtW/OfwTg6lzvbUT0cd/3/+konhWt9WYAzsRUW2IXJonoLb7vW23orJfW+ggA51gOf6NS6k6X+dioNYv6MaaeyjRKDOD3AK6aMWPGtXKV7f8wsxdF0U4ADmDmA9DY0wYjRHRCsVg8S04LiLXJfAFQ2zD3agCbYer984r/fQ2SvX9bNjY2trgRF7qMjIwEk5OT98LNRSsjzHyMUurCrHz7ZGYyxhwB4Ptwc6Z8abVa3aYR79hrXSX/A7tvzacppT7tOqd6hGF4KBH9GI1rD72UiM73PO+cQqHQ16A5W1bt82tfAB8F8FY0bs/ArZ7nHVosFp9s0HyiBWWmABgYGJjT1dW1KRG9sMjX/v9FSCfPryulTkwh7ovUXlFck7Dr3IpY98Zx/P7e3t5/ucjNtcHBwVfncrkrAWydNBYzXx8EwTsdpLVWCfaQLPV9f71GblxcQWvdzcxnENFBDZiOMfVt/2zf968loskGzNl2hoaGXhXH8UeY+Qg05qnAcO0p4WUNmEu0oIYXAGv4Rr8JGrhpKY7jTUql0mNpz5PwEfPKzh8ZGfl4oy/NqVftbPXZRHRw0lhEdLDv+5e6yGtNBgcH5+dyuadgcTEQM7+t0Z0Oazv8f05EG6Y81RiAc6rV6uly3Myd2r0MhzLzZ9CAo4XMfKnneZ/wfX847blEa0m9ABgcHNwon8/vD+ANALZg5sVozu7klf1FKbVj2pOMjIyoycnJRzF185g1Ivp2sVj8clYe+a9N7T6B7xDR5xOG0tVqdYtGvAowxvyKmd9V7zhmPjMIgqPSyGkVc1EURZ9l5m/C/QmMlY0y8xmVSuXU+fPnD6Y4T0djZi8Mw308z/ss3O2hWZ0nAByY9ikh0VpSex81MDAwJwzDn+ZyuUeZ+TvM/O7aTv1mL/4goksaMc/k5OR3kXDxB3Cs7/tfapXFHwCIiIMgOIGITkgYSuVyue84SWot4ji+0Gac53mvd53LqixbtmyeMebG2imStBb/CMDX8/n8oiAITpDFP11EFJdKpeuUUrsw8+4A/pzidIsA3BKGoesjyKKFpfIEoK+vb9bcuXOXENGuacRPaKKrq2tBd3e3TnMSrfUbAdyOBEVWVs+a10Nr/Q0AX04QokpEr0u7hXB/f//sOXPmDAJYt55xRPRv3/dfnVJaAIAoiraJ4/g6pNetb5iZTyGi0+VCmeYyxuzNzF/H1CVDqSCii5577rmPtUNHS5FMKk8Auru7v5nRxR9EdGPai39tnm8j2Z/vj1t98QcApdRXAJydIESOmU92lc/q1D4Mb6h3HDOnevwtDMP3xHF8G9JZ/GMA50xOTm4cBMG3ZfFvPt/3b/R9f3tM3SfwRBpzMPOhs2fPvmNoaGhxGvFF63BeAAwODs5n5qNdx3UljuPz056j1pjozQlC3OT7/rGu8mk23/c/iWSPN/cql8tvdpTOajHz5RZjUmkKxMwUhuGXiOgXSKdN9K2e522nlDpSHvVnCxGxUuqqkZGRTZn5ywCctyonom2q1epdURTt4jq2aB3OC4BcLrcPEc10HdcFIvq3Uur6tOdh5i8lGD4wOTl5SDtd4kFEE3Ec74+pVq5WahulUlX72XiijiGTcRy7OOHxIn19fbO01pcQ0Tfh/jXdkwAOUErtWiwW73UcWzi0ePHi5UEQfIuZN2HmSzB1HNMlVa1WbzLGHOg4rmgRabwCeE0KMV2oAvhU2me2y+XytgD2thwee553YDt+IyuVSs8wc5Ld8nuXy+VUj0zVroQ+ElM/K9PxTdfH4wYHB+d3d3ffQkSuP5SrzHzy2NjYpkqpqxzHFikKguDpIAgOAbAngMddxiaimcx8SRiGSb60iBaVRgFQ1yaqRqh1zTrK9/0b057L87wkrz/OKxaLf3KWTMYEQXANgJ9bDveI6BiX+ayKUupmIjoUwNo2SP3Q9/1vuJw7iqJFnufdjqkjsy49zMw7BUFwQjtv/BoYGJgzNDRUHBoaKjJz3Xc6ZJ1S6ubx8fEtAZyK6Rep00FE9E2t9Xnt+OcmVs/5KQCt9ZkA/s91XEtjAJYA+KpS6sG0J1u6dOk6XV1dzwCYazE8zOfzm/T09BjXeWVJ7dKdf8GuUHxucnJy3vz5852/E32pcrm8CRF9hYjeA2B27R9Xieg2Zv6OUuomx/Nt7Hne7+C2kU8VwKkjIyNfzfoFUraGhoY2rFarxwPYF8C8VfySSQAaQMjMmog0ET3NzH3M/EQul+uL4/jxVtsAWS6Xt/M87yIAm7qMy8y/Hh0dPaBdf17Ei7VTAfA0gIcAPEREDwF48Lnnnrunkd94jDEH1d7V1Y2IPub7/lmuc8oirfVXAXzNcnhD2zczc94Ys4nneV3j4+P/SqP4qDVUuhnAAlcxmfk/uVzu8GKxeKurmFmjtf4wM//U0Z6jJ5j5Ac/zHmDmfxDRnb7vP+Ugbmr6+vpmdXd3nwzgk3D4WU5Et1Sr1XeVSqVRVzFFNrViARBhaqF/EMBDzPxgpVK5PwvvzbXWvwWwh8XQ/lpr2QnXOWVR7UnJ47C7D/0apdR7XOfULLVvckuQ/MKolZ0zNjZ2TDs/7jfGfICZL0O6t5n+F8AdzPxnz/P+0OzOm6tjjNmHmc+D2/4CtxPRPnJ9cHvLcgGQ2YV+VUZHR0sTExPPwOKmQ2b+ZBAEp6eQVmZprU8CYNOMaTmAea32yHZVai2ib4CbDooA8DwzfzwIggscxcuk4eFhv1Kp/AdAocFT9wNYwsxLmPnmLH1DXrZs2bx8Pn8ppjoOunJ3V1fXXo24N0U0R1YKgBjAj1Bb8Ino4VarPLXW7wNwpcVQMzY2tl47f1tblWXLls3L5XJPWj6+3V8p9UvnSTWQMeZNzHwj3J3xf9zzvP074Wif1vo4TLWebqblAG4EcMXk5OT1jdiXsjbMnNNaf5uIPgdHn+1EdA+At7Ta57GYnkb1pl6bilLqOKXUeUqpO1vxh42Z32I57vJOW/wBYN68ecuI6BqbsVm9ZXK6jDFbMvOv4G7x/00ul9uuExb/mt2bnQCAWQD2A3B5V1fXYBiGl5bL5d2YuWkt1omoGgTB54loXwBOPkOZ+XXMvGRwcDBzp7tEclkpAFoeEdk+erNqQtMOmNlqMx8zt+ztZUNDQxsy800Aig7CMYCv+r6/T6FQiBzEaxXONks6MoeIDvQ87w/GmEeNMccvXbrU5fv4uvi+/2tmfiOAfzkKuUMul7u2r69vlqN4IiOkAHBAa70egLobwjDzf4Ig+FsKKbWE0dHRJQBs3uVvOTQ05GIBbailS5f2VqvV3wCY7yDcBBEdrJT6Rit1inSk6Y/b1+DVzHxyV1dXvzHmIq315s1IIgiCh/P5/A4AXJ0CeWt3d/evmDmTt7wKO1IAOEBE21gOvdlpIi1m8eLFy4noDxZDvcnJya2dJ5QiY0xPPp9fAmBjB+GeBbCv7/uXOYjVih5odgLTMIOZDwHwgNb6emPMzo1OoKenx/i+v0fttIQLexhjLmjmaw7hlhQADjCz1RW1RPR717m0Gma2uvnQ8zzfdS5pGRgYmMPM1ycoFFf2jOd5uyilljiI1ZLiOLa9TbIZCMA7mPk2rfWSMAy3b+jkRONKqYMddtT8gDHmJEexRJNJAeCGVf+Drq6uWxzn0XI8z7MtAELXuaSBmWnmzJkXAnDxDfDRXC63Uwdt9lulUql0CyxaN2fAnkT01zAMr2vkqwEi4iAITgDwWbhpKPSVMAw/5CCOaDIpANywKQAGuru7W2IRS1OhUPgHgKX1jGHm8Uqlck9KKTmltf4CgP0dhLpzr2rGAAAgAElEQVS7q6trp0Kh0OcgVsvL5/OHAri/2XnYIKJ3ArjPGHP6yMiIywug1kgp9QMiOgpTx66TICI6OwxDq5NPIjukAHBjI4sxjzjPogURUczMdZ2EIKLLs3QJy+oYY95ORC4aBt2Xy+X2kAtZ/qenp8dUq9WdmPlMAJVm52Mhz8yfmJycfCwMw08yc90XiNnwff8sZj4Myf/MZhDRL8vlsos9LaJJsnIR0IRSqmV3l4ZhuLzeC22Y+YwgCD6RVk6tJIqiQhzH9wBYPI1fHgLYRin135TTSmRwcPDVuVzub0h+W90/u7q6dpOnRatXazC1N4DFzBwQ0YrFtIeZ1yEiH1NXLZcAZHXvyF1EdITv+w15qqG13h9TnTnzCUM9WK1Wd+jt7X3WQVqiwZL+5Xc8Zp5hjLEpXp5xnkyLKhaLQ1rrfTB1s9r6a/ilIYB3tsDiv24ul7sGyRf/x+I43kMW/zXr7e1dCuD86fzaWh+KRUS0mJk3BLAFgK0AbA5gTopprs3rmfluY8wpw8PD30y7G59S6hfGmFm1p29JngRvns/nL2bm93TgcdSWJ08AEhoZGVGTk5N1f0Az8zFBEPw4jZxa1ejoaGl8fPxrRPQhvPjDeDkRXcnMX1ZK9Tcrv+lgZjLGXImE7/2J6N/VanXXUqk04Cg1sQbM7EVRtBmAHQHsFMfxTkS0YZPSeZCIDmzE0wCt9eEAzkXyteBzSqlmX88s6iQFQEJRFC2K47jujVnM/OF2b9piq7+/f/Y666zzujiOS57nhRMTE/dm4a716TDGHO/gyNUTAHbJerHT7oaGhjasVCp7EdHeAN4CYHaj5mbmcSL6gu/7P0r7m7Wj3gqVOI73KJVKf3SRk2gMKQASCsNwUyJ6qN5xtQq/lc4zi7WIomibOI7vBDAjQZhhADsqper+mRLpGRwcXDefz+8D4P3MvBemegE0wk0zZsw4eO7cueU0JwnD8LtE9PmEYQa6urq2kldWrUNOASSUz+cnLIe6agErMqCvr29WHMcXItniX61d7yuLf8b09vY+6/v+5b7v70dE84no48zciPsY9piYmPh7GIavT3MSpdQXmPnShGEWVCqVc50kJBpCCoCEKpWK7WadHqeJiKbq6ek5BcCWSWIw8zG+71/vKCWREt/3h33f/2kQBK+L43g7ABcAsP0iMB0LAdymtf5oWhMQEY+Ojh4B4I4kcZh5X2PMkY7SEimTAiAhz/Nsj79IAdAmtNZ7MPPRCcOcFgTBT5wkJBqmVCr9XSn14TiOFzHzdwGk0pWxdsz4bGPM/0vrzoDFixcv7+rqejcSdhFk5lPL5bLV9eiisaQASMj3/WEAz9c7jpmb1i5UuFO7ye18JNtPc4Pv+8c5Skk0QalUeiYIgi9Uq9X1iegEAENpzMPMRxtjbtBap/IKsbu7O2TmfQEkuWhrnVwudykzyzHzjJMCwI1lFmMSPS4W2TA5OXkmkvWnfySO4w8SUdVVTqJ5ansFTs7n8xvWToOkcZ5/TyL6Q7lcfkUKsREEwcMADkeCvgHMvG0URZ91l5VIgxQAbjxlMWYLZpY//xZWLpffhQTn/Zl53PO8D7bCtcaiPj09PabWgGdjIroYbprwvICZt/U8789DQ0Op3FWglPoFEh4NjOP4pDAMrRqlicaQBciNRy3GrBOGoU0PAZEB/f39sz3P+1HCMMcVi8X7nCQkMkkp1e/7/qFxHL8VwGOOwy+qVqt/TOs+ft/3vwjgD7bjiWim53k/ZWbnx82FG/KOxg2rxj5E9Aa4/1BoK8w8o1wur+953iIiWgTgFQAUMysiUgC6MNWYZB1mZgBDzPw8ES3H1Ias5Zg6W/9kHMeP5/P5xwuFwn+TPnKfM2fOFzG93gWrRETXKqVk01+HKJVKf+zr69uqp6fnK8z8OUz93Lqw0PO8W40xb/N9/wFHMQEARFQZHBw8yPO8+4moZBODmd9sjDkCwDkucxNuyEVADpTL5Td7nmdzA9ZVSqkDnCfUooaGhopxHL8xjuNtiGgrAK/FVKdF17ueJwA8CeA/mGrC8hci+kuxWJzWxq3BwcFXe573QL0NoFbSn8/nt+7p6TGW40ULi6JoqziOL8VU/wFXBpl51yAInHcZNca8k5l/Bfv1YmhycnKT+fPnD7rMSyQnBYADtQYjQ6j/icqzIyMjpbQbf2SVMaaHmXcHsAeAnQBshhR+JqcpBvAwgD8z8x1xHP+21mTmZbTWSwDsaTlPhYh2833/dttERevr6+ubNXfu3JOI6HNw9yr26Vwut0uhUHjcUbwXhGF4BhEdlSDEOUopuR8gY6QAcERrfS+AresdR0Rv933/xhRSyiSt9UIA7wOwL6Yar2T1NVQM4HZm/iURXb2iA2GtjepVCeJ+Qyn1VScZipZnjHkHM18MoOgo5OPMvEsQBE87igcAGBgYmDNz5sy7AWxqGaLqed7ri8ViI25PFNOUlU2AFEVR0tapzfY7m0HMfIjrRLImiqJCGIaf0FrfgalH7z8AsAuyu/gDU/9t7EJEpwF4Smt9R61pyqkJYj7i+/633KQn2oHv+zcQ0dYA7nIU8lVE9FvXn6cLFiwYY+YPAbDdO5OL4zjpplnhWFaeAKwQAXgIwIMAHmLmB6vV6gPz5s2zOWffUGEY7k5EN1sMrRDRhr7v2xwlzDSt9Y4AjgRwABrYSS2j2PO8NxeLxVubnYjInv7+/tmzZ88+l4gOdBTyJt/39yGiSUfxAABa6x8A+EyCEAcopZI8QRMOZa0AWJ3MFwbMPNMYswx2V/x+Xyn1Odc5NQMz54wx7wFwHIA3NDufDDlXKZXaXe6i9TEzGWNOBPBVuPls/plS6iMO4rygtt/pAdifgHnC9/1NiCjN3glimlqlAFidlxUGcRz/c3Wbt9KmtT4fwGEWQ4eJaIPatcItiZnzxphDAXwZCY7HtalluVxu00KhkMo98aK9hGH4ISI6G8k6S67wGaXUDx3EeYHWeg8Av7UdT0Sf8H3/DIcpCUutXgCszlJMFQW3MvNVtastU6e13hPAEsvhpyqlWu4+eGb2oij6IDOfCODVzc4noz6glLqi2UmI1mGM2ZuZf4nkr84qcRy/rVQq3eIgrReEYXgJER1kOfzpkZGRjTr19FOWtGsBsDJm5rOY+fi0r1xlZs8Y8x8AiyyGV4joda4v80iTMWYnZv4RgO2anUuG3aiUenuzkxCtJ4qiXeI4vh7A3IShBgFsu+IkiwthGL6SiB4FsI5liGOVUrIpsMmycgogTUREH/M87zd9fX2zUp4oZuZzLYfnmfknrXBt5uDg4Hyt9WXMfBtk8V+TKoC22NshGq+2YXQvJOvMBwC9AK502Z0vCIKna+2PbZ2wdOlS2+JBOOK8AGDmVNpgOrBzT09PouYW01GtVs+FfQewN0VRlKWnJy/CzKS1PjyXyz0E4INo3qU9reIipdSDzU5CtC6l1J+JaG8AzyUM9UZjjNP7J55//vkfYOpYr415M2bM+LjLfET9nBcAnudltrkJMx9pjFk/zTnmzZu3jJnPtx3PzD+uHZ/LFK31esaYmwCcB3eXlrSz5QBObHYSovX5vn8HgP2YeTxhqC+Vy+U3O0gJALBw4cLnARxvO56ZP83MLjY6Cktp7AHoxlRVmNWLfU5USn09zQmiKNogjuN/wb7hx5NdXV3bdnd3a5d52dJavw/AmQD8ZudSM4Gpb0RR7X+fA/AsgEkAXUSUB9DNzCUAJQCpvvpZjbY52imywRhzIDNfgmSf208Q0dauThwxM0VRdBczb2s5/rAgCC50kYuoXyqPcLXWxwDI6gaP+5VSW6U9iTHmdGb+hO14Ivrjc889945ald0UfX19s7q7u08H4PQscR2ewtQxz0eI6NE4jh9j5kdKpdJAPUGMMT1E9Ko4jjdi5o2IaBsA2wJ4VRpJAxjK5/MbSrMf4VoYhl8mom8kDOP0Xv7adcbXWw5/wPf9rYiIXeUjpi+VAqB2ocVZADJ58Ukcx5uUSqVU2/COjIwEk5OT/4bdxUAr3DwyMvKuZhyXiaJoA2b+pW1lb+kZZv4DEf0hl8v9sVAo9KU52fDwsD85OfkmInoLgLfCUXc2IvqC7/tJNkgJsVpa6/MAHJ4gBMdx/BaXRwO11n8G8EbL4XsrpWyPT4sEUtvEVSsCjgDwdQDz05rHUuqvAQCgdnd80o2Hv/F9f79G3pxVa2/8CwCqAdM9XGuGck0arUzrEUXRojiO3wPgPZj6MLPZI/Pk+Pj4ZgsWLBhzm50QU5i5yxjzR0x10LT1r7Gxsa1cPWFMcBU6APxOKfU2F3mI+qS+i7t2Re4umPpA3bz2fxvD/v24C0/4vr8hEcVpTsLMea3132qPnJP4fVdX1/sbsScgDMNDiOhcuLmFbLXTENHP4zi+OAgCV01QnBoaGlpcrVYPw9TNjtPdOFoB8HallO0HoRDTorVeD8DfMXXEzwoRfdv3/S85zOk2ADtbDOU4jjctlUqPuspFTE9TjnExc354eHj9OI43x1QP+M0BbMbMm6NxG7b2VErdlPYk5XJ5W8/z7kTyzndPeJ63X7FYTO2Uhdb6qwBOQno/F/8A8B3f969plbvAazcdviOO4+OIaNc1/NJRAIcrpX7RqNxEZyuXy7t5nnczgJzNeGYez+fzmxUKhcdd5BOG4b5EdK3lcNk02wSZOsfNzDOiKNqYmTcDsAWmioMtAGwIx61jieha3/f3cxlzdcIw/BIRfdNBqDEi+ojv+5c7iPWC2uuaHwA41mXcldxJRN8qFos3tPJmn1oxdxSAd+N/r0eeYeZrc7ncKcVi8YnmZSc6kTHmW8z8xQQhrlZKvddFLrWbUB8CsInF8EHf9xe2yheDdpGpAmB1mLlreHh44cpPDGqb0zaBZfULgAFs2YiLWmrfIn/PzG92EQ7A8UopJ5ca1f6jPQPpXN/8Z2b+ShAEf0ghdlMNDQ0VmZmLxWJWL74SHaDWhOs2ADskCLOHq9dWxpgjmfksy+HSKrjBWqIAWJ3a/oLdANxoGeJCpdRhDlNarcHBwfm5XO4uAOs5CBdj6l2zdUcuIL3TGsxcxlSRcmErf+MXohUMDg6+OpfL3Qdgjs14IrqnWCxu5+K/1drR4SdhtzfhJqXUnklzENPX0r0AiGi8dnzkr5YhDoyiaAOXOa1Ob2/v0jiO9wPgYtetB+CUpEGMMT+E28U/BnBWV1fXa4IguEAWfyHS19vb+y8iOsl2PDO/Tmv9bhe5LF68eDkRnWM5fHet9UIXeYjpaekCYCXnWY7riuP4M04zWYNSqXQ3gEMw1SQmqddqrTezHay1/gaAYxzkscJDzLyjUupjcgGOEI1VLBZPJaK/244nom8ws5P1wPO88zD1ZaDuoQDe5yIHMT1tUQDEcXw57DtmHTE6Olpymc+aKKV+CeAoTL3LT4SIrG401Fp/BMCXk86/Uh4XV6vVNwRBYPskRgiRABFVieijsP9ysXkURe93kUvtAi/bfT9OchDT0xYFQKlUGiWiCyyHz5mYmGhoVyql1DkAjkPCIoCZ6z4yWS6XdwNwRpJ5V7IcwKd93z+0t7f3WUcxhRAWisXivQBs25GDmb/osB257WuA7YeGhjZ0lINYi7YoAADA87wfwr76/bCrx1/TpZT6IRF9HHaPygAAzFxXK85yubyx53nXwM0lPw8B2E4pdZqDWEIIB2bMmPEVALYnU7YwxjjZhOf7/rW1zcB1i+N4fxc5iLVrmwKgUCj0EZFtQ4oNyuVyw6tO3/fPJKKDMfVNul4jo6Ojf57uLx4cHFzX87yrkaw3wQq3ep63k/S6FyJb5s6dWwaQ5M6Rz7rIo3ae3/ZI3wEuchBr1zYFQFK5XK4R996/jO/7PwewG4BldQ49rZ4mQblc7jw4aHZDRL8aGxvbS86/C5FNIyMjPwHwtOXwt0ZRlPTqcgBALpe7wmYcM29Tu+pYpKxtCgCt9UeZeV/b8czspD+2DaXUnUS0PYA7pznkzvHx8Wl3m9NafxQOqmoiuqhYLO7fzBbFQog1qx3F+7bt+DiOneyJKhQKt8OuECEAch9AA7RFAVAulzcB8MMEIYaVUk1tROH7/lO+7+8C4FSseV/Aknw+/47pdpsrl8sbI9mfzQrfKxaLhxFRxUEsIUSKisXiuQCesBz+gXK5PDdpDrVma7a9MfZOOr9Yu5YvAJi5y/O8iwCskyDM2Wl3BpwOIppUSh0Xx/H2RHQRgKcw1WFugIiuY+b3+r7/9umes2fmvOd5lyDZnw0AnK2UOl4u9hGiNRDRBDOfajl8Xc/zPuAoD9t9ALszczM7xnaElr4KGADCMDyZiI5PEMLMmDHjNbXNM23FGHM8M5+cJAYRXVcsFt8r3/yFaC1Lly5dp6ur6ykAvsXwvyml3pA0h1qvkWdgcTWw53m7FovFW5PmIFavpZ8ARFG0CxEdlzDMx9tx8R8cHNyImU9KEoOIbhkeHn6/LP5CtJ758+c/R0Q/tRy+fRiGmybNgYhiZrZqNMTMsg8gZS1bAERRVIjj+GLYdwMEgPOUUlY7VbMul8udCWB2ghD3A3h3PScNhBDZUq1Wz8DUa8S6EZGTa3k9z1tiM46Z3+RifrF6LVsAxHF8JoD1bccz83/iOD7WYUqZEYbhewC8NUGIZ5n5/b7vN+1khBAiuVKpNEBEv7Ec/kEXOeTz+SWwuPCMmbdn5pkuchCr1pIFgNb6CCS7M7oC4KBSqWTbPyCzmHkmEX0vSQwi+mgQBI+4ykkI0VS21/K+xhizRdLJu7u7QwB31zuOiGYaY16XdH6xei1XANTuibbd3QoAIKKvtGvjmiiKPgXgVQlCnOX7/uWu8hFCNFexWLwRlhcDxXHspE0wgD9ZjtvJ0fxiFVqqAGDmfLVavRRAkjOqtxWLxUTfkLNqcHBw3TiOP5cgxANjY2Nt+VpEiE5FRFVYXstLRHu5yIGZ77CcXwqAFLVUAaC1/iaAJEdThojo4Np/EG0nl8sdS0S2rY0nieggueVPiLZku9l5h+HhYZtjhC8yc+bMP8Oi+ykz75B0brF6LVMAGGPeRERJG1V8zPf9p5wklDHGmB4An0kQ4se+7z/gKh8hRHb4vv9X2N0MmKtUKrsnnb921Poxi6HzR0dHbb/UiLVoiQIgiqICM18COfK3Wsx8BICC5fD/VqvVkxymI4TIkNotntdZDn+bozSsXgOMj4+/1tH84iVaogCQI39rVrsy81MJQhzb29v7rKt8hBDZQ0RW5/HhaCMeEf3dctyWLuYXL5f5AkBr/RHIkb81iqJof9gXSL9VStk27BBCtIjnnnvuFgDTaiL2Eq9x9Bj+fstx8gQgJZkuAGpH/hJ1smvnI38rMPNRtmPjOP6yy1yEENlU2+Brc7c+LV++/I0OUngAFhsBAcgTgJRktgCQI3/TE4bhawDsbDn8xlKpVPcFHUKI1sTMt9mMI6LEBUDtZlGbTdivSTq3WLXMFgBRFH0NyY78RQAOatcjfysQ0Udh2dWRiL7lOB0hRIblcrnbbcYR0VYu5mdmm9cA68pJgHRksgAwxmzBzEla/ALAkUqpficJZRQz52B5Xzcz/8n3fatduUKI1vTss8/eBWDCYqiTx/BEZHXF+Pj4+GIX84sXy2QBwMzHAsgnCPGzTtjYFobhmwC8wmasfPsXovPU9gHYfAtfz8WFQET0hOW4RUnnFi+XyQIACc6dEtG/q9XqMS6TySoisjodQUT/9n3/d67zEUK0BKvd+HEcu3gK0GcziIjkCUAKMlcAMDMBWJhgfG8ul2v7XaPMTERk1aiDmS+uXQwihOg8Vjd+xnG8UdKJ4zi2KgCYWQqAFGSuAKhZnmBsN4AlWmsXx1YyKwzDbQDMtxjKuVzuYtf5CCFag+VGPBBRki6jAIDnn3/+Sdj1BHhl0rnFy2WuAKh9M7W9MGKFti8CiGhvy6G3FQoFqypcCNH6iOhfNuPiOF6UdO7aHoRyveOISCWdW7xc5gqAGhf96Nu6CCCiPS2HXuQ0ESFES/F9/2lmHq93nMP38HUXAACkAEhBJguAsbGxMwE87iBUWxYBzDwTwOsthsb5fP4a1/kIIVoHEcVEZHMhj3U/lpfQFmMCR3OLlWSyAFi4cOHztQ1uQw7CtV0REEXRdgBm1TuOiO7t6ekxKaQkhGgtT9Q7gJldLcKhxZhC7d4T4VAmCwAA8H3/Ac/z3gLAxYLVDeDmKIp2dRArC3a0GcTMf3CdiBCi9TDzYL1jiGjm4ODgug6mt3kC4I2OjhYdzC1WktkCAACKxeK9nuftDjdFwDpxHN/QDkUAM29nM46IbnGcihCiBRGRzSKMrq6uxE8BmNlq7jiOe5LOLV4s0wUAIEXAatjcy11hZqt7wIUQbcfmMTwqlUrizXhEZNOSGJVKZUbSucWLZb4AAKQIWFl/f/9sADYXctytlBpxnY8QovUwc2QzLpfLzUk6NxHVfQKhNnfd+57EmrVEAQBIEbDCrFmzNgVgsxnG6vYvIUT7sV2E4zhO/C3c5ggiAFSrVXkC4FjLFACAFAEA4HnehpZDrbpwCSHaj+0i7HnezKRzE5FNN0J4nicFgGMtVQAAUgTYdsUiokfdZiKEaFVNfgJgVQDEcZy4+BAv1nIFANDxRcAGNoMqlcpjrhMRQrQmInrWZhwzx0nnZuaqzTgiknsAHGvJAgDo6CLApinGRKlUkvv/hRAAACL6r+VQ23EvsH2U73lekiZxYhVatgAAOrMIsLyN60kiqjhPRgjRkgqFwgMAltU5LAyC4B9J57Z9jVCtVqUAcKylCwCgI4uAugsAIpLjf0KIFxBRzMyn1Tnsx0Rk9fj+JXNbvcv3PM/q/gCxei1fAAAdVwT4FmNGnWchhGhpSqlTAdw5nV9LRPeMjY1938W8zGx1nr9SqcgTAMfaogAAOqoImF3vgDiOpQAQQrwIEY13dXXtQ0R/XMsvvWNycvLtCxcufN7RvFZ3+udyOSfzi/9pmwIAmCoC4jh+G9q4CGBmm/dnUgAIIV6mu7tbF4vF3YnoEAC3Apis/asKgNuZ+cO+7+86b968evcLrInNU0x0dXVJAeBYvtkJuFYqle4pl8tv8zzvZlj+oK1kRRHwjmKx+CcX+SVFRHUXALZHfoQQ7Y+IYgCXALiEmWl4eLjQ09MzXPvnacxXZOZ6h/HcuXPlc8yxtnoCsEKpVLqHmfcCMOQg3DpxHF+ntX6jg1iJMLMHgOodZ3vzlhCisxARFwqFKK3FHwCY2eaLWWR7eZFYvbYsAAAgCIK7mHkPuCkCupn5V8aY9R3Eslb7j7Lu/zCZOXEDDyGEcIGIFlgMe8Z5IqJ9CwBgqgiI4/itcLAngIhKzPw9B2klwsyTa/9VL7Ou80SEEMICM9tcZiYFQAraugAAnL8O2H9wcHC+gzjWiMjmKMxc54kIIUSdRkZGFCxOMjGzy02IoqbtCwDA6esAL5fL7ewipwRsnmas4zwLIYSoU7VatXqNSkQDrnMRHVIAAO6KAGZu6hMAANpiTK/zLIQQok6VSmWh5dClThMRADqoAADcFAGe57l4lWBlcHDQ9l3+otoJAiGEaBrP8za2GUdEW2utbYsHsRodtygkLQIqlcpfHae0VuVyeVut9Vm5XG4AwHYWIWYZY2x23grRcYwxPUuXLpXXZumwKgCY+RAAT2itbzfGHCl/P27Ufaa8XYRh+HoiuglAoY5hf1ZK7ZRWTisrl8uv8DzvAAAfAbBl0nie5705K5cZCZE1URRtFcfx5wHsjf99JvQDuDqO41NKpZK8g3ZAa/0nALs4CDVMRNfFcXyRUur3RFT3zUKigwsAoO4iYIKZdwmCINUnAOVy+c1EdBwR7Q0g5zD0EUqp8xzGE6ItGGM+x8zfxeqfiI4Q0UG+71/fyLzakdb6GQCu91H9k5m/p5T6ORHZHJPuWB33CmBlK70OWNsGk0lmPiKtxZ+ZyRjzDq31HZ7n/ZGI9oHbxR8ANnAcT4iWF4bh0cx8Ctb8WdjNzNdord/fqLzaUV9f3yy4X/wBYAsiutAY868wDI8eGBiQi8+mqaMLAOCFy4JeR0QXYaoBxkvdRUS7BUFwseu5mdnTWh9gjLmHma8HsKPrOVYgonpedQjR9rTW6xHRdC/3ygO4RIoAe0qptC8k24CI/t+MGTOeCMPwS1EUyWfeWnT0K4CXGh4e9icmJnbO5XKvAPBctVq9q1QqPep6ntrCfzARfRHAJq7jr8aJSqmvN2guITJPa/0NAF+uc1gFwMFKqStSSKmtMbNnjHkOwKwGTTkK4LRqtXpyb2+vNBJaBSkAGkxrvSOA02C3m98aM+8eBMHvGzmnEFmmtb4dgM2mXikCLGmtbwDw9gZPO8DMX1JKXZRmk6NW1PGvABpFa71eGIaXArgdDV78ATymlLqlwXMKkXWvsBwnrwMsMfOpTZh2ARGdb4z5qzGm2Te5ZooUACnr7++frbX+CoBHiOhANP6pS5WZP05E1QbPK0TWJXksnAdwqTHmYFfJdIIgCH7PzGc0afrtmPlWrfUVURQtalIOmSIFQIq01nvOmTPnYQBfR3Pu458gog/Jo38hVunvCcfnmPkCKQLqo5T6FIAfAWjG2X0CcEAcxw9prT/d6Tekyh6AFCxdunSdfD5/ChEdheb8GU8C+DWAryilHmrC/EJkXhiGbyWi3zkIJXsCLIRhuH3tM3JfAMVm5MDMf8rn8x8uFAp9zZi/2aQAcCwMwzcQ0YVo3O7+FZYz8+88z/v15OTkr+bNmyftM4VYizAMryOidzoIJUWAJWbORVH0xjiO9yGid6Pxn51jAL7o+/6PO+1GQSkAHGHmGVEUfZWZT4D7S3xWxxDR9XEcXzsxMfHbBQsWjDVoXiHaQhRFhTiObwOwhYNwUgQ4YIx5bRzH7/Q8bz9m3raBUy+pXfj2dAPnbCopABwol8sbE9HlRLRNAxXKzyQAACAASURBVKZjADcz80+VUtcT0aouLxJCTNPo6GhpYmLi93DQcwNAlYgO833/EgexOl4URVtVq9X/I6KDAHQ3YkoiOsT3/RsaMFfTSQGQkNZ6LwCXIf13WMMArgBwmrzXF8ItKQKyra+vb1Z3d/c7ARwJYPeUp2NmPkUp9cV2vzdACgBLzExRFH2emb+FdE9T3MfMPxodHb1i8eLFy1OcR4iOJkVAa4iiaJs4jj8H4P1I8bOXiK6tVquHlkql0bTmaDYpACz09fXN6unpObvWozotDwE4yff9X3TaxhQhmkWKgNYRhuGmnud9gZkPRHr7rh4DsF+7PnWVAqBOQ0NDi6vV6jUAtkppikeI6GvFYvHKdn/8JEQWSRHQWrTWmwH4CoADkM4TgWEiOrgd20FLAVCHcrm8LRHdSESlFMI/wcwnKqUulVv7hGguKQJaT60QOBXAnimErwI4Uin1sxRiN40UANNkjNm51rK3x3HoCoAzqtXql6RjlRDZIUVAazLGvJOZTwewvuPQDOB4pdT3HcdtGikApqFcLu/med51AJz2syaiv1er1f8rlUpJryQVQqRAioDWNDAwMGfmzJnHA/gCgBkuYzPzyUEQnOAyZrNIAbAWWuv3YuqYn8sfooiITigWi+fKe34hsk2KgNZljHltrfmQTdvn1SKi/1csFo9p9Q3aUgCsQRiGHyKi8+B2h+mSSqVymFzVK0TrkCKgdTGzp7X+AhGdhKkujk4Q0UXFYvHwVt6zJQXAatQW//Ph7s9okoi+XCwWv9fqVaMQnUiKgNamtd4RwKUAFjkM+zPf949o1c90KQBWwRjzDma+Fu6qxaeI6EDf9+9wFE90sHK5vK3neQcC2JKI/Gbn00niOC4Q0YaOwknvgAbTWncDOBPAB13FZOZTgiD4vKt4jSQFwEvUqsSbAcxxFPKXnucdUSwWhxzFEx2qv79/9pw5c84A8CHIf7vtQoqAJtBafxTAaQBmOwr5uVY8HSAfIivRWm8O4FYALr5VMRGd4Pv+KQ5iiQ7HzDljzK8B7N3sXIRzFQC7KKX+0uxEOonWegcAvwLQ6yAcM/PhQRBc4CBWw0gBUKO1Xg/AHXBwdpSZxz3PO9z3/cuSZyYEEIbhJ4nox83OQ6TmGc/zNpMnhY1Vu9n1BgCbOghXZeYDgiC42kGshkiziU3LiKKoAOAmuLk4Qnuet7ss/sIlIjqu2TmIVL2iWq1+otlJdJpCodCXy+V2IqJbHITLEdEl5XJ5OwexGqLjCwBmpjiOfwY3FWAfM+/s+/7tDmIJAQAYHBx8NYANmp2HSBcR7dPsHDpRoVCIisXi2wCc7SDcbM/zrh4dHU3junjnOr4A0Fp/EcB+SeMw872Tk5M7BEHwiIO0hHhBPp+f3+wcREO8qtkJdCoiqvi+/zEAP3QQbuHExMRlzJxWh0JnOroACMPwrUT0NQehHpgxY8Ye8+fPH3QQS4gXIaK27UcuXmR5sxPoZETESqnPMLOLjdu7a62/6SBOqjq2ANBaLwTwcyS/5e/RarW6R3d3d+ggLSFe5vnnn38MwPPNzkOkTp4eZoBS6gQiOj1pHCL6vNZ6fxc5paUjCwBm7gJwuYO2vv+K4/gtvb29S13kJcSqLFiwYIyZr2l2HiJdzCwbhzOAiLhYLH6q1kMgUSgA59faFGdSRxYAxpjvA9gxSQxm/g8z71YqlQYcpSXEasVxfCIAaRfdvm5USl3U7CTElNrrgKMBnJsw1LoALq196cycjisAoijaBcDRCcMM5nK53YMgeNpFTkKsTW9v77+J6IOQ98Rth5nLcRy37H3y7YqIuLYx8DcJQ21tjPmii5xc66gCYGBgYA4zn4f/396dh0lW1XcD//5OVffAQM903VvVMywDDFswRlRAEBSNEXCJISKIilFDnqCJGsEtGPV132OiMZtbCImGV42CGBcElxdwZFcJKgiEGRgcZrruvdXTwzjMdNX5vX90YQacnuk6dW6dunW/n+fJkz/sc+63e5q+37rLOf1933PGmLNrtdo6T7GIFiWKoq9ba08GcFPoLOSHqjaNMb/HK4nDSUQ61toXA7itz6ne3mw2j/WRyadSrQSYpunfAXhdn9O8Mo7jz/jIQ+RCVSVJkmOMMSer6gqU7L/jkETkiQBO8zHXwyf/KIp+6mM+yk+r1TrEWnsD+ls2+NYoio4XkR2+cvWrNH84upv8XIv+Pv1/NI7jN3uKREQF0mw2jzHGXAUPe4V0T/7PjKKo30+WNCBpmp6kqt8TkSV9TPPuOI7f5StTv0pRADZs2LB0yZIlPwFwRB/TfDOKotNFpOMrFxWXqlZardaJqvpkVY1FZJO19gf1ev0W3ssdPUmSPElErgQw2e9c/ORfXEmSvExE+nlYc84Yc3ytVvuJt1B9KEUBSNP0IwD6+eS+VkSeGEXRZl+ZqLiSJDmluzHPrpaPvllVX1Ov128cdC7KB0/+tLM0TT8N4Lw+prgxiqInD8MHhZF/CHBmZuZQVe3nvr81xpzLkz8BQJZlfy4iV2DhvSOOA3BNkiR/OMBYlBOe/OnR5ubmXg/gF31McXyr1TrHV55+jHwB6HQ6H+nzns37a7Xa1d4CUWElSfJaVf1H7GH1SBFZIiKfn56ePnxA0SgHPPnTrqxcuXKrtfYcAM4P86nqhzZs2LDUYywnI10A0jQ9EcALXMeLyC1RFL3XYyQqqCRJXtu97L/Y22b7GmPelWMkylEOJ/9n8uQ/OhqNxo9E5J19THHg+Pj4670FcjSyzwCoqmRZ9gO4r/i31Vp7TKPRuNNnLioeh5P/w7bOzs7WV69ezcV7CiSnkz+f9h8xqmqyLLsKwO85TvGgtfbIRqPxgM9cvRjZKwCtVuvF6GO5XxF5A0/+lGXZKx1P/gCwz/Lly3kboECazeYx3Wc8ePKn3RIRKyLnAtjqOMW+xhgfu9E6G8kCoKpLVPUDfUxxQ61W63cNaCq47j3/T6KPK2XW2r09RqIcJUnyJGPMd8H3/GmRoii6r89zzZ+E3CxoJAtAq9V6BYBDHIdbVX2diFiPkahg+rjsvzNtt9v3+spE+eFlf3IVx/FH4f5WQAXAX3qM05ORKwCqalT1TX1McRHf4S43Tyd/ALhh5cqV0z4yUX548qd+dJf27edV83OyLDvIV55ejFwByLLsBXBf8a81Pj4+lLs20WB4PPkrgH6eEqYByLLsd3jyp37FcXyliHzNcfiYql7gNdAijVwBAOD86V9V3zkxMdH0GYaKw+PJH6r69jiOr/QQi3KiquOq+iXw5E8eGGMuALDNcfh5MzMzNZ95FmOkCkCz2fxdACc4Dr8zjuN/9hiHCqTPp/0fQVU/XK/X+3kwiAYgy7LTsfCKjovGkz8BwOTk5FoAn3Icvm+73X61zzyLMVIFwBhzoetYVf2AiLR95qFi8PG0/07eU6/X3+JhHsrf2f1OwJM/7azT6XwYjlcBROR169evH+hbQyNTALqvUjzLcfjaOI7/w2ceKgbfn/zjOOZ9/4IQkcP6Gc+TPz3a1NTURhH5F9fhe++994u8BtqDkSkAAP4Y7n/EP8hP/+XDT/7lpqrOa7Hz5E8LUdUPq+p2l7HGmFf4zrPb4w3yYHlRVQPgJY7D74+i6N985qHh5/OBPwDv4Sf/QnJao4Enf9qdOI7vF5GLXcaq6tNnZmYO9RxpQSNRALIsOxXAgS5jVfXD3fc4qSR48icAUNX/chjDkz/tkTHmQwDmHIZKp9N5me88CxmJAgDA9bJJa9u2ba73a6iAePKnh7Xb7YsB/HKxX8+TPy1WrVZbB+Byx+EvV9WBbNRX+AKQpukyAH/oMlZEPr9q1SrX9zapYHjyp52tXLlyqzHmHAAP7ulrefInB677yRzaarWe6jXJAgpfADD/Ko/TwzwicpHnLDSkePKnXanVateo6jMBrN/Nl91WrVZP5MmfehFF0VUA1rmMVdWBPAw4CgXA9eG/m2u12k+8JqGhxJM/7U69Xr8xiqLDAZwH4FIAPwdwh4h8VVVfHkXRMZOTk/8TNiUVTXdDOdcPmWeqatVnnl0ZyH2GvDSbzQljTAJgvNexIvJnURS5rtpEBZFl2St9verXXeGPr/oR0aKkaXog5q8CVHodKyInR1H0A++hdpJ7w8iTiJwCh5M/gG0i8kXfeWi4dN/z9/XJ/5fdOT/kYS5anFljzG0PPfTQd/fff/9fhQ5D1Ks4ju9P0/QKAL/vMPw5AFgAFiIiz3EZp6qX1mq1Gd95aHh4vuwPAAeIiPNS0+RGVbFkyZIsTdP3RFH0CRHR0JmIeiEin1fVnguAtfY5AN6WQ6RfK/ozAE5L/4qI6+sZVABZlv2Z55M/hRUB+Hir1bp4UK9HEXn0LTisCSAiT2g2m/vlkOfXClsAsix7HICDHIbOGWOu8p2HhkOSJMdbaz8OnvxHjqq+PMuyN4TOQdSLKIo2i4jLpXwRkdO8B9pJYQsA5u+PuLial/9Hk6qOi8i/i8iS0FkoN/8ny7LloUMQ9cJl1UnA/Tb3YhW2AKjqqY5Dv+E1CA2NVqt1CoDfCp2DcrUcbg9UEQXT6XS+7jj0lDxvexWyAHR/IMe5jO3jH4KGnKo+KXQGyp+19ujQGYh6MTU1dReAOxyGxkmSHOE7z8MKWQCazeZhACYdht4+NTV1t+88NBxEpB46A+XPGLNv6AxEDr7pMkhETvQd5GGFLADVatXp0z+ANV6D0FBR1enQGSh/1tpFb+BDNESucxz3ZK8pdlLIAqCqrgXgBq9BaKhYa3NdNIOGg6ryLR4qIqfzj4gc4zvIwwpZAETkWMdxN/rOQsOjXq9fLSI/Cp2DcnVto9G4OXQIol7FcbwewAaHoY9T1Z6XEl6MwhUAVRVVfaLD0F/VarWfew9EQ0NErLX2pQBmQ2ehXGxW1VeFDkHkSkRuchi2d5Ikh3kPgwIWgGazeTjmXwXq1S0i0vadh4ZLvV6/o7uVZs8rb9FQewDAs+v1+u2hgxC5stY63QYwxjzOdxaggAWgWq26vhLB+/8lUa/Xv6qqLwJLQOGp6v8AeK8x5rfjOL4+dB6iPjndhhaRXF4FLOJmQAe7DBKRW30HoeFVr9cvS5LkRd1dH8c8TLlJRM40xjzgYS7aA1W1Dz744KZVq1ZtC52FyJclS5b8944dO3oep6qH5xCneAXAWnuwSO8LI6nqPTnEoSFWr9cvy7LsDGvtVzwsD7xCVS+am5t7RqPRcHmQh4hKbmJiopmm6YMAelrLQkT4DAAAiIjLBkCw1q7zHIUKIIqibxhjzlTV7R6mO9IY8/1ms7m/h7mIqJzW9TpAVVfnkKN4BQDAIQ5jHqrX67x0W1IsAUQ0LFR1ncOw/fLYE6CIBcDlGYB7RUS9J6HCYAkgomFgjFnnMGx8y5YtkfcsvifMk6qOA1jpMHSt7yxUPCwBRBSaqjqdj9rt9n6+sxSqAGRZtgIOmR0vudAIYgkgopBcz0fW2inPUYpVAESk5jiOm8TQr7EEEFEolUoldRw64TUIClYA4LYCIETkV76DULGxBBBRCO12e6vjUKfz3+6UogBYa1kA6DewBBDRoIkIC4ALVV3qMq6PHziNOJYAIhokY4zT+cgYs5f3LL4nzJOIOC3pylsAtDtRFH0DwEvgZ++AI40x352ennZ5W4WIRly1WnUqANZaH0uaP0KhCkAfPwBeAaDdqtfrl3ncQOioSqXyVVXtd/lhIhoxaZo6nY9ExPvS/YUqAK5XAPgMAC1GvV6/TETO8HQ74IQsy17jYR4iGiGrV69+CEDHYWi5rwDA7YcGAN6XUKTR5Pl2wGs9zEFEo8flnOR6/ltQoQqAiDh9MjPG8FIsLZrH2wGrW62W0/bVRDSaVHUMbgva+bgy+QiFKgCuPwBrLQsA9cRXCeh0OnwYkIh+bdOmTeMu40Rkh+8shSoAvAJAg+SpBGz2lYeIim+vvfZyKgCqWu4C4HoFQFW9vz9J5dDng4FZHMd3ew9FREU26TJIRLb5DlKoAtDH+/yx1yBUKq4PBorIJSLSzicVERXR3Nyc67a+La9BULAC0Ol0mi7jVLXhOwuVi8PtgE3tdvv9eWYiouIxxtRdxllrXTcRWjiL7wnzNDY25rSrn4h430aRyqder19mrT0Le15YqgXgjKmpqY0DiEVEBSIiTlcAqtVqua8ALF++fAaAy4MQvAJAXjQaja8BOAHAVQt8yTc7nc4JcRxfN8BYRFQcq1wGWWsz30G8Ly2YJxHRNE2bAA7ocdx+OUWiEorj+GcATpuZmVltrX2KqtZFZBrAD6Ioui90PiIaagc5jLFRFHm/olioAgAAqjotIj0VAFU9LK88VF6Tk5NrAawNnYOIisNae5BIzwsBPiAiPlYnfYRC3QIAABFZ5zBs+ZYtW3gbgIiIghKR1Q7D7vUeBAUsAACc3qvesWPH4b6DEBERLZaqVlX1CIehLABdd7kMUlUWACIiCiZN08NFpOeVaR2vfO9R4QqAtdbpCoCIPM53FiIiosUSkcc6Dv251yBdhSsAxhinKwAicpzvLERERD042mVQp9NhAQCAKIp+CWC213GqeoyquuzBTERE5MMJDmPs3NzcHd6ToIAFQERURG5xGLq82WzyOQAiIhq47gdQlwKwbv/993fdB2e3ClcAAEBVb3YZV61Wj/edhYiIaE/SND0KbjsBunzgXZRCFgAATgVAVZ/hOwgREdGeGGNOdhx6g9cgOylkAahUKk4FAMApXoMQEREtgqqe6jJORK73neVhhSwAy5cvXwsgcRh68MzMzKG+8xARES1EVQ2A33MYOrd169Yf+c7zsEIWABFRAN93GdvpdJ7pOQ4REdGC0jQ9FoDLNsA/XrVq1TbfeR5WyAIAACLyPcdxz/OdhYiIaCEicrrjuIW2HfeisAWg3W5/x2WctfZZaZou852HiIhoAWe4DOp0Ot/1HWRnhS0AU1NTdwNY1+s4EVkiIs/1n4iIiOiRpqenjwDgsgTwtgcffPA633l2VtgC0OV0FUBVz/QdhIiI6NGMMWc5Dr1m9erVD3kN8yjVPCfPm4h8TVX/1GHoc5rN5kSj0djiPRQVUpqmBwK4AMDvAzgEwF5BA1GRKIBpEbnBWvuvcRxf3n1QmQgi8nLHcZf7zvIbx8j7AHlS1SVZlm0CsNxh+HlxHH/WdyYqniRJXi4inwSwd+gsNBKuMMa8pFarzYQOQmElSXKC43v81lq7qtFobPAeaieFvgUgIttV9euOw12uHNCISdP0bBG5GDz5kz/PttZ+Q1V73vedRo7Tp38A1+d98gcKXgC6vuw47oQsy5y2ZqTRsHHjxikAn0XBr4TRUDopTdM3hg5B4WzcuHEfETnHZayIfNV3nl0pfAHYtm3btwG43svnVYASGxsbezWAidA5aGRdoKqV0CEojPHx8ZfDbfMfq6pf8J1nVwpfALqrJDldBVDVP5mdnY09R6LieFboADS6RKSRpukxoXPQ4KmqqOpfOA7/fhzH670GWkDhC0CX68N8++zYseNVXpNQkawKHYBGm4gcFDoDDV6WZacCeIzLWFX9d89xFjQSBSCO4x8C+JnLWBE5f/369XwArIRUNdd3bIkAbA0dgAZPVd/qOHSrtfZSr2F2YyQKQJfrVYCpffbZ52Vek1BR/Dx0ABppKiL8HSuZLMueKiJPdxx+ydTU1INeA+3GyBSAsbGxzwFw+kSnqn/uOQ4Vg+sbJESLcX0URfeFDkGDpapvdx0rIv/gM8uejEwBWLZsWQrgEsfhT2i1Wgf7zEPDL47jSwD8NHQOGknWGPNXoUPQYGVZ9lQ4PlwsIv8viqL/9hxpt0amAACAqn4UgHUZ2+l0jvAch4aciLQ7nc4LAGwMnYVGigJ4c61Wuzp0EBqc7pP/H3Edb639e595FmOkCkC9Xr9dRP7LZayqdnznoeE3NTV1F4DjAXw7dBYaCfcDeGEcx38bOggNVpZlLwBwostYEbk7juPc1/7/jeMO+oB5S9P0JABreh3X6XT2m5qa4ifBEmu1Wk/odDrPFZHVqrpCRP6g1zlE5BZVvSePfAVxLIBDexxjAXwlhyy9qMJtz/bbVfVHIvKAqv5wy5Yt38p7BzcaPt19aW4D4HolOcjeNCNXAAAgTdNrATy1hyHXx3Hs1NxoNDWbzf2MMT2vxS0ifxZF0afyyFQEaZp+EkCva2vsiOM46Lr5zWZzwhgz2+s4EflAFEVvyyMTFUeSJG8Tkfc5Dl8fRdHhIrLDa6hFGKlbADu5EIt/FkABvCu/KERENKpardYhIuL63j9U9a9DnPyBES0AcRz/UEQW1cpV9SNxHPP+LxER9azT6XwCwFLH4fdv27Yt2Lb0I1kAACCKog+p6rkAFtqTeyuAC+r1+lsGGIuIiEZElmV/5PKs0E7e0d3PJohqqAMPQr1evzhN00tF5MWqehKAlaqaAri+0+l8acWKFZtCZyQiouJJkuQAVf1EH1PcFkXRwNb935WRLgAAEMfxLIBPd/+PiIioL6oqWZZ9BkDNdQ4ReYuIBH39fGRvARAREeUhy7LXAXhOH1NcGUXRN33lccUCQEREtEjNZvNYVf1wH1PssNa+zlugPoz8LQAiIiIfuutFXAKgn3UrPtJoNH7hK1M/eAWAiIhoD1TVVCqVzwM4so9p7pubm/uQr0z9YgEgIiLagzRN36+qp/cxhQJ41cqVK7f6ytQvFgAiIqLdSNP0LBG5sJ85VPWTcRxf4SuTDywAREREC2i1Wk8D8Dn0t3fOWlXtq0DkgQ8BEhER7UKWZY+z1l4OYK8+prHGmHPjON7iK5cvvAJARET0KFmWHaSq3wIw2edU76/Valf7yOQbCwAREdFO1q5duxeAywAc0OdU10RR9G4PkXLBWwBEREQ7mZiYeJOqHtPPHKraBHBO6OV+d4cFoAezs7Px3NzcBQDOUNXDRUQB3Angq+Pj4/8wMTHRDByRiIj60F3n/9V9TtMRkZfGcfxLL6FywlsAi5Sm6alzc3N3Ang7gMeKyBLMPxhyNIB37Nix4/Ysy54bNCQREfUlSZIjAezX5zRvjuP4Kh958sQCsAhZlp0M4OsAot18WayqX0uS5LUDikVERJ5VKpWpPqe4KI7jj3kJkzMWgD1Q1SWq+jkA44v48oqI/H2aph9R1X7eGSUiojBm+hi7Joqifm8fDAwLwB6kaXo2gIN7HPbmLMu+ND09vW8emYiIKB+1Wu1OALMOQ38xNjb2fBHZ7jtTXlgA9uxZjuPOqlQqa2ZmZlZ7TUNERLnpnsD/b4/DNhhjnrVs2bIkj0x5YQHYswP7GHt0p9O5KU3TZ3tLQ0REubLWvrv7Gt9izIjIs2u12r25hsoBC8AeiMhDfU4RA/hm97mAMR+ZiIgoP41G4wEReT6AbA9fmgB4bhRFtw0glncsAHvm4x9WMP9cwLXT09OHe5iPiIhyFMfxD40xxwL4TwD2Uf9zB8B/GmOeFMfxdYNP5wcXAtoDa+0XjDFv8jTdCZVK5dYkSd4Sx/E/dBcSIiKiIVSr1dYBOHvLli2N7du3nyQiDRHZVK1Wryva/f5dYQHYg0ajcUuapl8CcLanKZeKyCdardYLpqenXzk1NXWXp3mJiGgnGzdu3KdSqfyWMWavTqdzz9TU1EaXebqrvF7uOV5wvAWwOOcBuNXnhKr6u8aY29I0fXd34wkiIvKg2Wwem2XZV8fGxlrGmFsArKlUKg+kaXprmqbnqirPfWABWJQ4jmcrlcozAFzrc97ucsLvmJiY+GmSJGf4nJuIqGyyLDsoSZLPG2NuUtU/BPDoB6+PBnBRq9X6zuzsbBwg4lBhAVikycnJVhRFpwL4gu+5ReQwEbk0TdPrsyx7qu/5iYhG2caNG/dJ0/RdqnqHiLwU8w9eL0hVnzE3N3fFhg0blg4o4lBiAeiBiGyPouilAP4mp0OcoKrXpGl6aavVekJOxyAiGgnNZnMiy7K/HBsbuwfAOwHs3cPw48bHxy/IKVohsAD0SERsHMdvUtVXAOh3jYBdHgLAGdbaH2VZdlmz2Twuh2MQERXW5s2bozRN32mMWaeqHwbgtIGPiLzKc7RCYQFwVK/X/11Vnwbg/pwOIar6fGPMTWmaXp0kyfP54AoRldn09PQRaZr+TbvdXgfgXdj9Dq2LcVCSJAf0HaygeELpQ71ev6ndbh8H4Ds5H+ppInJZlmV3JUny1mazuX/OxyMiGgqqOpam6Zlpml5VqVR+AeANACZ8zS8ik77mKhoWgD6tWLFiUxRFz1LVtwFo53y4Q0Xk/caYe7MsuzxN07PXr1/fyz0vIqJCaDabx6Vp+tdZlq0D8GUAp2APD/e5GBsb2+R7zqLgQkAeiIgF8IEsy65W1c8DOCTnQ1ZV9XQApy9duvTBJEkuB3CptfbKqampB3M+NhFRLlqt1uNV9YXW2heLyGEDOOQdo7CinysWAI+iKFrTbDaPNsZ8FPOLB3lvq7uwb/e1l5caY7anaXo1gG+KyPdqtdpPudwwEQ2r2dnZervdPkVVTwNwmrX2AAAQGcSfTkBV/3kgBxpSLACeNRqNLQBelabpVwB8FsCqQR27u7DQaQBOU1VkWZZ0C8F1xpib2+32j7r5iIgGSlVNlmVHqerxAJ4E4MS5ubnHI9yt6JvjOGYBIP/iOL6y2Ww+1hjzbgB/gTA/6zqAMwGcaa2FMcamaXo3gJ+JyB0Afg5grareG0XRAyLSCZCRiEbI2rVr95qYmFgN4EhjzJGqeoSqHpll2RMBLBvUp/vdUdUfW2v/QETmQmcJKfy/RAm0Wq3HW2v/CcBJobPsRhvARszvb511//9M0EQBqepSEfkjh6HXArjdd54CORnAY3ocYzF/tSykMQDn9jpIVX8sIjflkKcojIg0VLUBoAFgJTw+oZ+DbSLysc2bN7939erVeazjUigsAAOiqpKm6R+JyPsAHBQ6DxFR3mB+ygAACw1JREFUiaiqXmKMeWsURfeFDjMsWAAGTFXHsyz7c8wvYlHa90+JiAbkBhF5YxRFa0IHGTYsAIHMzs7Wd+zY8UYReQ2G+5IZEVER3Sgi74ui6L9CBxlWLACBzc7Oxu12+w2q+hdgESAi6tc1AN4Xx/FVoYMMOxaAIdFqtSZV9bxuERjYq4NERCPAAvi2iHwwiqJrQ4cpChaAIaOqY61W66xuETgxdB4iomGlqk0A/1qtVj81OTl5T+g8RcMCMMTSNH0sgD8F8DIAceA4RETD4loR+WStVvuKiGwPHaaoWAAKQFWXpGn6XBF5MYDnAVgaOhMR0SCp6o+NMV80xnxpcnJybeg8o4AFoGCmp6f3rVarp6vq8zG/7O/y0JmIiHLy3wC+bK39YqPRuDN0mFHDAlBg3X2yTxaR52K+DPwO+G9KRMW1SVW/A+AqVb2y0Wg8EDrQKOPJYoR01xZ4mjHmd1X1RABHAxgPnYuIaBcUwF2qepOI3GSMuXpycvJW7mA6OCwAI0xVx5MkObpSqRxrrX28MeYoVX0M5tfrJiIalAzA3ap6F4CfAbipUqncXKvVSrvfyDBgASihVqs12el0jgBwoIgchPm9CfYDEItIrKox+GyBgdvPYJOI3O87TFGo6goABzoM/SWA0E9zH4jer5jtAFDaf29gfpF9EWmqaiIiCYAm5v872KSqd4+Njd21bNmyNHRO+k0sAES70Gw29zPGbHAY+rE4jt/gPVBBpGn6egB/2+s4VT2hXq/fmEOkRUvT9FbM3zbrxc/iOP6dPPIQ5c2EDkBERESDxwJARERUQiwAREREJcQCQEREVEIsAERERCXEAkBERFRCLABEREQlxAJARERUQtXQAWjwVLXSarWebK093BizAgVcEEpVd4jIpna7fePU1NTdofMQERUNC0DJpGn6p1mWvQvAASIC1eLuu6GqqFQqSNP0h6r6+tAryRERFQlvAZSEqpo0TS8G8BkABwSO49tJInJtlmXnhA5CRFQULAAlkWXZOwC8InSOHI2r6r8mSXJ86CBEREXAAlACaZquAnBh6BwDMC4iPW9EQ0RURiwAJSAiLwGwV+gcA/KUZrN5ZOgQRETDjgWgBFT1uNAZBqlSqTwpdAYiomHHAlAOcegAg6SqU6EzEBENOxaAEhCRsv07l+37JSLqGf9QEhERlRALABERUQmxABAREZUQCwAREVEJsQAQERGVEDcDol1S1f9R1ReFzFCpVB6jqp8LmYGIaFSxANAuici2er1+S8gMzWZTjOFFKiKiPPCvKxERUQmxABAREZUQCwAREVEJsQAQERGVEAsAERFRCbEAEBERlRALABERUQlxHQAaOaq698zMTK2fOdrt9nJfeYiIhhELAI0cEXlvp9N5b59z+IpDRDSUeAuAiIiohFgAiIiISogFgIiIqIRYAIiIiEqIBYCIiKiEWACI/LKhAxARLQYLAJFHIrIpdAYiosVgASDySERuCJ2BiGgxWACI/LlrcnJyTegQRESLwQJA5IcVkfNFpBM6CBHRYrAAEPWvo6rnR1H0rdBBiIgWi3sBEPXnRmPMm2u12jWhgxAR9YIFgEbRl0XkqjwPoKqtTqfzk6mpqbvyPA4RUV5YAGgUXR9F0adDhyAiGmZ8BoCIiKiEWACIiIhKiAWAiIiohFgAiIiISogFgIiIqIRYAIiIiEqIBYCIiKiEWACIiIhKiAsB0UIOy7Ls5pABVHVpyOPvbNOmTSsqlcp5InIqgP0AVEJnctRR1Q0AvtPpdD6zYsWKTaED0SOpaqXVar1QVc8EcBSAofnvoFciMqOqt4jI56IoujZ0HnokFgBayN6qemzoEMMgTdNzAXwCwL6hs/ggIkcAeHq1Wr0wTdPz4zi+KHQmmjczM3NYlmVfAfD40Fl8UFUAOEZVz0vT9MvW2j9pNBpbQueiebwFQLQbSZK8BsBFGJGT/6PsC+Bfsix7deggBLRarUM6nc4ajMjJfxfOMsZcoapLQgeheSwARAtIkuQoEfl46Bx5U9WPN5vN3wqdo+ystf8GYEXoHDk7qdVq/Z/QIWgeCwDRAkTkQpTjNtmYMebC0CHKLMuykwE8LXSOQVDV109PT4/iFbXCYQEgWtgfhA4wQGX6XoeOtfZ5oTMM0FJjzDNDhyAWABpN2u8EaZouAxB7yFIU9e73TAGIyOrQGQZJRA4NnYFYAMpiNnSAAZvpdwJr7T4+ghSJtZaXZcMp2+8bf9eGAAtACajqnaEzDJKIlOr7JSJywQJQDpeGDjBAD9RqtetChyAiGnYsACUQx/F1AL4VOscgiMi7RaQTOgcR0bBjASiJubm5PwZwT+gceVLVS2q12qdD5yAiKgIWgJJYuXLl9Nzc3IkArgidxTdV3Q7gPXEcv0xE+n4DgIioDMqwyAl1rVy5chrAc7Ise4qqvkBVjxSRvULn6sOsiNwgIl+Ioui+0GG6bgfwy8AZHov5DYtotN0HIOgDryJyiKoeHjIDuWMBKKEoitYAWBM6xygSkb+LouhTITOkaXoxgFeEzEAD8eU4jt8YMkCSJG8VkfeHzEDueAuAiIiohFgAiIiISogFgIiIqIRYAIiIiEqIBYCIiKiEWACIiIhKiAWAiIiohFgAiIiISogLARERAEBEPpWm6bY+pznSS5jiWJEkyYc8zHOUhzmIesICQEQAABF5XugMBVQXkQtDhyBywVsAREREJcQCQEREVEIsAERERCXEAkBERFRCLABEREQlxAJARMEZY34VOgOAh0IHIBokFgAiCq2jqveFDgFgfegARIPEAkBEQanqD+I4ng2dA8C3QwcgGiQWACIKSkQ+GDoDAGzfvv0/ADwQOgfRoLAAEFEwIvKPcRwPxSfv/fff/1cAXgGgHToL0SCwABBRCB0R+WCtVjs/dJCdxXF8lbX2TADDcEuCKFfcC4CIHrYZgM35GA+o6tXGmH+KouinOR/LSaPR+NrGjRuPqFarrxeRMwAcCmAsdC4i31gAiAgAYK397UajsSF0jmGwcuXKaQB/BeCvVFU2b948mefxOp3OFwGcmucxiB6NBYCIaDdERAG08jxGmqZzec5PtCt8BoCIiKiEWACIiIhKiAWAiIiohFgAiIiISogFgIiIqIRYAIiIiEqIBYCIiKiEuA4AkUeqelSSJKcEjrF/4OPTYBwc+ndNRA4LeXzqDwsAkV8XiMgFoUNQKZwpImeGDkHFxVsAREREJcQCQEREVEIsAERERCXEAkBERFRCLABEREQlxAJAtAudTqcTOsOgdTqddugMZaWqpfp9U1X+rg0BFgCiXVixYkUKoEx/pNrd75kCEJFNoTMMkohsDJ2BWACIdklEOgCuC51jUFR1Tfd7pgBUdU3oDINkrS3V9zusWACIFqCqnwmdYVCMMZ8NnaHMRORSAEnoHIMgIt9vNBp3hs5BLABEC4rj+D9E5PuhcwzA92q12iWhQ5RZHMezqvqG0DkGYCuA80OHoHksAEQLEBFbrVZfCOCHobPkaE21Wn2hiNjQQcquXq9/TkTeAkBDZ8nJLICzoii6LXQQmiehAxANO1Vd0mq1zlfV8zE6G+1sAPCxKIo+ISI7Qoeh/9VqtZ5urX0fgKdgBP5Gq+p2EbmsUqm8bXJy8p7Qeeh/Ff6Xi2hQVNW0Wq3fBnCwqi4NnceFiPwKwL21Wu1nIjKqnzRHQrPZ3K9arR5hrV0ROosLVW2LyCZr7W2NRmNL6DxERERERERERERERERERERERERERERERERERERERERERMPs/wMlV6F9FJirJwAAAABJRU5ErkJggg==);\n\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\tbackground-position: center center;\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body></body>\n</html>\n";
5
17
  /**
6
- * Serves HTML index page with company logo
18
+ * @deprecated Use `@signageos/service` instead.
7
19
  */
8
- function routeIndex(_a) {
9
- var router = _a.router;
10
- router.get('/', function (_req, res) { return res.send(indexContent); });
11
- }
20
+ __exportStar(require("@signageos/service/dist/Service/HTTP/routes/app/indexPage"), exports);
12
21
  //# sourceMappingURL=indexPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexPage.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/app/indexPage.ts"],"names":[],"mappings":";;AAuBA,gCAEC;AAvBD,IAAM,YAAY,GAAG,muoCAgBpB,CAAC;AAEF;;GAEG;AACH,SAAgB,UAAU,CAAC,EAA8B;QAA5B,MAAM,YAAA;IAClC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAC,IAAa,EAAE,GAAa,IAAK,OAAA,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAtB,CAAsB,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"indexPage.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/app/indexPage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,4FAA0E"}
@@ -1,14 +1,4 @@
1
- import { Router } from 'express';
2
- import { DBConnections } from '../../../dbConnections';
3
- import { ServiceInfo } from '../../httpServerFactory';
4
- import { TAdditionalStatusDataCallback } from '../../../../HttpStatus/sendStatusResponse';
5
- export declare function routeApp(args: {
6
- router: Router;
7
- service: ServiceInfo;
8
- connections?: DBConnections;
9
- /**
10
- * Prevent serving the index page on / path
11
- */
12
- noRouteIndex?: boolean;
13
- additionalStatusDataCallback?: TAdditionalStatusDataCallback;
14
- }): void;
1
+ /**
2
+ * @deprecated Use `@signageos/service` instead.
3
+ */
4
+ export * from '@signageos/service/dist/Service/HTTP/routes/app/router';
@@ -1,12 +1,21 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.routeApp = routeApp;
4
- var indexPage_1 = require("./indexPage");
5
- var status_1 = require("./status");
6
- function routeApp(args) {
7
- if (!args.noRouteIndex) {
8
- (0, indexPage_1.routeIndex)(args);
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
7
  }
10
- (0, status_1.routeStatus)(args);
11
- }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * @deprecated Use `@signageos/service` instead.
19
+ */
20
+ __exportStar(require("@signageos/service/dist/Service/HTTP/routes/app/router"), exports);
12
21
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/app/router.ts"],"names":[],"mappings":";;AAOA,4BAcC;AAlBD,yCAAyC;AACzC,mCAAuC;AAGvC,SAAgB,QAAQ,CAAC,IASxB;IACA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,IAAA,sBAAU,EAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/app/router.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,yFAAuE"}
@@ -1,13 +1,4 @@
1
- import { Router } from 'express';
2
- import { DBConnections } from '../../../dbConnections';
3
- import { ServiceInfo } from '../../httpServerFactory';
4
- import { TAdditionalStatusDataCallback } from '../../../../HttpStatus/sendStatusResponse';
5
1
  /**
6
- * Serves some basic human-readable information about the service
2
+ * @deprecated Use `@signageos/service` instead.
7
3
  */
8
- export declare function routeStatus({ router, service, connections, additionalStatusDataCallback, }: {
9
- router: Router;
10
- service: ServiceInfo;
11
- connections?: DBConnections;
12
- additionalStatusDataCallback?: TAdditionalStatusDataCallback;
13
- }): void;
4
+ export * from '@signageos/service/dist/Service/HTTP/routes/app/status';
@@ -1,44 +1,21 @@
1
1
  "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
7
  }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
13
15
  };
14
16
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.routeStatus = routeStatus;
16
- var createHttpStatusMiddleware_1 = __importDefault(require("../../../../HttpStatus/createHttpStatusMiddleware"));
17
- var amqpStatus_1 = require("../../../../HttpStatus/statuses/amqpStatus");
18
- var redisStatus_1 = require("../../../../HttpStatus/statuses/redisStatus");
19
- var mongoStatus_1 = require("../../../../HttpStatus/statuses/mongoStatus");
20
17
  /**
21
- * Serves some basic human-readable information about the service
18
+ * @deprecated Use `@signageos/service` instead.
22
19
  */
23
- function routeStatus(_a) {
24
- var router = _a.router, service = _a.service, connections = _a.connections, additionalStatusDataCallback = _a.additionalStatusDataCallback;
25
- var statuses = [];
26
- if (connections === null || connections === void 0 ? void 0 : connections.amqp) {
27
- var amqpConnections = Object.values(connections.amqp);
28
- statuses.push((0, amqpStatus_1.amqpStatus)(amqpConnections, service.uid));
29
- }
30
- if (connections === null || connections === void 0 ? void 0 : connections.redis) {
31
- var redisConnections = Object.values(connections.redis);
32
- statuses.push((0, redisStatus_1.redisStatus)(redisConnections, service.uid));
33
- }
34
- if (connections === null || connections === void 0 ? void 0 : connections.mongodb) {
35
- var mongodbConnections = Object.values(connections.mongodb);
36
- statuses.push((0, mongoStatus_1.mongoStatus)(mongodbConnections, service.uid));
37
- }
38
- router.get('/status', createHttpStatusMiddleware_1.default.apply(void 0, __spreadArray([{
39
- namespace: service.name,
40
- uniqueId: service.uid,
41
- additionalStatusDataCallback: additionalStatusDataCallback,
42
- }], statuses, false)));
43
- }
20
+ __exportStar(require("@signageos/service/dist/Service/HTTP/routes/app/status"), exports);
44
21
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/app/status.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAaA,kCAqCC;AAjDD,iHAA2F;AAE3F,yEAAwE;AACxE,2EAA0E;AAC1E,2EAA0E;AAK1E;;GAEG;AACH,SAAgB,WAAW,CAAC,EAU3B;QATA,MAAM,YAAA,EACN,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,4BAA4B,kCAAA;IAO5B,IAAM,QAAQ,GAAiB,EAAE,CAAC;IAElC,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE,CAAC;QACvB,IAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,IAAA,uBAAU,EAAC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,CAAC;QACxB,IAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC,IAAA,yBAAW,EAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,CAAC;QAC1B,IAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,IAAA,yBAAW,EAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,GAAG,CACT,SAAS,EACT,oCAA0B,8BACzB;YACC,SAAS,EAAE,OAAO,CAAC,IAAI;YACvB,QAAQ,EAAE,OAAO,CAAC,GAAG;YACrB,4BAA4B,8BAAA;SAC5B,GACE,QAAQ,UAEZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/app/status.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,yFAAuE"}
@@ -1,20 +1,4 @@
1
- import { Router } from 'express';
2
- export type IsAliveCallback = () => Promise<boolean> | boolean;
3
- export type AlivenessRouteArgs = {
4
- router: Router;
5
- /**
6
- * Callback to check if service is alive
7
- *
8
- * This can involve any kind of check that makes sense in the context of a particular service.
9
- */
10
- isAlive?: IsAliveCallback;
11
- };
12
1
  /**
13
- * Runs aliveness check and serves the result
14
- *
15
- * Responds with 200 if service is alive.
16
- * Typically used by Kubernetes aliveness probe.
17
- *
18
- * If no isAlive callback is provided, the route will always respond with 200 as long as the application didn't freeze.
2
+ * @deprecated Use `@signageos/service` instead.
19
3
  */
20
- export declare function routeAliveness({ router, isAlive }: AlivenessRouteArgs): void;
4
+ export * from '@signageos/service/dist/Service/HTTP/routes/monitoring/aliveness';
@@ -1,75 +1,21 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
36
7
  }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
40
15
  };
41
16
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.routeAliveness = routeAliveness;
43
- var http_status_1 = __importDefault(require("http-status"));
44
17
  /**
45
- * Runs aliveness check and serves the result
46
- *
47
- * Responds with 200 if service is alive.
48
- * Typically used by Kubernetes aliveness probe.
49
- *
50
- * If no isAlive callback is provided, the route will always respond with 200 as long as the application didn't freeze.
18
+ * @deprecated Use `@signageos/service` instead.
51
19
  */
52
- function routeAliveness(_a) {
53
- var _this = this;
54
- var router = _a.router, isAlive = _a.isAlive;
55
- router.get('/alive', function (_req, res) { return __awaiter(_this, void 0, void 0, function () {
56
- var alive, status_1;
57
- return __generator(this, function (_a) {
58
- switch (_a.label) {
59
- case 0:
60
- if (!isAlive) return [3 /*break*/, 2];
61
- return [4 /*yield*/, isAlive()];
62
- case 1:
63
- alive = _a.sent();
64
- status_1 = alive ? http_status_1.default.OK : http_status_1.default.SERVICE_UNAVAILABLE;
65
- res.sendStatus(status_1);
66
- return [3 /*break*/, 3];
67
- case 2:
68
- res.sendStatus(http_status_1.default.OK);
69
- _a.label = 3;
70
- case 3: return [2 /*return*/];
71
- }
72
- });
73
- }); });
74
- }
20
+ __exportStar(require("@signageos/service/dist/Service/HTTP/routes/monitoring/aliveness"), exports);
75
21
  //# sourceMappingURL=aliveness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aliveness.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/monitoring/aliveness.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,wCAUC;AAjCD,4DAAqC;AAerC;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,EAAuC;IAAtE,iBAUC;QAVgC,MAAM,YAAA,EAAE,OAAO,aAAA;IAC/C,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAO,IAAa,EAAE,GAAa;;;;;yBACnD,OAAO,EAAP,wBAAO;oBACI,qBAAM,OAAO,EAAE,EAAA;;oBAAvB,KAAK,GAAG,SAAe;oBACvB,WAAS,KAAK,CAAC,CAAC,CAAC,qBAAU,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAU,CAAC,mBAAmB,CAAC;oBACtE,GAAG,CAAC,UAAU,CAAC,QAAM,CAAC,CAAC;;;oBAEvB,GAAG,CAAC,UAAU,CAAC,qBAAU,CAAC,EAAE,CAAC,CAAC;;;;;SAE/B,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"aliveness.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/monitoring/aliveness.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,mGAAiF"}
@@ -1,9 +1,4 @@
1
- import { Router } from 'express';
2
- import { IMetricsClient } from '../../../../Metrics/MetricsClient';
3
1
  /**
4
- * Serves metrics for Prometheus
2
+ * @deprecated Use `@signageos/service` instead.
5
3
  */
6
- export declare const routeMetrics: ({ router, metricsClient }: {
7
- router: Router;
8
- metricsClient: IMetricsClient;
9
- }) => void;
4
+ export * from '@signageos/service/dist/Service/HTTP/routes/monitoring/metrics';
@@ -1,59 +1,21 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
36
7
  }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
15
  };
38
16
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.routeMetrics = void 0;
40
17
  /**
41
- * Serves metrics for Prometheus
18
+ * @deprecated Use `@signageos/service` instead.
42
19
  */
43
- var routeMetrics = function (_a) {
44
- var router = _a.router, metricsClient = _a.metricsClient;
45
- // TODO: Prometheus client shouldn't be on public server. The endpoints shouldn't be reachable from outside
46
- router.get('/metrics', function (_req, res) { return __awaiter(void 0, void 0, void 0, function () {
47
- return __generator(this, function (_a) {
48
- try {
49
- return [2 /*return*/, metricsClient.serve(res)];
50
- }
51
- catch (err) {
52
- return [2 /*return*/, res.status(500).send("Error scraping prometheus metrics: ".concat(err))];
53
- }
54
- return [2 /*return*/];
55
- });
56
- }); });
57
- };
58
- exports.routeMetrics = routeMetrics;
20
+ __exportStar(require("@signageos/service/dist/Service/HTTP/routes/monitoring/metrics"), exports);
59
21
  //# sourceMappingURL=metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/monitoring/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;GAEG;AACI,IAAM,YAAY,GAAG,UAAC,EAA4E;QAA1E,MAAM,YAAA,EAAE,aAAa,mBAAA;IACnD,2GAA2G;IAC3G,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAO,IAAa,EAAE,GAAa;;YACzD,IAAI,CAAC;gBACJ,sBAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,6CAAsC,GAAG,CAAE,CAAC,EAAC;YAC1E,CAAC;;;SACD,CAAC,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/monitoring/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,iGAA+E"}
@@ -1,18 +1,4 @@
1
- import { Router } from 'express';
2
- export interface IsReadyResultObject {
3
- ready: boolean;
4
- response: any;
5
- }
6
- export type IsReadyResult = IsReadyResultObject | boolean;
7
- export type IsReadyCallback = () => Promise<IsReadyResult> | IsReadyResult;
8
- export type ReadinessRouteArgs = {
9
- router: Router;
10
- isReady?: IsReadyCallback;
11
- };
12
1
  /**
13
- * Runs readiness check and serves the result
14
- *
15
- * Responds with 200 if service is ready to serve requests.
16
- * Typically used by Kubernetes readiness probe.
2
+ * @deprecated Use `@signageos/service` instead.
17
3
  */
18
- export declare function routeReadiness({ router, isReady }: ReadinessRouteArgs): void;
4
+ export * from '@signageos/service/dist/Service/HTTP/routes/monitoring/readniness';
@@ -1,80 +1,21 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
36
7
  }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
40
15
  };
41
16
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.routeReadiness = routeReadiness;
43
- var http_status_1 = __importDefault(require("http-status"));
44
17
  /**
45
- * Runs readiness check and serves the result
46
- *
47
- * Responds with 200 if service is ready to serve requests.
48
- * Typically used by Kubernetes readiness probe.
18
+ * @deprecated Use `@signageos/service` instead.
49
19
  */
50
- function routeReadiness(_a) {
51
- var _this = this;
52
- var router = _a.router, isReady = _a.isReady;
53
- router.get('/ready', function (_req, res) { return __awaiter(_this, void 0, void 0, function () {
54
- var result, ready, response, status_1;
55
- return __generator(this, function (_a) {
56
- switch (_a.label) {
57
- case 0:
58
- if (!isReady) return [3 /*break*/, 2];
59
- return [4 /*yield*/, isReady()];
60
- case 1:
61
- result = _a.sent();
62
- ready = typeof result === 'boolean' ? result : result.ready;
63
- response = typeof result === 'boolean' ? undefined : result.response;
64
- status_1 = ready ? http_status_1.default.OK : http_status_1.default.SERVICE_UNAVAILABLE;
65
- if (response) {
66
- res.status(status_1).send(response);
67
- }
68
- else {
69
- res.sendStatus(status_1);
70
- }
71
- return [3 /*break*/, 3];
72
- case 2:
73
- res.sendStatus(http_status_1.default.OK);
74
- _a.label = 3;
75
- case 3: return [2 /*return*/];
76
- }
77
- });
78
- }); });
79
- }
20
+ __exportStar(require("@signageos/service/dist/Service/HTTP/routes/monitoring/readniness"), exports);
80
21
  //# sourceMappingURL=readniness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readniness.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/monitoring/readniness.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,wCAkBC;AAxCD,4DAAqC;AAgBrC;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,EAAuC;IAAtE,iBAkBC;QAlBgC,MAAM,YAAA,EAAE,OAAO,aAAA;IAC/C,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAO,IAAa,EAAE,GAAa;;;;;yBACnD,OAAO,EAAP,wBAAO;oBACK,qBAAM,OAAO,EAAE,EAAA;;oBAAxB,MAAM,GAAG,SAAe;oBACxB,KAAK,GAAG,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC5D,QAAQ,GAAG,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAErE,WAAS,KAAK,CAAC,CAAC,CAAC,qBAAU,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAU,CAAC,mBAAmB,CAAC;oBAEtE,IAAI,QAAQ,EAAE,CAAC;wBACd,GAAG,CAAC,MAAM,CAAC,QAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACP,GAAG,CAAC,UAAU,CAAC,QAAM,CAAC,CAAC;oBACxB,CAAC;;;oBAED,GAAG,CAAC,UAAU,CAAC,qBAAU,CAAC,EAAE,CAAC,CAAC;;;;;SAE/B,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"readniness.js","sourceRoot":"","sources":["../../../../../src/Service/HTTP/routes/monitoring/readniness.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,oGAAkF"}