@networkpro/web 1.25.24 → 1.26.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 (176) hide show
  1. package/.editorconfig +1 -1
  2. package/.env.template +2 -2
  3. package/.gitattributes +1 -1
  4. package/.github/ISSUE_TEMPLATE/bug_report.yml +1 -1
  5. package/.github/ISSUE_TEMPLATE/config.yml +1 -1
  6. package/.github/ISSUE_TEMPLATE/feature_request.yml +1 -1
  7. package/.github/ISSUE_TEMPLATE/legal_review.yml +1 -1
  8. package/.github/workflows/auto-assign.yml +1 -1
  9. package/.github/workflows/backup-branch.yml +1 -1
  10. package/.github/workflows/build-and-publish.yml +1 -1
  11. package/.github/workflows/check-codeql.yml +1 -1
  12. package/.github/workflows/check-security-txt-expiry.yml +6 -0
  13. package/.github/workflows/dependency-review.yml +1 -1
  14. package/.github/workflows/lighthouse.yml +1 -1
  15. package/.github/workflows/meta-check.yml +1 -1
  16. package/.github/workflows/playwright.yml +1 -1
  17. package/.github/workflows/prevent-audit-merge.yml +1 -1
  18. package/.github/workflows/probely-scan.yml +1 -1
  19. package/.github/workflows/publish-test.yml +1 -1
  20. package/.github/workflows/secret-scan.yml +1 -1
  21. package/.github/workflows/templates/check-codeql.template.yml +1 -1
  22. package/.github/workflows/templates/publish.template.yml +1 -1
  23. package/.lighthouserc.cjs +1 -1
  24. package/.markdownlint.mjs +1 -1
  25. package/.md-smart-quotes.js +1 -1
  26. package/.ncurc.cjs +2 -2
  27. package/.prettierignore +1 -1
  28. package/.stylelintignore +1 -1
  29. package/.vscode/extensions.jsonc +1 -1
  30. package/CHANGELOG.md +57 -6
  31. package/CHANGELOG.template.md +1 -1
  32. package/LICENSE.md +3 -3
  33. package/README.md +30 -3
  34. package/bootstrap.local.sh +1 -1
  35. package/eslint.config.mjs +1 -1
  36. package/jsconfig.template.jsonc +1 -1
  37. package/package.json +13 -13
  38. package/playwright.config.js +1 -1
  39. package/postcss.config.mjs +1 -1
  40. package/scripts/auditScripts.js +1 -1
  41. package/scripts/bundleCss.js +21 -12
  42. package/scripts/checkEnv.js +1 -1
  43. package/scripts/checkNode.js +1 -1
  44. package/scripts/checkVersions.js +1 -1
  45. package/scripts/generateTest.js +1 -1
  46. package/scripts/openReport.js +1 -1
  47. package/src/app.d.ts +1 -1
  48. package/src/app.html +2 -2
  49. package/src/global.d.ts +1 -1
  50. package/src/hooks.client.ts +1 -1
  51. package/src/hooks.server.js +1 -1
  52. package/src/lib/README.md +3 -3
  53. package/src/lib/components/Badges.svelte +1 -1
  54. package/src/lib/components/CodeBlock.svelte +1 -1
  55. package/src/lib/components/ContainerSection.svelte +1 -1
  56. package/src/lib/components/FullWidthSection.svelte +1 -1
  57. package/src/lib/components/LegalNav.svelte +1 -1
  58. package/src/lib/components/Logo.svelte +1 -1
  59. package/src/lib/components/MetaTags.svelte +1 -1
  60. package/src/lib/components/PWAInstallButton.svelte +1 -1
  61. package/src/lib/components/RedirectPage.svelte +1 -1
  62. package/src/lib/components/ServiceSummaryTable.svelte +1 -1
  63. package/src/lib/components/SocialMedia.svelte +1 -1
  64. package/src/lib/components/foss/FossFeatures.svelte +1 -1
  65. package/src/lib/components/foss/FossItemContent.svelte +1 -1
  66. package/src/lib/components/foss/ObtainiumBlock.svelte +1 -1
  67. package/src/lib/components/foss/index.js +1 -1
  68. package/src/lib/components/index.js +1 -1
  69. package/src/lib/components/layout/Footer.svelte +1 -1
  70. package/src/lib/components/layout/HeaderDefault.svelte +8 -18
  71. package/src/lib/components/layout/HeaderHome.svelte +8 -16
  72. package/src/lib/components/layout/index.js +1 -1
  73. package/src/lib/data/fossData.js +1 -1
  74. package/src/lib/data/pgpKeys.js +1 -1
  75. package/src/lib/images.js +1 -1
  76. package/src/lib/index.js +3 -3
  77. package/src/lib/meta.js +1 -1
  78. package/src/lib/pages/AboutContent.svelte +1 -1
  79. package/src/lib/pages/FossContent.svelte +1 -1
  80. package/src/lib/pages/HomeContent.svelte +3 -3
  81. package/src/lib/pages/LicenseContent.svelte +1 -1
  82. package/src/lib/pages/PGPContent.svelte +1 -1
  83. package/src/lib/pages/PrivacyContent.svelte +5 -5
  84. package/src/lib/pages/PrivacyDashboard.svelte +1 -1
  85. package/src/lib/pages/ServicesContent.svelte +1 -1
  86. package/src/lib/pages/TermsConditionsContent.svelte +1 -1
  87. package/src/lib/pages/TermsUseContent.svelte +7 -8
  88. package/src/lib/pages/index.js +1 -1
  89. package/src/lib/registerServiceWorker.js +1 -1
  90. package/src/lib/security/probely.js +1 -1
  91. package/src/lib/stores/posthog.js +2 -1
  92. package/src/lib/stores/trackingPreferences.js +1 -1
  93. package/src/lib/styles/css/default.css +11 -2
  94. package/src/lib/styles/css/global.css +1 -3
  95. package/src/lib/styles/css/normalize.css +1 -1
  96. package/src/lib/styles/css/offline.css +1 -1
  97. package/src/lib/styles/css/style.css +3 -1
  98. package/src/lib/styles/fa-global.css +2 -3
  99. package/src/lib/styles/global.min.css +2 -2
  100. package/src/lib/styles/index.js +1 -1
  101. package/src/lib/types/README.md +2 -2
  102. package/src/lib/types/appConstants.js +1 -1
  103. package/src/lib/types/fossTypes.js +1 -1
  104. package/src/lib/types/metadata.js +1 -1
  105. package/src/lib/unregisterServiceWorker.js +1 -3
  106. package/src/lib/utils/env.js +1 -1
  107. package/src/lib/utils/getUTMParams.js +1 -1
  108. package/src/lib/utils/initAnalytics.js +1 -1
  109. package/src/lib/utils/purify.js +1 -1
  110. package/src/lib/utils/redirect.js +1 -1
  111. package/src/lib/utils/utm.js +1 -1
  112. package/src/routes/+error.svelte +1 -1
  113. package/src/routes/+layout.js +1 -1
  114. package/src/routes/+layout.svelte +1 -1
  115. package/src/routes/+page.server.js +1 -1
  116. package/src/routes/+page.svelte +1 -1
  117. package/src/routes/...404/+page.svelte +1 -1
  118. package/src/routes/about/+page.server.js +1 -1
  119. package/src/routes/about/+page.svelte +1 -1
  120. package/src/routes/api/mock-csp/+server.js +1 -1
  121. package/src/routes/consultation/+page.svelte +1 -1
  122. package/src/routes/contact/+page.svelte +1 -1
  123. package/src/routes/foss/+page.server.js +1 -1
  124. package/src/routes/foss/+page.svelte +1 -1
  125. package/src/routes/legal/+page.server.js +1 -1
  126. package/src/routes/legal/+page.svelte +1 -1
  127. package/src/routes/links/+page.svelte +1 -1
  128. package/src/routes/pgp/+page.server.js +1 -1
  129. package/src/routes/pgp/+page.svelte +1 -1
  130. package/src/routes/pgp/[key]/+server.js +1 -1
  131. package/src/routes/posts/+page.svelte +1 -1
  132. package/src/routes/privacy/+page.server.js +1 -1
  133. package/src/routes/privacy/+page.svelte +1 -1
  134. package/src/routes/privacy-dashboard/+page.server.js +1 -1
  135. package/src/routes/privacy-dashboard/+page.svelte +1 -1
  136. package/src/routes/privacy-rights/+page.svelte +1 -1
  137. package/src/routes/relay-[slug]/[...catchall]/+server.js +1 -1
  138. package/src/routes/services/+page.server.js +1 -1
  139. package/src/routes/services/+page.svelte +1 -1
  140. package/src/routes/status/+page.server.js +1 -1
  141. package/src/routes/terms-conditions/+page.server.js +1 -1
  142. package/src/routes/terms-conditions/+page.svelte +1 -1
  143. package/src/routes/terms-of-use/+page.server.js +1 -1
  144. package/src/routes/terms-of-use/+page.svelte +1 -1
  145. package/src/service-worker.d.ts +1 -1
  146. package/src/service-worker.js +1 -1
  147. package/static/bin/license/CC-BY-4.0.html +1 -1
  148. package/static/bin/license/COPYING.html +1 -1
  149. package/static/disableSw.js +1 -1
  150. package/static/manifest.json +2 -15
  151. package/static/offline.html +1 -1
  152. package/static/offline.min.css +1 -1
  153. package/static/robots.txt +1 -1
  154. package/static/sitemap.xml +4 -4
  155. package/stylelint.config.js +1 -1
  156. package/svelte.config.js +1 -1
  157. package/tests/e2e/app.spec.js +1 -1
  158. package/tests/e2e/mobile.spec.js +1 -1
  159. package/tests/e2e/shared/helpers.js +1 -1
  160. package/tests/meta/meta.test.js +1 -1
  161. package/tests/unit/client/lib/PWAInstallButton.test.js +1 -1
  162. package/tests/unit/client/lib/unregisterServiceWorker.test.js +1 -1
  163. package/tests/unit/client/lib/utils/redirect.test.js +1 -1
  164. package/tests/unit/client/lib/utils/utm.test.js +1 -1
  165. package/tests/unit/client/routes/page.svelte.test.js +1 -1
  166. package/tests/unit/server/checkEnv.test.js +1 -1
  167. package/tests/unit/server/checkVersions.test.js +1 -1
  168. package/tests/unit/server/internal/auditCoverage.test.js +1 -1
  169. package/tests/unit/server/internal/ssrBoundary.test.js +1 -1
  170. package/tests/unit/server/lib/security/probely.test.js +1 -1
  171. package/tests/unit/server/lib/utils/purify.test.js +1 -1
  172. package/tests/unit/server/meta.test.js +1 -1
  173. package/vite.config.js +1 -1
  174. package/vitest-setup-client.js +1 -0
  175. package/vitest.config.client.js +9 -8
  176. package/vitest.config.server.js +3 -2
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/lib/pages/PrivacyDashboard.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/lib/pages/ServicesContent.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  =========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/lib/pages/TermsConditionsContent.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/lib/pages/TermsUseContent.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -63,7 +63,7 @@ This file is part of Network Pro.
63
63
  * @type {{ effectiveDate: string, classSmall: string }}
64
64
  */
65
65
  const constants = {
66
- effectiveDate: 'October 21, 2025',
66
+ effectiveDate: 'January 11, 2026',
67
67
  classSmall: 'small-text',
68
68
  };
69
69
  </script>
@@ -81,7 +81,7 @@ This file is part of Network Pro.
81
81
  </section>
82
82
 
83
83
  <section id="page-title">
84
- <h1>Website Terms of Use</h1>
84
+ <h1>Terms of Use</h1>
85
85
  <p>
86
86
  <strong>{COMPANY_INFO.NAME}</strong><br />
87
87
  <strong>Effective Date:</strong>
@@ -130,7 +130,7 @@ This file is part of Network Pro.
130
130
 
131
131
  {#if link.id === 'introduction'}
132
132
  <p>
133
- Welcome! By accessing or using any of the platforms operated by {COMPANY_INFO.NAME}
133
+ By accessing or using any of the platforms operated by {COMPANY_INFO.NAME}
134
134
  ("Company," "we," "us," or "our"), you agree to be bound by these Terms of
135
135
  Use ("Terms"). If you do not agree to these Terms, please refrain from using
136
136
  our services.
@@ -140,10 +140,9 @@ This file is part of Network Pro.
140
140
  These Terms of Use apply to all platforms associated with the Company,
141
141
  including but not limited to:
142
142
  <strong>
143
- GitHub, our main website (hosted via Vercel and GitHub Pages), Stack
144
- Overflow Teams, Nextcloud, communications on Discord and/or Slack, and
145
- our social media presence (e.g., Facebook, Instagram, X, and similar
146
- platforms).
143
+ GitHub, our websites (hosted via Vercel), Stack Internal, Nextcloud,
144
+ communications on Discord, and our social media presence (e.g.,
145
+ Facebook, Instagram, X, and similar platforms).
147
146
  </strong>
148
147
  </p>
149
148
  {:else if link.id === 'acceptable-use'}
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/pages/index.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/registerServiceWorker.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/security/probely.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,8 +1,9 @@
1
1
  /* ==========================================================================
2
2
  src/lib/stores/posthog.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
+ This file is part of Network Pro.
6
7
  ========================================================================== */
7
8
 
8
9
  /**
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/stores/trackingPreferences.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,11 +1,13 @@
1
1
  /* ==========================================================================
2
2
  src/lib/styles/default.css
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
8
8
 
9
+ /* NOTE: This file is bundled into global.min.css — changes require rebuild */
10
+
9
11
  /* ==========================================================================
10
12
  Document Spacing
11
13
  ========================================================================== */
@@ -517,7 +519,7 @@ footer .container {
517
519
  color: #cba557;
518
520
  }
519
521
 
520
- .goldseparator {
522
+ .gold-separator {
521
523
  margin: 0 0.5rem;
522
524
  color: #ffc627;
523
525
  }
@@ -529,6 +531,13 @@ footer .container {
529
531
  text-align: center;
530
532
  }
531
533
 
534
+ .center-nav .external-icon {
535
+ position: relative;
536
+ top: -0.3em; /* try -0.25em to -0.35em */
537
+ font-size: 0.85em; /* tweak: 0.7–0.85em usually ideal */
538
+ margin-left: 0.3em;
539
+ }
540
+
532
541
  /* code block for legal text */
533
542
  .block {
534
543
  width: 100%;
@@ -1,7 +1,5 @@
1
1
  /*! ==========================================================================
2
- src/lib/styles/css/global.css
3
-
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
2
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
3
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
4
  This file is part of Network Pro.
7
5
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/styles/normalize.css
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /*! ==========================================================================
2
2
  src/lib/styles/css/offline.css
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  =========================================================================== */
@@ -1,11 +1,13 @@
1
1
  /* ==========================================================================
2
2
  src/lib/styles/style.css
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
8
8
 
9
+ /* NOTE: This file is bundled into global.min.css — changes require rebuild */
10
+
9
11
  /*! Modified from HTML5 Boilerplate v9.0.1 | MIT License | https://html5boilerplate.com/ */
10
12
 
11
13
  /* https://github.com/h5bp/main.css#readme */
@@ -1,7 +1,5 @@
1
1
  /*! ==========================================================================
2
- src/lib/styles/fa-global.css
3
-
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
2
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
3
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
4
  This file is part of Network Pro.
7
5
  ========================================================================== */
@@ -9,3 +7,4 @@ This file is part of Network Pro.
9
7
  @import "./css/fontawesome.min.css";
10
8
  @import "./css/brands.min.css";
11
9
  @import "./css/solid.min.css";
10
+
@@ -1,6 +1,6 @@
1
1
  /*! ==========================================================================
2
- Copyright © 2025 Network Pro Strategies (Network Pro™)
2
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
3
3
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
4
4
  This file is part of Network Pro.
5
5
  ========================================================================== */
6
- html{-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{color:inherit;box-sizing:border-box;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}details{display:block}summary{display:list-item}template{display:none}html{color:#222;scroll-behavior:smooth;font-size:1em;line-height:1.4}::-moz-selection{text-shadow:none;background:#191919}::selection{text-shadow:none;background:#191919}hr{border:0;border-top:1px solid #ccc;height:1px;margin:1em 0;padding:0;display:block;overflow:visible}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}body{color:#fafafa;background-color:#191919;margin:10px;font-family:Arial,Helvetica,sans-serif}a{text-decoration:none}a:link{color:#ffc627}a:hover,a:active{color:#ffc627;text-decoration:underline}a:focus{color:#111;background-color:#ffc627}a:visited,a:visited:hover{color:#cba557}a:visited:focus,a:visited:focus-visible{color:#111!important}.hidden,[hidden]{display:none!important}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visually-hidden.focusable:active,.visually-hidden.focusable:focus{clip:auto;width:auto;height:auto;white-space:inherit;margin:0;position:static;overflow:visible}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}@media print{*,:before,:after{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:#fff!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href)")"}abbr[title]:after{content:" (" attr(title)")"}a[href^=\#]:after,a[href^=javascript\:]:after{content:""}pre{white-space:pre-wrap!important}pre,blockquote{break-inside:avoid;border:1px solid #999}tr,img{break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{break-after:avoid}}.full-width-section{background-position:50%;background-size:cover;width:100%;max-width:1920px;margin:0 auto}.container{max-width:1200px;margin:0 auto;padding:0 12px}.readable{max-width:900px;margin:0 auto}header,footer{width:100%}header .container,footer .container{max-width:1200px;margin:0 auto;padding:20px 12px}.gh{border-collapse:collapse;border-spacing:0;margin:0 auto}.gh td,.gh th{border-collapse:collapse;word-break:normal;padding:10px 5px;overflow:hidden}.gh .gh-tcell{text-align:center;vertical-align:middle}@media screen and (width<=767px){.gh,.gh col{width:auto!important}.gh-wrap{-webkit-overflow-scrolling:touch;margin:auto 0;overflow-x:auto}}.soc{border-collapse:collapse;border-spacing:0;margin:0 auto}.soc td,.soc th{border-collapse:collapse;word-break:normal;padding:8px;overflow:hidden}.soc .soc-fa{text-align:center;vertical-align:middle}@media screen and (width<=767px){.soc,.soc col{width:auto!important}.soc-wrap{-webkit-overflow-scrolling:touch;margin:auto 0;overflow-x:auto}}.foss{border-collapse:collapse;border-spacing:0}.foss td,.foss th{border-collapse:collapse;word-break:normal;padding:10px 5px;overflow:hidden}.foss .foss-cell{text-align:center;vertical-align:middle}@media screen and (width<=767px){.foss,.foss col{width:auto!important}.foss-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}.bnav{text-align:center;border-collapse:collapse;border-spacing:0;margin:0 auto}.bnav td,.bnav th{text-align:center;vertical-align:middle;word-break:normal;border-style:none;padding:10px;font-size:.875rem;font-weight:700;line-height:1.125rem;overflow:hidden}.bnav .bnav-cell{text-align:center;vertical-align:middle;align-content:center}@media screen and (width<=767px){.bnav,.bnav col{width:auto!important}.bnav-wrap{-webkit-overflow-scrolling:touch;margin:auto 0;overflow-x:auto}}.bnav2{border-collapse:collapse;border-spacing:0;margin:0 auto}.bnav2 td{word-break:normal;border-style:none;padding:10px;font-size:.875rem;font-weight:700;line-height:1.125rem;overflow:hidden}.bnav2 th{word-break:normal;border-style:none;padding:12px;font-size:.875rem;line-height:1.125rem;overflow:hidden}.bnav2 .bnav2-cell{text-align:center;vertical-align:middle;align-content:center}@media screen and (width<=767px){.bnav2,.bnav2 col{width:auto!important}.bnav2-wrap{-webkit-overflow-scrolling:touch;margin:auto 0;overflow-x:auto}}.pgp{border-collapse:collapse;border-spacing:0;margin:0 auto}.pgp td{word-break:normal;border-style:none;padding:10px;font-size:.875rem;line-height:1.125rem;overflow:hidden}.pgp th{word-break:normal;border:1px solid #000;padding:10px;font-size:.875rem;line-height:1.125rem;overflow:hidden}.pgp .pgp-col1{text-align:right;vertical-align:middle;padding-right:1rem}.pgp .pgp-col2{text-align:left;vertical-align:middle;padding-left:1rem}@media screen and (width<=767px){.pgp,.pgp col{width:auto!important}.pgp-wrap{-webkit-overflow-scrolling:touch;margin:2rem 0 auto;overflow-x:auto}}#service-summary{color:#e6e6e6;margin-top:2rem;margin-bottom:2.5rem}.service-table{color:#e6e6e6;border-collapse:collapse;background-color:#191919;width:100%;font-size:.95rem}.service-table th,.service-table td{text-align:left;vertical-align:top;border-bottom:1px solid #333;padding:.75rem 1rem}.service-table th{color:#ffc627;text-transform:uppercase;background-color:#222;font-size:.85rem;font-weight:600}.service-table a{color:#ffc627;font-weight:500;text-decoration:none}.service-table a:hover{text-decoration:underline}.service-table tr:hover{background-color:#222;transition:background-color .3s,box-shadow .3s;box-shadow:0 0 10px 2px #ffc62740}.service-table tr.selected{background-color:#222;border-left:4px solid #ffc627;transition:background-color .3s,border-left-color .3s}.service-table tr.selected:hover{background-color:#252525;box-shadow:0 0 12px 3px #ffc62759}@media (width<=768px){.service-table{font-size:.9rem}.service-table th,.service-table td{padding:.5rem}}.logo{width:var(--logo-width,250px);height:var(--logo-height,250px);margin-left:auto;margin-right:auto;display:block}.index-title1{text-align:center;font-style:italic;font-weight:700}.index-title2{letter-spacing:-.015em;text-align:center;font-variant:small-caps;font-size:1.25rem;line-height:1.625rem}.index1{letter-spacing:-.035em;text-align:center;font-style:italic;font-weight:700;line-height:2.125rem}.index2{letter-spacing:-.035em;text-align:center;font-variant:small-caps;font-size:1.5rem;line-height:1.75rem}.index3{letter-spacing:-.035em;text-align:center;font-size:1.5rem;line-height:1.75rem}.index4{letter-spacing:-.035em;text-align:center;font-size:1.5rem;line-height:1.75rem;text-decoration:underline}.subhead{letter-spacing:-.035em;font-variant:small-caps;font-size:1.5rem;line-height:1.75rem}.bold{font-weight:700}.emphasis{font-style:italic}.uline{text-decoration:underline}.bolditalic{font-style:italic;font-weight:700}.bquote{border-left:3px solid #9e9e9e;margin-left:30px;padding-left:10px;font-style:italic}.small-text{font-size:.75rem;line-height:1.125rem}.large-text-center{text-align:center;font-size:1.25rem;line-height:1.75rem}.prewrap{white-space:pre-wrap;display:block}.hr-styled{width:75%;margin:auto}.center-text{text-align:center}.copyright{text-align:center;font-size:.75rem;line-height:1.125rem}.gold{color:#ffc627}.visited{color:#cba557}.goldseparator{color:#ffc627;margin:0 .5rem}.center-nav{text-align:center;padding:5px;font-size:1rem;line-height:1.5rem}.block{overflow-wrap:break-word;resize:none;white-space:normal;word-break:normal;background:0 0;border:none;border-radius:0;outline:none;width:100%;font-family:monospace;font-size:.875rem;line-height:1.125rem}.full-width-section.centered{flex-direction:column;justify-content:center;min-height:80vh;display:flex}.fingerprint{white-space:pre-line;font-family:monospace;display:block}.pgp-image{width:150px;height:150px}.spacer{margin:2rem 0}.separator{margin:0 .5rem}.emoji{margin-right:8px}.headline{margin-bottom:4px;font-style:italic;font-weight:700;display:block}.label{font-family:inherit;font-weight:700}.description{font-family:inherit;font-style:normal;font-weight:400;display:inline}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pgp-entry{flex-wrap:wrap;align-items:center;gap:2rem;margin-bottom:2rem;display:flex}.pgp-text{flex:2;min-width:250px}.pgp-qr{flex:1;min-width:150px}.obtainium-direct-label{margin:.25rem 0 .75rem;font-weight:700}.obtainium-manual-label{margin-top:.75rem;font-weight:700}.obtainium-img{width:185px;height:55px;margin-bottom:.25rem}.obtainium-margin{margin-left:4px}.obtainium-fa-down{color:#ffc627;margin-left:4px}.obtainium-icon{width:50px;height:50px}.proton-img{width:168px;height:24px}.redirect-text{text-align:center;margin-top:4rem}.redirect-content{text-align:center;margin-top:2rem;font-family:system-ui,sans-serif}.loading-spinner{border:4px solid #ddd;border-top-color:#ffc627;border-radius:50%;width:48px;height:48px;margin:2rem auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cc-link{text-decoration:none}.cc-img{vertical-align:text-bottom;margin-left:3px;display:inline-block;height:18px!important}#toc ul{padding-left:1.5rem;list-style-type:disc}#toc a{color:var(--color-primary,#ffc627);text-decoration:none}#toc a:hover{text-decoration:underline}.badge{height:24px;display:inline-block}.badge--cc{width:160px}.badge--gpl{width:120px}.pwa-install-button{color:#000;cursor:pointer;background-color:#ffc627;border:none;border-radius:6px;margin-top:1rem;margin-left:auto;margin-right:auto;padding:.5rem 1rem;font-family:inherit;font-size:1rem;font-weight:700;transition:background-color .2s ease-in-out;display:block;box-shadow:0 2px 4px #0003}.pwa-install-button:hover{background-color:#e6b300}.pwa-install-button:focus{outline-offset:2px;outline:2px solid #000}.foss-features{margin:0;padding-left:0;list-style-type:none}.foss-features li{margin-bottom:.5em;font-weight:600}
6
+ html{-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{color:inherit;box-sizing:border-box;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}details{display:block}summary{display:list-item}template{display:none}html{color:#222;scroll-behavior:smooth;font-size:1em;line-height:1.4}::-moz-selection{text-shadow:none;background:#191919}::selection{text-shadow:none;background:#191919}hr{border:0;border-top:1px solid #ccc;height:1px;margin:1em 0;padding:0;display:block;overflow:visible}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}body{color:#fafafa;background-color:#191919;margin:10px;font-family:Arial,Helvetica,sans-serif}a{text-decoration:none}a:link{color:#ffc627}a:hover,a:active{color:#ffc627;text-decoration:underline}a:focus{color:#111;background-color:#ffc627}a:visited,a:visited:hover{color:#cba557}a:visited:focus,a:visited:focus-visible{color:#111!important}.hidden,[hidden]{display:none!important}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visually-hidden.focusable:active,.visually-hidden.focusable:focus{clip:auto;width:auto;height:auto;white-space:inherit;margin:0;position:static;overflow:visible}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}@media print{*,:before,:after{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:#fff!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href)")"}abbr[title]:after{content:" (" attr(title)")"}a[href^=\#]:after,a[href^=javascript\:]:after{content:""}pre{white-space:pre-wrap!important}pre,blockquote{break-inside:avoid;border:1px solid #999}tr,img{break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{break-after:avoid}}.full-width-section{background-position:50%;background-size:cover;width:100%;max-width:1920px;margin:0 auto}.container{max-width:1200px;margin:0 auto;padding:0 12px}.readable{max-width:900px;margin:0 auto}header,footer{width:100%}header .container,footer .container{max-width:1200px;margin:0 auto;padding:20px 12px}.gh{border-collapse:collapse;border-spacing:0;margin:0 auto}.gh td,.gh th{border-collapse:collapse;word-break:normal;padding:10px 5px;overflow:hidden}.gh .gh-tcell{text-align:center;vertical-align:middle}@media screen and (width<=767px){.gh,.gh col{width:auto!important}.gh-wrap{-webkit-overflow-scrolling:touch;margin:auto 0;overflow-x:auto}}.soc{border-collapse:collapse;border-spacing:0;margin:0 auto}.soc td,.soc th{border-collapse:collapse;word-break:normal;padding:8px;overflow:hidden}.soc .soc-fa{text-align:center;vertical-align:middle}@media screen and (width<=767px){.soc,.soc col{width:auto!important}.soc-wrap{-webkit-overflow-scrolling:touch;margin:auto 0;overflow-x:auto}}.foss{border-collapse:collapse;border-spacing:0}.foss td,.foss th{border-collapse:collapse;word-break:normal;padding:10px 5px;overflow:hidden}.foss .foss-cell{text-align:center;vertical-align:middle}@media screen and (width<=767px){.foss,.foss col{width:auto!important}.foss-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}.bnav{text-align:center;border-collapse:collapse;border-spacing:0;margin:0 auto}.bnav td,.bnav th{text-align:center;vertical-align:middle;word-break:normal;border-style:none;padding:10px;font-size:.875rem;font-weight:700;line-height:1.125rem;overflow:hidden}.bnav .bnav-cell{text-align:center;vertical-align:middle;align-content:center}@media screen and (width<=767px){.bnav,.bnav col{width:auto!important}.bnav-wrap{-webkit-overflow-scrolling:touch;margin:auto 0;overflow-x:auto}}.bnav2{border-collapse:collapse;border-spacing:0;margin:0 auto}.bnav2 td{word-break:normal;border-style:none;padding:10px;font-size:.875rem;font-weight:700;line-height:1.125rem;overflow:hidden}.bnav2 th{word-break:normal;border-style:none;padding:12px;font-size:.875rem;line-height:1.125rem;overflow:hidden}.bnav2 .bnav2-cell{text-align:center;vertical-align:middle;align-content:center}@media screen and (width<=767px){.bnav2,.bnav2 col{width:auto!important}.bnav2-wrap{-webkit-overflow-scrolling:touch;margin:auto 0;overflow-x:auto}}.pgp{border-collapse:collapse;border-spacing:0;margin:0 auto}.pgp td{word-break:normal;border-style:none;padding:10px;font-size:.875rem;line-height:1.125rem;overflow:hidden}.pgp th{word-break:normal;border:1px solid #000;padding:10px;font-size:.875rem;line-height:1.125rem;overflow:hidden}.pgp .pgp-col1{text-align:right;vertical-align:middle;padding-right:1rem}.pgp .pgp-col2{text-align:left;vertical-align:middle;padding-left:1rem}@media screen and (width<=767px){.pgp,.pgp col{width:auto!important}.pgp-wrap{-webkit-overflow-scrolling:touch;margin:2rem 0 auto;overflow-x:auto}}#service-summary{color:#e6e6e6;margin-top:2rem;margin-bottom:2.5rem}.service-table{color:#e6e6e6;border-collapse:collapse;background-color:#191919;width:100%;font-size:.95rem}.service-table th,.service-table td{text-align:left;vertical-align:top;border-bottom:1px solid #333;padding:.75rem 1rem}.service-table th{color:#ffc627;text-transform:uppercase;background-color:#222;font-size:.85rem;font-weight:600}.service-table a{color:#ffc627;font-weight:500;text-decoration:none}.service-table a:hover{text-decoration:underline}.service-table tr:hover{background-color:#222;transition:background-color .3s,box-shadow .3s;box-shadow:0 0 10px 2px #ffc62740}.service-table tr.selected{background-color:#222;border-left:4px solid #ffc627;transition:background-color .3s,border-left-color .3s}.service-table tr.selected:hover{background-color:#252525;box-shadow:0 0 12px 3px #ffc62759}@media (width<=768px){.service-table{font-size:.9rem}.service-table th,.service-table td{padding:.5rem}}.logo{width:var(--logo-width,250px);height:var(--logo-height,250px);margin-left:auto;margin-right:auto;display:block}.index-title1{text-align:center;font-style:italic;font-weight:700}.index-title2{letter-spacing:-.015em;text-align:center;font-variant:small-caps;font-size:1.25rem;line-height:1.625rem}.index1{letter-spacing:-.035em;text-align:center;font-style:italic;font-weight:700;line-height:2.125rem}.index2{letter-spacing:-.035em;text-align:center;font-variant:small-caps;font-size:1.5rem;line-height:1.75rem}.index3{letter-spacing:-.035em;text-align:center;font-size:1.5rem;line-height:1.75rem}.index4{letter-spacing:-.035em;text-align:center;font-size:1.5rem;line-height:1.75rem;text-decoration:underline}.subhead{letter-spacing:-.035em;font-variant:small-caps;font-size:1.5rem;line-height:1.75rem}.bold{font-weight:700}.emphasis{font-style:italic}.uline{text-decoration:underline}.bolditalic{font-style:italic;font-weight:700}.bquote{border-left:3px solid #9e9e9e;margin-left:30px;padding-left:10px;font-style:italic}.small-text{font-size:.75rem;line-height:1.125rem}.large-text-center{text-align:center;font-size:1.25rem;line-height:1.75rem}.prewrap{white-space:pre-wrap;display:block}.hr-styled{width:75%;margin:auto}.center-text{text-align:center}.copyright{text-align:center;font-size:.75rem;line-height:1.125rem}.gold{color:#ffc627}.visited{color:#cba557}.gold-separator{color:#ffc627;margin:0 .5rem}.center-nav{text-align:center;padding:5px;font-size:1rem;line-height:1.5rem}.center-nav .external-icon{margin-left:.3em;font-size:.85em;position:relative;top:-.3em}.block{overflow-wrap:break-word;resize:none;white-space:normal;word-break:normal;background:0 0;border:none;border-radius:0;outline:none;width:100%;font-family:monospace;font-size:.875rem;line-height:1.125rem}.full-width-section.centered{flex-direction:column;justify-content:center;min-height:80vh;display:flex}.fingerprint{white-space:pre-line;font-family:monospace;display:block}.pgp-image{width:150px;height:150px}.spacer{margin:2rem 0}.separator{margin:0 .5rem}.emoji{margin-right:8px}.headline{margin-bottom:4px;font-style:italic;font-weight:700;display:block}.label{font-family:inherit;font-weight:700}.description{font-family:inherit;font-style:normal;font-weight:400;display:inline}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pgp-entry{flex-wrap:wrap;align-items:center;gap:2rem;margin-bottom:2rem;display:flex}.pgp-text{flex:2;min-width:250px}.pgp-qr{flex:1;min-width:150px}.obtainium-direct-label{margin:.25rem 0 .75rem;font-weight:700}.obtainium-manual-label{margin-top:.75rem;font-weight:700}.obtainium-img{width:185px;height:55px;margin-bottom:.25rem}.obtainium-margin{margin-left:4px}.obtainium-fa-down{color:#ffc627;margin-left:4px}.obtainium-icon{width:50px;height:50px}.proton-img{width:168px;height:24px}.redirect-text{text-align:center;margin-top:4rem}.redirect-content{text-align:center;margin-top:2rem;font-family:system-ui,sans-serif}.loading-spinner{border:4px solid #ddd;border-top-color:#ffc627;border-radius:50%;width:48px;height:48px;margin:2rem auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cc-link{text-decoration:none}.cc-img{vertical-align:text-bottom;margin-left:3px;display:inline-block;height:18px!important}#toc ul{padding-left:1.5rem;list-style-type:disc}#toc a{color:var(--color-primary,#ffc627);text-decoration:none}#toc a:hover{text-decoration:underline}.badge{height:24px;display:inline-block}.badge--cc{width:160px}.badge--gpl{width:120px}.pwa-install-button{color:#000;cursor:pointer;background-color:#ffc627;border:none;border-radius:6px;margin-top:1rem;margin-left:auto;margin-right:auto;padding:.5rem 1rem;font-family:inherit;font-size:1rem;font-weight:700;transition:background-color .2s ease-in-out;display:block;box-shadow:0 2px 4px #0003}.pwa-install-button:hover{background-color:#e6b300}.pwa-install-button:focus{outline-offset:2px;outline:2px solid #000}.foss-features{margin:0;padding-left:0;list-style-type:none}.foss-features li{margin-bottom:.5em;font-weight:600}
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/styles/index.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  <!-- =====================================================================
2
2
  src/lib/types/README.md
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ====================================================================== -->
@@ -40,7 +40,7 @@ TypeScript build requirement.
40
40
 
41
41
  <span style="font-size: 12px; text-align: center;">
42
42
 
43
- Copyright &copy; 2025
43
+ Copyright &copy; 2025, 2026
44
44
  **[Network Pro Strategies](https://netwk.pro) (Network Pro&trade;)**
45
45
 
46
46
  Network Pro&trade;, the shield logo, and the "Locking Down Networks...&trade;" slogan are [trademarks](https://netwk.pro/legal#trademark) of Network Pro Strategies.
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/types/appConstants.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/types/fossTypes.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/types/metadata.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,15 +1,13 @@
1
1
  /* ==========================================================================
2
2
  src/lib/unregisterServiceWorker.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
8
8
 
9
9
  /**
10
10
  * Allows for manual toggling of the service worker
11
- * DEV USE ONLY
12
- * @internal
13
11
  */
14
12
  export function unregisterServiceWorker() {
15
13
  if ('serviceWorker' in navigator) {
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/utils/env.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/utils/getUTMParams.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/utils/initAnalytics.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/utils/purify.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/utils/redirect.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/lib/utils/utm.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/+error.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/routes/+layout.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/+layout.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/routes/+page.server.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/+page.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/...404/+page.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/routes/about/+page.server.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/about/+page.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/routes/api/mock-csp/+server.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/consultation/+page.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/contact/+page.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/routes/foss/+page.server.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/foss/+page.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/routes/legal/+page.server.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/legal/+page.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/links/+page.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/routes/pgp/+page.server.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */
@@ -1,7 +1,7 @@
1
1
  <!-- ==========================================================================
2
2
  src/routes/pgp/+page.svelte
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== -->
@@ -1,7 +1,7 @@
1
1
  /* ==========================================================================
2
2
  src/routes/pgp/[key]/+server.js
3
3
 
4
- Copyright © 2025 Network Pro Strategies (Network Pro™)
4
+ Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
5
5
  SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
6
6
  This file is part of Network Pro.
7
7
  ========================================================================== */