diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0c54b53
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+*[Ss]ecrets?*
+/Data
+/Public/data
+*.apache2.conf
+/Python/Abstracts/AnPMap.py
+/Python/Abstracts/Applications.py
+.sass-cache
+__pycache__
\ No newline at end of file
diff --git a/Artbook/CDN.svg b/Artbook/CDN.svg
new file mode 100755
index 0000000..549bbb6
--- /dev/null
+++ b/Artbook/CDN.svg
@@ -0,0 +1,376 @@
+
+
diff --git a/Artbook/CDN.xcf b/Artbook/CDN.xcf
new file mode 100755
index 0000000..c036da1
Binary files /dev/null and b/Artbook/CDN.xcf differ
diff --git a/HTML/CDN.base.html b/HTML/CDN.base.html
new file mode 100644
index 0000000..78d3516
--- /dev/null
+++ b/HTML/CDN.base.html
@@ -0,0 +1,109 @@
+
+
+
+ {title_text}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {contents}
+
+
+
\ No newline at end of file
diff --git a/JSON/CDN.py.routes.json b/JSON/CDN.py.routes.json
new file mode 100644
index 0000000..2ea96aa
--- /dev/null
+++ b/JSON/CDN.py.routes.json
@@ -0,0 +1,3 @@
+[
+ "get:/ /CDN/Public"
+]
\ No newline at end of file
diff --git a/JSON/CDN.py.settings.json b/JSON/CDN.py.settings.json
new file mode 100644
index 0000000..9d6c55b
--- /dev/null
+++ b/JSON/CDN.py.settings.json
@@ -0,0 +1,42 @@
+{
+ "cdn_host_name" : "/^(https?\\:\\/{2})?cdn\\.(k3y\\.pw|(anprm\\.)?local|anprm)/",
+ "cdn_default_settings_files" : [
+ "/JSON/CDN.py.settings.json"
+ ],
+ "cdn_default_secrets_files" : [
+ "/JSON/CDN.py.settings.secrets.json"
+ ],
+ "cdn_default_i18n_files" : [
+ "/JSON/I18N/Python/CDN.py.i18n.espanol.json"
+ ],
+ "cdn_default_routes_files" : [
+ "/JSON/CDN.py.routes.json",
+ "/JSON/CDN.py.routes.secrets.json"
+ ],
+ "cdn_default_views_files" : [],
+ "cdn_resources" : {
+ "charset" : "utf-8",
+ "logo" : "/images/CDN.png",
+ "link" : "https://cdn.k3y.pw/",
+ "git" : "https://git.k3y.pw/KyMAN/CDN",
+ "project" : "CDN",
+ "web" : "https://cdn.k3y.pw",
+ "authors" : "KyMAN",
+ "class" : "cdn",
+ "snake" : "cdn",
+ "metas" : {},
+ "styles" : ["/scss/CDN.scss"],
+ "menu" : [
+ ["web", "_self", "/"],
+ ["git", "_blank", "https://git.k3y.pw/KyMAN/CDN"]
+ ],
+ "licenses" : [
+ ["copyright", null, null, {
+ "year" : "2019-2025",
+ "entity" : "KyMAN"
+ }],
+ ["cc_by_nc_sa_4"]
+ ],
+ "dictionary" : "https://wmarkdown.{domain}/json/WMarkDown.dict.es.kyman.json"
+ }
+}
\ No newline at end of file
diff --git a/JSON/I18N/Python/CDN.py.i18n.espanol.json b/JSON/I18N/Python/CDN.py.i18n.espanol.json
new file mode 100644
index 0000000..df21e5f
--- /dev/null
+++ b/JSON/I18N/Python/CDN.py.i18n.espanol.json
@@ -0,0 +1,5 @@
+{
+ "espanol" : {
+ "cdn" : "CDN"
+ }
+}
\ No newline at end of file
diff --git a/Public/css/Cantarell.v17.local.css b/Public/css/Cantarell.v17.local.css
new file mode 100644
index 0000000..8f309ad
--- /dev/null
+++ b/Public/css/Cantarell.v17.local.css
@@ -0,0 +1,73 @@
+/* latin-ext */
+@font-face{
+ font-family : "Cantarell";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Cantarell.v17/B50LF7ZDq37KMUvlO015iZJnNKuiLA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Cantarell";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Cantarell.v17/B50LF7ZDq37KMUvlO015iZJpNKs.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Cantarell";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Cantarell.v17/B50WF7ZDq37KMUvlO015iZrSEb6TDYsmgQ.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Cantarell";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Cantarell.v17/B50WF7ZDq37KMUvlO015iZrSEb6dDYs.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Cantarell";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Cantarell.v17/B50NF7ZDq37KMUvlO015gqJrLK8.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Cantarell";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Cantarell.v17/B50NF7ZDq37KMUvlO015jKJr.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Cantarell";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Cantarell.v17/B50IF7ZDq37KMUvlO01xN4d-HY6fFY8.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Cantarell";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Cantarell.v17/B50IF7ZDq37KMUvlO01xN4d-E46f.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+
\ No newline at end of file
diff --git a/Public/css/Cantarell.v17.remote.css b/Public/css/Cantarell.v17.remote.css
new file mode 100644
index 0000000..ca99e46
--- /dev/null
+++ b/Public/css/Cantarell.v17.remote.css
@@ -0,0 +1,73 @@
+/* latin-ext */
+@font-face{
+ font-family : "Cantarell";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/cantarell/v17/B50LF7ZDq37KMUvlO015iZJnNKuiLA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Cantarell";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/cantarell/v17/B50LF7ZDq37KMUvlO015iZJpNKs.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Cantarell";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/cantarell/v17/B50WF7ZDq37KMUvlO015iZrSEb6TDYsmgQ.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Cantarell";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/cantarell/v17/B50WF7ZDq37KMUvlO015iZrSEb6dDYs.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Cantarell";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/cantarell/v17/B50NF7ZDq37KMUvlO015gqJrLK8.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Cantarell";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/cantarell/v17/B50NF7ZDq37KMUvlO015jKJr.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Cantarell";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/cantarell/v17/B50IF7ZDq37KMUvlO01xN4d-HY6fFY8.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Cantarell";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/cantarell/v17/B50IF7ZDq37KMUvlO01xN4d-E46f.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+
\ No newline at end of file
diff --git a/Public/css/FA6F.v6.5.2.local.css b/Public/css/FA6F.v6.5.2.local.css
new file mode 100644
index 0000000..16e1b22
--- /dev/null
+++ b/Public/css/FA6F.v6.5.2.local.css
@@ -0,0 +1,27 @@
+@font-face {
+ font-family : "FA6FB";
+ font-style : normal;
+ font-weight : 400;
+ font-display : block;
+ src :
+ url("/data/fonts/FontAwesome.v6.5.2/fa-brands-400.woff2") format("woff2"),
+ url("/data/fonts/FontAwesome.v6.5.2/fa-brands-400.ttf") format("truetype");
+}
+@font-face {
+ font-family : "FA6FR";
+ font-style : normal;
+ font-weight : 400;
+ font-display : block;
+ src :
+ url("/data/fonts/FontAwesome.v6.5.2/fa-regular-400.woff2") format("woff2"),
+ url("/data/fonts/FontAwesome.v6.5.2/fa-regular-400.ttf") format("truetype");
+}
+@font-face {
+ font-family : "FA6FS";
+ font-style : normal;
+ font-weight : 900;
+ font-display : block;
+ src :
+ url("/data/fonts/FontAwesome.v6.5.2/fa-solid-900.woff2") format("woff2"),
+ url("/data/fonts/FontAwesome.v6.5.2/fa-solid-900.ttf") format("truetype");
+}
\ No newline at end of file
diff --git a/Public/css/FA6F.v6.5.2.remote.css b/Public/css/FA6F.v6.5.2.remote.css
new file mode 100644
index 0000000..a472d0f
--- /dev/null
+++ b/Public/css/FA6F.v6.5.2.remote.css
@@ -0,0 +1,27 @@
+@font-face {
+ font-family : "FA6FB";
+ font-style : normal;
+ font-weight : 400;
+ font-display : block;
+ src :
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.woff2") format("woff2"),
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.ttf") format("truetype");
+}
+@font-face {
+ font-family : "FA6FR";
+ font-style : normal;
+ font-weight : 400;
+ font-display : block;
+ src :
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.woff2") format("woff2"),
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.ttf") format("truetype");
+}
+@font-face {
+ font-family : "FA6FS";
+ font-style : normal;
+ font-weight : 900;
+ font-display : block;
+ src :
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2") format("woff2"),
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf") format("truetype");
+}
\ No newline at end of file
diff --git a/Public/css/FontAwesome.v6.5.2.local.css b/Public/css/FontAwesome.v6.5.2.local.css
new file mode 100644
index 0000000..e0399df
--- /dev/null
+++ b/Public/css/FontAwesome.v6.5.2.local.css
@@ -0,0 +1,27 @@
+@font-face {
+ font-family : "Font Awesome 6 Brands";
+ font-style : normal;
+ font-weight : 400;
+ font-display : block;
+ src :
+ url("/data/fonts/FontAwesome.v6.5.2/fa-brands-400.woff2") format("woff2"),
+ url("/data/fonts/FontAwesome.v6.5.2/fa-brands-400.ttf") format("truetype");
+}
+@font-face {
+ font-family : "Font Awesome 6 Free";
+ font-style : normal;
+ font-weight : 400;
+ font-display : block;
+ src :
+ url("/data/fonts/FontAwesome.v6.5.2/fa-regular-400.woff2") format("woff2"),
+ url("/data/fonts/FontAwesome.v6.5.2/fa-regular-400.ttf") format("truetype");
+}
+@font-face {
+ font-family : "Font Awesome 6 Free";
+ font-style : normal;
+ font-weight : 900;
+ font-display : block;
+ src :
+ url("/data/fonts/FontAwesome.v6.5.2/fa-solid-900.woff2") format("woff2"),
+ url("/data/fonts/FontAwesome.v6.5.2/fa-solid-900.ttf") format("truetype");
+}
\ No newline at end of file
diff --git a/Public/css/FontAwesome.v6.5.2.remote.css b/Public/css/FontAwesome.v6.5.2.remote.css
new file mode 100644
index 0000000..3c00d39
--- /dev/null
+++ b/Public/css/FontAwesome.v6.5.2.remote.css
@@ -0,0 +1,27 @@
+@font-face {
+ font-family : "Font Awesome 6 Brands";
+ font-style : normal;
+ font-weight : 400;
+ font-display : block;
+ src :
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.woff2") format("woff2"),
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.ttf") format("truetype");
+}
+@font-face {
+ font-family : "Font Awesome 6 Free";
+ font-style : normal;
+ font-weight : 400;
+ font-display : block;
+ src :
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.woff2") format("woff2"),
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.ttf") format("truetype");
+}
+@font-face {
+ font-family : "Font Awesome 6 Free";
+ font-style : normal;
+ font-weight : 900;
+ font-display : block;
+ src :
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2") format("woff2"),
+ url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf") format("truetype");
+}
\ No newline at end of file
diff --git a/Public/css/Roboto.v30.local.css b/Public/css/Roboto.v30.local.css
new file mode 100644
index 0000000..7a7cfa7
--- /dev/null
+++ b/Public/css/Roboto.v30.local.css
@@ -0,0 +1,757 @@
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOiCnqEu92Fr1Mu51QrEz0dL_nz.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOiCnqEu92Fr1Mu51QrEzQdL_nz.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOiCnqEu92Fr1Mu51QrEzwdL_nz.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOiCnqEu92Fr1Mu51QrEzMdL_nz.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOiCnqEu92Fr1Mu51QrEz8dL_nz.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOiCnqEu92Fr1Mu51QrEz4dL_nz.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOiCnqEu92Fr1Mu51QrEzAdLw.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1Mu51xIIzI.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51S7ACc3CsTKlA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51S7ACc-CsTKlA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51S7ACc2CsTKlA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51S7ACc5CsTKlA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51S7ACc1CsTKlA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51S7ACc0CsTKlA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51S7ACc6CsQ.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TLBCc3CsTKlA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TLBCc-CsTKlA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TLBCc2CsTKlA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TLBCc5CsTKlA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TLBCc1CsTKlA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TLBCc0CsTKlA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOjCnqEu92Fr1Mu51TLBCc6CsQ.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOkCnqEu92Fr1MmgVxIIzI.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOmCnqEu92Fr1Mu4mxK.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmEU9fBBc4.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("/data/fonts/Roboto.v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+
\ No newline at end of file
diff --git a/Public/css/Roboto.v30.remote.css b/Public/css/Roboto.v30.remote.css
new file mode 100644
index 0000000..9da6f54
--- /dev/null
+++ b/Public/css/Roboto.v30.remote.css
@@ -0,0 +1,757 @@
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEz0dL_nz.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzQdL_nz.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzwdL_nz.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzMdL_nz.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEz8dL_nz.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEz4dL_nz.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzAdLw.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xIIzI.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc3CsTKlA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc-CsTKlA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc2CsTKlA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc5CsTKlA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc1CsTKlA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc0CsTKlA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc6CsQ.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc3CsTKlA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc-CsTKlA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc2CsTKlA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc5CsTKlA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc1CsTKlA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc0CsTKlA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : italic;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc6CsQ.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 100;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxIIzI.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 300;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 400;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 500;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBBc4.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2") format("woff2");
+ unicode-range : U+1F00-1FFF;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto";
+ font-style : normal;
+ font-weight : 900;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+
\ No newline at end of file
diff --git a/Public/css/RobotoMono.v23.local.css b/Public/css/RobotoMono.v23.local.css
new file mode 100644
index 0000000..96023f9
--- /dev/null
+++ b/Public/css/RobotoMono.v23.local.css
@@ -0,0 +1,109 @@
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x7DF4xlVMF-BfR8bXMIjhOm3CWWoKC.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x7DF4xlVMF-BfR8bXMIjhOm3mWWoKC.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x7DF4xlVMF-BfR8bXMIjhOm36WWoKC.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x7DF4xlVMF-BfR8bXMIjhOm3KWWoKC.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x7DF4xlVMF-BfR8bXMIjhOm3OWWoKC.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x7DF4xlVMF-BfR8bXMIjhOm32WWg.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x5DF4xlVMF-BfR8bXMIjhGq3-OXg.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x5DF4xlVMF-BfR8bXMIjhPq3-OXg.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x5DF4xlVMF-BfR8bXMIjhIq3-OXg.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x5DF4xlVMF-BfR8bXMIjhEq3-OXg.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x5DF4xlVMF-BfR8bXMIjhFq3-OXg.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("/data/fonts/RobotoMono.v23/L0x5DF4xlVMF-BfR8bXMIjhLq38.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+
\ No newline at end of file
diff --git a/Public/css/RobotoMono.v23.remote.css b/Public/css/RobotoMono.v23.remote.css
new file mode 100644
index 0000000..f6cc7b7
--- /dev/null
+++ b/Public/css/RobotoMono.v23.remote.css
@@ -0,0 +1,109 @@
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm3CWWoKC.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm3mWWoKC.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm36WWoKC.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm3KWWoKC.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm3OWWoKC.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : italic;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm32WWg.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhGq3-OXg.woff2") format("woff2");
+ unicode-range : U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhPq3-OXg.woff2") format("woff2");
+ unicode-range : U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhIq3-OXg.woff2") format("woff2");
+ unicode-range : U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhEq3-OXg.woff2") format("woff2");
+ unicode-range : U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhFq3-OXg.woff2") format("woff2");
+ unicode-range : U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face{
+ font-family : "Roboto Mono";
+ font-style : normal;
+ font-weight : 100 700;
+ font-display : swap;
+ src : url("https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhLq38.woff2") format("woff2");
+ unicode-range : U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+
\ No newline at end of file
diff --git a/Public/doc/es/bugs.w.md b/Public/doc/es/bugs.w.md
new file mode 100644
index 0000000..19a75bf
--- /dev/null
+++ b/Public/doc/es/bugs.w.md
@@ -0,0 +1,13 @@
+```wmd-options
+language = es
+title_i18n = cdn_title_ bugs
+title_text = Bugs y errores - CDN
+```
+
+
+
+## Bugs y errores
+
+Esta sección va orientada a exponer todos los Bugs y errores que se reporten de este proyecto que hallan llegado al conocimiento de los desarrolladores del mismo, intentando, en la medida de lo posible, reconocer a aquellos que aportaron la detección o incluso, posibles soluciones para dar visibilidad a dichos usuarios.
+
+
diff --git a/Public/doc/es/description.w.md b/Public/doc/es/description.w.md
new file mode 100644
index 0000000..abd54fd
--- /dev/null
+++ b/Public/doc/es/description.w.md
@@ -0,0 +1,11 @@
+```wmd-options
+language = es
+title_i18n = cdn_title_description
+title_text = Descripción - CDN
+```
+
+
+
+El proyecto de KyMAN del **CDN** es un proyecto donde centralizar los recursos externos de desarrollo, de esta manera tendría acceso a autorías, fuentes y el propio recurso en cuestión tanto por el propio CDN como por el original. También permite unificar el reconocimiento de la autoría, Links tanto de interés como para dar a conocer estas tecnologías, etc.
+
+
diff --git a/Public/doc/es/design.w.md b/Public/doc/es/design.w.md
new file mode 100644
index 0000000..1c4b324
--- /dev/null
+++ b/Public/doc/es/design.w.md
@@ -0,0 +1,51 @@
+```wmd-options
+language = es
+title_i18n = cdn_title_design
+title_text = Diseño y estilo - CDN
+```
+
+
+
+## Diseño y estilo
+
+Esta sección está dedicada principalmente a comentar y exponer el estilo de este proyecto. Para empezar, este proyecto no tiene un entorno gráfico en cuestión más que la propia Web que publica los contenidos de la misma, la cual es ésta, y se basa plenamente en el proyecto AnP y WMarkdown y su diseño por defecto.
+
+Empezando por los colores, tenemos los siguientes:
+
+[|
+|= Tipo | Hexadecimal | RGBA | Muestra
+| Fondo | #EFEFEF | rgba\(239, 239, 239, 1) | [[#EFEFEF]]
+| Frontal | #222 | rgba\(34, 34, 34, 1) | [[#222]]
+| Primario | #2272D4 | rgba\(34, 114, 212, 1) | [[#2272D4]]
+| Secundario | #D47222 | rgba\(212, 114, 34, 1) | [[#D47222]]
+| Gris | #888 | rgba\(136, 136, 136, 1) | [[#888]]
+| Tabla título | #19888888 | rgba\(136, 136, 136, 0.1) | [[color rgba(136, 136, 136, 0.1)]]
+| Tabla Select | #19888888 | rgba\(136, 136, 136, 0.1) | [[color rgba(136, 136, 136, 0.1)]]
+| Tabla impar | #38888888 | rgba\(136, 136, 136, 0.2) | [[color rgba(136, 136, 136, 0.2)]]
+| Tabla par | #00FFFFFF | rgba\(255, 255, 255, 0) | [[color rgba(255, 255, 255, 0)]]
+| Borde interno | #19888888 | rgba\(136, 136, 136, 0.5) | [[color rgba(136, 136, 136, 0.5)]]
+| Diccionario | #224A7B | rgba\(34, 74, 123, 1) | [[#224A7B]]
+| Diccionario en | #7B4A22 | rgba\(123, 74, 34, 1) | [[#7B4A22]]
+| Code impar | #38C8C8C8 | rgba\(200, 200, 200, 0.2) | [[color rgba(200, 200, 200, 0.2)]]
+|]
+
+Por otro lado, tenemos las fuentes de texto usados en la Web de este proyecto, las cuales son:
+
+* **Roboto**. Para el texto en general.
+ * https://fonts.google.com/specimen/Roboto?query=roboto
+* **Roboto Mono**. Para los bloques de código.
+ * https://fonts.google.com/specimen/Roboto+Mono?query=roboto
+* **Font Awesome**. Para la iconificación general de la Web.
+ * https://fontawesome.com/
+
+El tamaño de la fuente, así como de los elementos de la Web se basan en un sistema que simulan los DPI en la Web, usando la magnitud "EM" para determinar un tamaño dinámico sobre el bloque anfitrión del mismo. Por defecto, éste se basa en dividir en 40 celdas desde el lado de la pantalla o del marco de visualización más estrecho, quedando como tamaño de fuente por defecto una celda.
+
+La cabecera hace uso de 4 celdas y el pie de página consta de 2. Ambos ordenan sus elementos en un bloque Flex a modo tupla.
+
+Finalmente tenemos el logo del proyecto, que representa una centralización de recursos sobre otros proyectos exponiendo un punto central del que parten todos los demás proyectos más grandes.
+
+((!image /images/CDN.png))
+
+> [!!] Es cierto que en el Favicon, el logo sale en blanco y negro, pero es para que destaque fuera del entorno de la Web.
+
+
diff --git a/Public/doc/es/donates.w.md b/Public/doc/es/donates.w.md
new file mode 100644
index 0000000..627b2f3
--- /dev/null
+++ b/Public/doc/es/donates.w.md
@@ -0,0 +1,55 @@
+```wmd-options
+language = es
+title_i18n = errors_manager_title_donates
+title_text = Donaciones - ErrorsManager
+```
+
+
+
+## Donaciones
+
+Este proyecto es plenamente gratuito pues es un proyecto orientado a complementar otros proyectos de los mismos desarrolladores. No tiene ningún plan de ingresos ni pasivos ni activos más allá de lo que se expone en este título. Si alguien quisiere colaborar en que este proyecto no sólo esté abierto por requisitos de los autores, sino también cara un mantenimiento hacia terceros, a continuación presentamos unas direcciones de Cryptoactivos donde se podrá donar sin ninguna cuantía mínima establecida.
+
+- **Bitcoin** o *BTC*: [bitcoin:bc1qfcjraw0ev2jyx7wy07x5pt3drak63xgacfzhj2?label=CDNDonation bc1qfcjraw0ev2jyx7wy07x5pt3drak63xgacfzhj2]
+- **Litecoin** o *LTC*: [litecoin:ltc1qhj0g4g3q855hfly7t70mgl442xe0qfqqy8xdn4?label=CDNDonation ltc1qhj0g4g3q855hfly7t70mgl442xe0qfqqy8xdn4]
+- **Dogecoin** o *DOGE*: [dogecoin:DPnHStDYMJrGADTsoFg6vLriiJaV5uBpLq?label=CDNDonation DPnHStDYMJrGADTsoFg6vLriiJaV5uBpLq]
+- **Dash**: [dash:Xc3Ytu3RaCwydG3hDLfnoJEzQ5vx8fCjYd?label=CDNDonation Xc3Ytu3RaCwydG3hDLfnoJEzQ5vx8fCjYd]
+- **Faircoin** o *FAIR*: [faircoin:fQYTZ9n7UUSQrMn5tcNhUn3gdQpkuxxuma?label=CDNDonation fQYTZ9n7UUSQrMn5tcNhUn3gdQpkuxxuma]
+
+> [!!] Mientras no halla ninguna condición de recursos que impida el mantenimiento gratuito de este servicio, éste permanecerá mantenido y público independientemente de los ingresos obtenidos a partir de los donativos.
+
+> [!#] Los usuarios que colaboren y quieran ser referenciados, éstos serán referenciados en este apartado mediante un Quote de comentario de usuario con el Nick y avatar correspondiente, pero sólo en caso de que ellos quieran aparecer aquí.
+
+> [!#] Se mantendrá informados a los usuarios de todo aquel donativo dado y la cantidad económica adquirida, y será publicado su uso y tenencia para que halla constancia pública del uso que se le dé a dichos recursos.
+
+> [!@Srx00] Quería agredecer de forma persona aquellas aportaciones que serán bien recibidas y valoradas para este proyecto, ya sea como valor simbólico como de mantenimiento. Así, que desde el desarrollo y como desarrollador de este proyecto, muchas gracias a todos aquellos que ponen su granito de arena para este proyecto y por lo tanto, en pro de todos. Muchas gracias, de verdad.
+
+### Balance
+
+A continuación se mostrará una tabla de balance con respecto a las cantidades y usos dados.
+
+[|
+|= Activo | Cantidad | Motivo | Usuario | Cantidad total actual
+| **BTC** | 0 BTC | Inicio del contador de unidades de BTC. | | 0 BTC
+| **LTC** | 0 LTC | Inicio del contador de unidades de LTC. | | 0 LTC
+| **DOGE** | 0 DOGE | Inicio del contador de unidades de DOGE. | | 0 DOGE
+| **DASH** | 0 DASH | Inicio del contador de unidades de DASH. | | 0 DASH
+| **FAIR** | 0 FAIR | Inicio del contador de unidades de FAIR. | | 0 FAIR
+|]
+
+Cómputo total actual en tenencia.
+
+[|
+|= Activo | Cantidad | Número de Operaciones
+| **BTC** | 0 BTC | 0
+| **LTC** | 0 LTC | 0
+| **DOGE** | 0 DOGE | 0
+| **DASH** | 0 DASH | 0
+| **FAIR** | 0 FAIR | 0
+|]
+
+### Donantes
+
+A continuación, los comentarios de los donantes.
+
+
\ No newline at end of file
diff --git a/Public/doc/es/faq.w.md b/Public/doc/es/faq.w.md
new file mode 100644
index 0000000..d9ce311
--- /dev/null
+++ b/Public/doc/es/faq.w.md
@@ -0,0 +1,23 @@
+```wmd-options
+language = es
+title_i18n = cdn_title_faq
+title_text = F.A.Q. - CDN
+```
+
+
+
+## F.A.Q.
+
+Esta sección es donde estarán las preguntas frecuentes con sus respuestas.
+
+> [!#] Normalmente está orientada desde el punto de vista de KyMAN, el autor de este proyecto, así como de su entorno más cercano por el hecho de la imposibilidad actual de poder tener una gestión de contacto adecuada.
+
+> [!?] **¿Por qué usar un CDN el cual no estará actualizado habiendo otras tecnologías CDN como jsDelivr entre otras opciones, así como los RAW de sus propios proyectos Git, ya sean GitHub u otros?** Pues esto va por dos motivos: el primero de todos es porque entre versiones pueden cambiar cosas que se utilizan, aunque sí es cierto que los CDN por lo general tienen, incluso pudiéndose hacer referencia mediante los RAW de los Git, esta opción es la más cercana a tener una versión de uso propia o estable a las necesidades específicas del o los proyectos que lo consuman; y por otro lado, el tema de descentralizar para evitar una caída global, estando en el mismo dominio de servidores el CDN de los consumidores principales.
+
+> [!?] **¿Por qué el proyecto tiene licencia Creative Commons BY-NC-SA? ¿Es compatible con los proyectos que vincula o proporciona Links de CDN?** Pues por el hecho de que la filosofía del autor, KyMAN, es que todo trabajo ha de ser reconocido, pese a que éste no posea una licencia o la licencia sea tan abierta que no requiera ni de reconocimiento. Creo que ya bastante se hace por la comunidad compartiendo el trabajo para más que no te tengan ni que reconocer. Además, si el autor no cobra por dicho proyecto por qué iba a cobrar otros. La licencia Creative Commons BY-NC-SA permite compartir siempre que se reconozca al autor, y en caso de haber lucro, éste no parta del este proyecto, sino que en tal caso, este proyecto sea una ayuda o característica de uso interna y el objetivo de cobro o remineración sea otro.
+
+> [!?] **¿Podría usar este proyecto en otro mío que tenga ánimo de lucro o remuneración económica?** Sí, siempre y cuando el factor de remuneración no sea este proyecto, sino otra idea o servicio ajeno a éste, es decir, se puede hacer uso de los recursos que aquí se proporcionan en las condiciones nombradas anteriormente siempre que éste no sea el factor de remuneración.
+
+> [!?] **¿Por qué si muchos proyectos tienen licencias como MIT los reconoces aquí en autoría y Links?** Porque no estoy de acuerdo con dicha licencia pues creo que ya hacen un trabajo y una ayuda a la comunidad enorme compartiendo su trabajo para más no hacer ni el mínimo esfuerzo en nombrarlos y dándolos a conocer a partir de tus proyectos personales. Creo que si se hace uso de cualquier trabajo, por muy libre que sea éste, ha de ser reconocido tanto en autoría como en vinculación Web para ayudar a su o sus desarrolladores o autores así como para dar a conocer dicha tecnología con el mismo propósito, además de poder ayudar no sólo en el término del proyecto sino a nivel curricular al o los autores. Creo que es lo mínimo que se debe de hacer. Es por esto el motivo de que este proyecto es Creative Commons BY-NC-SA.
+
+
diff --git a/Public/doc/es/fonts.w.md b/Public/doc/es/fonts.w.md
new file mode 100644
index 0000000..39e571a
--- /dev/null
+++ b/Public/doc/es/fonts.w.md
@@ -0,0 +1,192 @@
+```wmd-options
+language = es
+title_i18n = cdn_title_fonts
+title_text = Fuentes - CDN
+```
+
+
+
+## Fuentes
+
++ **FontAwesome**
+ + Licencia: Freemium
+ - Font Awesome Free License
+ - Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
+ - Fonts: SIL OFL 1.1 License
+ + Autores:
+ - Font Awesome Team
+ - https://rstudio.github.io/fontawesome/authors.html
+ - Richard Iannone
+ - Christophe Dervieux
+ - Winston Chang
+ - Dave Gandy
+ - https://x.com/davegandy
+ - https://www.linkedin.com/in/davegandy
+ - https://davegandy.github.io/
+ - https://www.instagram.com/gandydave
+ - https://blog.fontawesome.com/author/byscuits/
+ - Posit Software, PBC
+ - Web: https://fontawesome.com/
+ - https://fontawesome.com/icons/github?f=brands&s=solid
+ - Git: https://github.com/FortAwesome
+ - Más información:
+ - https://en.wikipedia.org/wiki/Font_Awesome
+ + Versión 6.5.2
+ - https://use.fontawesome.com/releases/v6.5.2/fontawesome-free-6.5.2-web.zip
+ - Cloudflare: https://cdnjs.com/libraries/font-awesome
+ - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/brands.min.css
+ - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.woff2
+ - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-brands-400.ttf
+ - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/regular.min.css
+ - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.woff2
+ - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-regular-400.ttf
+ - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/solid.min.css
+ - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.woff2
+ - https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/webfonts/fa-solid-900.ttf
+ + CDN:
+ + Compacto:
+ + [/css/FA6F.v6.5.2.local.css]
+ + [/css/FA6F.v6.5.2.remote.css]
+ - Extendido:
+ + [/css/FontAwesome.v6.5.2.local.css]
+ + [/css/FontAwesome.v6.5.2.remote.css]
++ **Cantarell**
+ + Licencia:
+ - Open Font License (https://openfontlicense.org/)
+ - Apache License 2.0 (https://gitlab.gnome.org/GNOME/cantarell-fonts/-/blob/master/COPYING)
+ + Autores:
+ - Dave Crossland
+ - Pooja Saxena
+ - Nikolaus Waxweiler
+ - Web: https://cantarell.gnome.org/
+ - Git: https://gitlab.gnome.org/GNOME/cantarell-fonts
+ - Google Fonts: https://fonts.google.com/specimen/Cantarell
+ - https://fonts.googleapis.com/css2?family=Cantarell:ital,wght@0,400;0,700;1,400;1,700&display=swap
+ - Versión 17
+ - https://fonts.gstatic.com/s/cantarell/v17/B50LF7ZDq37KMUvlO015iZJnNKuiLA.woff2
+ - https://fonts.gstatic.com/s/cantarell/v17/B50LF7ZDq37KMUvlO015iZJpNKs.woff2
+ - https://fonts.gstatic.com/s/cantarell/v17/B50WF7ZDq37KMUvlO015iZrSEb6TDYsmgQ.woff2
+ - https://fonts.gstatic.com/s/cantarell/v17/B50WF7ZDq37KMUvlO015iZrSEb6dDYs.woff2
+ - https://fonts.gstatic.com/s/cantarell/v17/B50NF7ZDq37KMUvlO015gqJrLK8.woff2
+ - https://fonts.gstatic.com/s/cantarell/v17/B50NF7ZDq37KMUvlO015jKJr.woff2
+ - https://fonts.gstatic.com/s/cantarell/v17/B50IF7ZDq37KMUvlO01xN4d-HY6fFY8.woff2
+ - https://fonts.gstatic.com/s/cantarell/v17/B50IF7ZDq37KMUvlO01xN4d-E46f.woff2
+ + CDN:
+ + [/css/Cantarell.v17.local.css]
+ + [/css/Cantarell.v17.remote.css]
++ **Roboto**
+ + Licencia: Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
+ + Autores: Christian Robertson
+ - Git: https://github.com/googlefonts/roboto
+ - Más información:
+ - https://en.wikipedia.org/wiki/Roboto
+ - Google Fonts: https://fonts.google.com/specimen/Roboto
+ - https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap
+ - v30
+ - https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEz0dL_nz.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzQdL_nz.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzwdL_nz.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzMdL_nz.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEz8dL_nz.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEz4dL_nz.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOiCnqEu92Fr1Mu51QrEzAdLw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xIIzI.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc3CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc-CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc2CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc5CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc1CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc0CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc6CsQ.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc3CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc-CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc2CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc5CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc1CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc0CsTKlA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TLBCc6CsQ.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1MmgVxIIzI.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBBc4.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2
+ - https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2
+ - https://fonts.google.com/specimen/Roboto+Mono
+ - https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap
+ - v23
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm3CWWoKC.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm3mWWoKC.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm36WWoKC.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm3KWWoKC.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm3OWWoKC.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x7DF4xlVMF-BfR8bXMIjhOm32WWg.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhGq3-OXg.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhPq3-OXg.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhIq3-OXg.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhEq3-OXg.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhFq3-OXg.woff2
+ - https://fonts.gstatic.com/s/robotomono/v23/L0x5DF4xlVMF-BfR8bXMIjhLq38.woff2
+ + CDN:
+ + [/css/Roboto.v30.local.css]
+ + [/css/Roboto.v30.remote.css]
+ + Mono:
+ + [/css/RobotoMono.v23.local.css]
+ + [/css/RobotoMono.v23.remote.css]
+
+
diff --git a/Public/doc/es/opinions.w.md b/Public/doc/es/opinions.w.md
new file mode 100644
index 0000000..5381f16
--- /dev/null
+++ b/Public/doc/es/opinions.w.md
@@ -0,0 +1,17 @@
+```wmd-options
+language = es
+title_i18n = cdn_title_opinions
+title_text = Opiniones y comentarios - CDN
+```
+
+
+
+## Opiniones y comentarios
+
+Esta sección va dedicada a publicar las opiniones y comentarios de usuarios cercanos a los desarrolladores del proyecto para que halla una visión externa a éste, aprobechando la confianza en éstos tanto para lo bueno como para lo malo.
+
+> [!@Srx00] Quería agradecer personalmente a todos aquellos que me han dado una opinión y/o comentario acerca de este proyecto. Lo valor mucho pues sea como crítica para aprender como apoyo a continuar con este tipo de trabajos, me son realmente importantes. ¡Muchas gracias!
+
+> [!@Srx00] Este proyecto va orientado principalmente para mi uso personal y profesional, con la intención de tener siempre acceso a recursos agenos a mis proyectos los cuales consumo en otros proyectos personales y profesionales, intentando dar reconocimiento a los autores de dichos proyectos pues ya bastante hacen compartiéndolos pues que mínimo su reconocimiento, intentando dar a conocer sus habilitades y trabajos en la medida de mis posibilidades. Desde este proyecto quiero dar las gracias a estas personas que nos aportan tanto a toda la comunidad de Internet y espero sea de agrado y útil para todos.
+
+
diff --git a/Public/doc/es/projects.w.md b/Public/doc/es/projects.w.md
new file mode 100644
index 0000000..eb89d99
--- /dev/null
+++ b/Public/doc/es/projects.w.md
@@ -0,0 +1,23 @@
+```wmd-options
+language = es
+title_i18n = cdn_title_projects
+title_text = Proyectos - CDN
+```
+
+
+
+## Proyectos
+
+A continuación, se expondrán los proyectos de los cuales se nutre este proyecto internamente:
+
+
+
+Ahora se expondrán los proyectos los cuales hace uso este proyecto para almacenar como CDN:
+
+
+
+Y finalmente, se dejan a continuación, todos los proyectos que nos referencia como consumidores de este proyecto:
+
+
+
+
diff --git a/Public/doc/es/resources.w.md b/Public/doc/es/resources.w.md
new file mode 100644
index 0000000..3fe32b9
--- /dev/null
+++ b/Public/doc/es/resources.w.md
@@ -0,0 +1,71 @@
+```wmd-options
+language = es
+title_i18n = cdn_title_resources
+title_text = Recursos - CDN
+```
+
+
+
+## Recursos
+
++ **highlight.js** \(Syntax Highlighter para JavaScript Browser)
+ + Autores: https://github.com/orgs/highlightjs/people
+ + Licencia: BSD 3-Clause License
+ + Links:
+ + https://highlightjs.org/
+ + https://highlightjs.readthedocs.io/en/latest/
+ - Remotos:
+ + https://www.npmjs.com/package/highlight.js
+ - cdnjs
+ - https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css
+ - https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js
+ + CDN:
+ + [/data/scripts/Highlight.v11.10.0.min.js]
+ + [/data/styles/Highlight.v11.10.0.min.css]
++ **MathJax** \(Formateador de funciones matemáticas por MathJax vía TEX)
+ + Autores:
+ + Davide Cervone: https://github.com/dpvc
+ + Volker Sorge: https://github.com/zorkow
+ + Licencia: Licencia Apache, versión 2.0
+ + Links:
+ + https://www.mathjax.org
+ + https://docs.mathjax.org/en/latest/
+ + https://github.com/mathjax/MathJax
+ - Remotos:
+ -https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
+ + CDN:
+ + [/data/scripts/tex-mml-chtml.v3.2.2.js]
++ **Mermaid** \(Gestor de gráficos, esquemas y flujos)
+ + Autores: https://mermaid.js.org/#meet-the-team
+ + Licencia: MIT License
+ + Links:
+ + https://mermaid.js.org/
+ + https://mermaid.live/
+ + https://github.com/mermaid-js/mermaid
+ + https://www.npmjs.com/package/mermaid
+ - Remotos:
+ - https://cdn.jsdelivr.net/npm/mermaid@10.9.1/dist/mermaid.min.js
+ + CDN:
+ + [/data/scripts/mermaid.v10.9.1.min.js]
++ **JSZip**
+ + Autores:
+ + Stuk (Stuart Knightley)
+ + https://github.com/Stuk
+ + http://stuartk.com/
+ + Licencia:
+ + GPLv3
+ + MIT
+ + Links:
+ + https://stuk.github.io/jszip/
+ + https://github.com/Stuk/jszip/
+ + https://www.npmjs.com/package/jszip
+ - Remotos:
+ - https://cdn.jsdelivr.net/npm/jszip@3.10.1/dist/jszip.min.js
+ - cdnjs
+ - https://cdnjs.cloudflare.com/ajax/libs/jszip/2.6.0/jszip.min.js
+ - https://cdnjs.cloudflare.com/ajax/libs/jszip/2.6.0/jszip.js
+ + CDN:
+ + [/data/scripts/jszip.v3.10.1.min.js]
+ + [/data/scripts/jszip.v3.10.1.js]
+
+
diff --git a/Public/doc/es/targets.w.md b/Public/doc/es/targets.w.md
new file mode 100644
index 0000000..d52da32
--- /dev/null
+++ b/Public/doc/es/targets.w.md
@@ -0,0 +1,42 @@
+```wmd-options
+language = es
+title_i18n = cdn_title_targets
+title_text = Objetivos - CDN
+```
+
+
+
+## Objetivos
+
+Para ver el estado del proyecto con respecto a lo que sería el objetivo final, tenemos lo siguiente:
+
++ [X] Montar aplicación AnP Python.
++ [X] Establecer formato WMarkdown para la Web.
++ [-] Registrar fuentes.
+ + [X] FontAwesome.
+ + [X] CSS local.
+ + [X] CSS remoto.
+ + [X] Cantarell.
+ + [X] CSS local.
+ + [X] CSS remoto.
+ + [X] Roboto.
+ + [X] Roboto \(Normal).
+ + [X] CSS local.
+ + [X] CSS remoto.
+ + [X] Roboto Mono.
+ + [X] CSS local.
+ + [X] CSS remoto.
+ + [ ] Open Sans.
+ + [ ] Oxygen.
+ + [ ] Ubuntu.
+ + [ ] Noto.
++ [X] Registrar Scripts con sus hojas de estilos.
+ + [X] MathJax.
+ + [x] MermaidJS.
+ + [x] Syntax Highlighter.
+ + [X] JSZip.
++ [X] Montar diseño Web contra WMarkDown.
++ [-] Documentar todo.
++ [ ] Publicar.
+
+
\ No newline at end of file
diff --git a/Public/favicon.ico b/Public/favicon.ico
new file mode 100644
index 0000000..3da3dfa
Binary files /dev/null and b/Public/favicon.ico differ
diff --git a/Public/favicon_b.ico b/Public/favicon_b.ico
new file mode 100644
index 0000000..565f243
Binary files /dev/null and b/Public/favicon_b.ico differ
diff --git a/Public/images/CDN-180.png b/Public/images/CDN-180.png
new file mode 100755
index 0000000..23c3e03
Binary files /dev/null and b/Public/images/CDN-180.png differ
diff --git a/Public/images/CDN-192.png b/Public/images/CDN-192.png
new file mode 100755
index 0000000..841109e
Binary files /dev/null and b/Public/images/CDN-192.png differ
diff --git a/Public/images/CDN-270.png b/Public/images/CDN-270.png
new file mode 100755
index 0000000..b2edb81
Binary files /dev/null and b/Public/images/CDN-270.png differ
diff --git a/Public/images/CDN-32.png b/Public/images/CDN-32.png
new file mode 100755
index 0000000..a1f72a8
Binary files /dev/null and b/Public/images/CDN-32.png differ
diff --git a/Public/images/CDN-512.png b/Public/images/CDN-512.png
new file mode 100755
index 0000000..ba5bed9
Binary files /dev/null and b/Public/images/CDN-512.png differ
diff --git a/Public/images/CDN.png b/Public/images/CDN.png
new file mode 100755
index 0000000..fadb705
Binary files /dev/null and b/Public/images/CDN.png differ
diff --git a/Public/index.w.md b/Public/index.w.md
new file mode 100644
index 0000000..5366220
--- /dev/null
+++ b/Public/index.w.md
@@ -0,0 +1,29 @@
+```wmd-options
+language = es
+title_i18n = cdn_documentation_title
+title_text = Documentación - CDN
+```
+
+```wmd
+
+[[include doc/es/description.w.md]]
+
+[[include doc/es/projects.w.md]]
+
+[[include doc/es/design.w.md]]
+
+[[include doc/es/fonts.w.md]]
+
+[[include doc/es/resources.w.md]]
+
+[[include doc/es/faq.w.md]]
+
+[[include doc/es/bugs.w.md]]
+
+[[include doc/es/targets.w.md]]
+
+[[include doc/es/opinions.w.md]]
+
+[[include doc/es/donates.w.md]]
+
+```
\ No newline at end of file
diff --git a/Public/scss/CDN.css b/Public/scss/CDN.css
new file mode 100644
index 0000000..64785c9
--- /dev/null
+++ b/Public/scss/CDN.css
@@ -0,0 +1,158 @@
+html, body {
+ height: 100%;
+ margin: 0em;
+ overflow: hidden; }
+
+.cdn {
+ position: relative;
+ top: 0em;
+ left: 0em;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ background-color: #EFEFEF;
+ color: #222; }
+ .cdn, .cdn input, .cdn button, .cdn select {
+ font-family: "Roboto"; }
+ .cdn pre, .cdn textarea,
+ .cdn .wmd-code-block,
+ .cdn .wmd-code-block ol > li::marker,
+ .cdn .wmd-code-doc > .description {
+ font-family: "Roboto Mono"; }
+ .cdn [data-icon]::before {
+ font-family: "FA6FR"; }
+ .cdn input, .cdn button, .cdn select, .cdn textarea {
+ font-size: 1em; }
+ .cdn [data-visible=false], .cdn [data-hidden=true] {
+ display: none; }
+ .cdn a[href] {
+ text-decoration: none;
+ word-break: break-word; }
+ .cdn a[href], .cdn [onclick], .cdn [onmouseover], .cdn [onmousedown], .cdn button, .cdn [type=button], .cdn [type=reset], .cdn [type=submit] {
+ cursor: pointer;
+ transition-duration: 1s; }
+ .cdn a[href]:hover, .cdn [onclick]:hover, .cdn [onmouseover]:hover, .cdn [onmousedown]:hover, .cdn button:hover, .cdn [type=button]:hover, .cdn [type=reset]:hover, .cdn [type=submit]:hover {
+ transition-duration: 0.2s; }
+ .cdn a[href], .cdn [onclick], .cdn [onmouseover], .cdn [onmousedown], .cdn button, .cdn [type=button], .cdn [type=reset], .cdn [type=submit] {
+ color: #2272D4;
+ transition-property: color; }
+ .cdn a[href]:hover, .cdn [onclick]:hover, .cdn [onmouseover]:hover, .cdn [onmousedown]:hover, .cdn button:hover, .cdn [type=button]:hover, .cdn [type=reset]:hover, .cdn [type=submit]:hover {
+ color: #D47222; }
+ .cdn [onmouseover], .cdn [onmousedown] {
+ color: #224a7b;
+ transition-property: color; }
+ .cdn [onmouseover]:hover, .cdn [onmousedown]:hover {
+ color: #7b4a22; }
+ .cdn a[href], .cdn [onclick] {
+ transition-property: color; }
+ .cdn button, .cdn [type=button], .cdn [type=reset], .cdn [type=submit] {
+ border-color: 0.1em solid #2272D4;
+ box-shadow: 0em 0em 0.4em #2272D4;
+ transition-property: color,border-color,box-shadow; }
+ .cdn button:hover, .cdn [type=button]:hover, .cdn [type=reset]:hover, .cdn [type=submit]:hover {
+ border-color: 0.1em solid #D47222;
+ box-shadow: 0em 0em 0.4em #D47222; }
+ .cdn .wmd-dictionary-item {
+ color: #224a7b; }
+ .cdn .wmd-dictionary-item:hover {
+ color: #7b4a22; }
+ .cdn h2 {
+ font-size: 2.6em; }
+ .cdn h3 {
+ font-size: 2.2em; }
+ .cdn h4 {
+ font-size: 1.8em; }
+ .cdn h5 {
+ font-size: 1.4em; }
+ .cdn h6 {
+ font-size: 1em; }
+ .cdn ul, .cdn ol {
+ padding: 0em 2em; }
+ .cdn header, .cdn main, .cdn footer {
+ position: absolute;
+ left: 0em;
+ width: 100%; }
+ .cdn header, .cdn footer {
+ overflow: hidden;
+ display: flex;
+ flex-direction: row;
+ box-shadow: 0em 0em 0.125em #EFEFEF, 0em 0em 0.25em #EFEFEF, 0em 0em 0.5em #EFEFEF, 0em 0em 1em #EFEFEF, 0em 0em 2em #EFEFEF; }
+ .cdn header > *, .cdn footer > * {
+ flex: auto;
+ align-self: center; }
+ .cdn header {
+ top: 0em;
+ height: 4em;
+ z-index: 20; }
+ .cdn header h1 {
+ margin: .2em 1em;
+ padding: 0em;
+ font-size: 1em;
+ text-wrap: nowrap; }
+ .cdn header h1 .image {
+ height: 3.6em; }
+ .cdn header h1 img {
+ width: auto;
+ height: 3.6em; }
+ .cdn header h1 img + span {
+ display: none; }
+ .cdn header h1 span + span {
+ font-size: 3.4em;
+ height: 0.9444444444em; }
+ .cdn header h1 a > span {
+ display: inline-block;
+ vertical-align: top; }
+ .cdn main {
+ top: 4em;
+ bottom: 2.5em;
+ padding: 1% 2%;
+ z-index: 10;
+ overflow: auto;
+ box-sizing: border-box; }
+ .cdn footer {
+ bottom: 0em;
+ height: 2.5em;
+ z-index: 30; }
+ .cdn .main-menu {
+ width: 25em;
+ text-align: center; }
+ .cdn .main-menu ul {
+ list-style-type: none;
+ margin: 0em;
+ padding: 0em; }
+ .cdn .main-menu li {
+ display: inline-block;
+ margin: 0em .6em; }
+ .cdn .licenses {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ position: absolute;
+ left: 0em;
+ bottom: 0em;
+ width: 100%;
+ text-align: center;
+ padding: .1em .2em;
+ font-weight: 900;
+ font-size: .85em;
+ box-sizing: border-box; }
+ .cdn .license {
+ display: flex;
+ flex-direction: row;
+ align-self: center;
+ margin: 0em .2em;
+ text-align: center;
+ box-sizing: border-box; }
+ .cdn .license span {
+ flex: auto;
+ align-self: center; }
+ .cdn .license > * {
+ vertical-align: middle; }
+ .cdn .license img {
+ width: auto;
+ height: 2.5em;
+ margin: .2em .2em; }
+ .cdn main {
+ overflow: auto; }
+
+/*# sourceMappingURL=CDN.css.map */
diff --git a/Public/scss/CDN.css.map b/Public/scss/CDN.css.map
new file mode 100644
index 0000000..f8d2416
--- /dev/null
+++ b/Public/scss/CDN.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "AAAA,UAAS;EACL,MAAM,EAAG,IAAI;EACb,MAAM,EAAG,GAAG;EACZ,QAAQ,EAAG,MAAM;;AAMrB,IAAI;ECmBA,QAAQ,EAAG,QAAQ;EACnB,GAAG,EAAG,GAAG;EACT,IAAI,EAAG,GAAG;EACV,KAAK,EAAG,IAAI;EACZ,MAAM,EAAG,IAAI;EACb,QAAQ,EAAG,MAAM;EA4Hb,gBAAgB,ECzJV,OAAO;ED0Jb,KAAK,EC3JC,IAAI;EDgCd,0CAAqB;IAAC,WAAW,ECtBtB,QAAQ;EDuBnB;;;mCAG0B;IAAC,WAAW,ECxB7B,aAAa;EDyBtB,wBAAmB;IAAC,WAAW,ECvBtB,OAAO;EDwBhB,mDAA4B;IAAC,SAAS,EAAG,GAAG;EAE5C,kDAAuC;IAAC,OAAO,EAAG,IAAI;EAEtD,YAAO;IACH,eAAe,EAAG,IAAI;IACtB,UAAU,EAAG,UAAU;EAE3B,4IAA6F;IACzF,MAAM,EAAG,OAAO;IAChB,mBAAmB,ECpBT,EAAE;IDqBZ,4LAAO;MAAC,mBAAmB,ECtBlB,IAAG;EDwBhB,4IAA6F;IACzF,KAAK,ECtDI,OAAO;IDuDhB,mBAAmB,EAAG,KAAK;IAC3B,4LAAO;MAAC,KAAK,ECvDF,OAAO;EDyDtB,sCAA2B;IACvB,KAAK,EAAG,OAAqC;IAC7C,mBAAmB,EAAG,KAAK;IAC3B,kDAAO;MAAC,KAAK,EAAG,OAAuC;EAO3D,4BAAiB;IAAC,mBAAmB,EAAG,KAAK;EAC7C,sEAA+C;IAC3C,YAAY,EAAG,mBAAyB;IACxC,UAAU,EAAG,qBAA2B;IACxC,mBAAmB,EAAG,6BAA6B;IACnD,8FAAO;MACH,YAAY,EAAG,mBAA2B;MAC1C,UAAU,EAAG,qBAA6B;EAIlD,yBAAoB;IAChB,KAAK,EAAG,OAAqC;IAC7C,+BAAO;MAAC,KAAK,EAAG,OAAuC;EAIvD,OAAM;IAAC,SAAS,EAAG,KAAmB;EAAtC,OAAM;IAAC,SAAS,EAAG,KAAmB;EAAtC,OAAM;IAAC,SAAS,EAAG,KAAmB;EAAtC,OAAM;IAAC,SAAS,EAAG,KAAmB;EAAtC,OAAM;IAAC,SAAS,EAAG,GAAmB;EAG1C,gBAAK;IACD,OAAO,EAAG,OAAO;EAGrB,mCAAkB;IACd,QAAQ,EAAG,QAAQ;IACnB,IAAI,EAAG,GAAG;IACV,KAAK,EAAG,IAAI;EAEhB,wBAAa;IACT,QAAQ,EAAG,MAAM;IACjB,OAAO,EAAG,IAAI;IACd,cAAc,EAAG,GAAG;IAxFxB,UAAU,EACN,gHAIuB;IAqFvB,gCAAG;MACC,IAAI,EAAG,IAAI;MACX,UAAU,EAAG,MAAM;EAG3B,WAAM;IACF,GAAG,EAAG,GAAG;IACT,MAAM,EC1FG,GAAG;ID2FZ,OAAO,EAAG,EAAE;IACZ,cAAE;MACE,MAAM,EAAG,QAAQ;MACjB,OAAO,EAAG,GAAG;MACb,SAAS,EAAG,GAAG;MACf,SAAS,EAAG,MAAM;MAClB,qBAAM;QAAC,MAAM,EAAG,KAAyB;MACzC,kBAAG;QACC,KAAK,EAAG,IAAI;QACZ,MAAM,EAAG,KAAyB;QAClC,yBAAM;UAAC,OAAO,EAAG,IAAI;MAEzB,0BAAS;QACL,SAAS,EAAG,KAAyB;QACrC,MAAM,EAAG,cAAiE;MAE9E,uBAAM;QACF,OAAO,EAAG,YAAY;QACtB,cAAc,EAAG,GAAG;EAIhC,SAAI;IACA,GAAG,EClHM,GAAG;IDmHZ,MAAM,EClHG,KAAK;IDmHd,OAAO,EAAG,KAAK;IACf,OAAO,EAAG,EAAE;IACZ,QAAQ,EAAG,IAAI;IACf,UAAU,EAAG,UAAU;EAE3B,WAAM;IACF,MAAM,EAAG,GAAG;IACZ,MAAM,EC1HG,KAAK;ID2Hd,OAAO,EAAG,EAAE;EAiBhB,eAAU;IACN,KAAK,EAAG,IAAI;IACZ,UAAU,EAAG,MAAM;IACnB,kBAAE;MACE,eAAe,EAAG,IAAI;MACtB,MAAM,EAAG,GAAG;MACZ,OAAO,EAAG,GAAG;IAEjB,kBAAE;MACE,OAAO,EAAG,YAAY;MACtB,MAAM,EAAG,QAAQ;EAIzB,cAAS;IACL,OAAO,EAAG,IAAI;IACd,cAAc,EAAG,GAAG;IACpB,eAAe,EAAG,MAAM;IACxB,QAAQ,EAAG,QAAQ;IACnB,IAAI,EAAG,GAAG;IACV,MAAM,EAAG,GAAG;IACZ,KAAK,EAAG,IAAI;IACZ,UAAU,EAAG,MAAM;IACnB,OAAO,EAAG,SAAS;IACnB,WAAW,EAAG,GAAG;IACjB,SAAS,EAAG,KAAK;IACjB,UAAU,EAAG,UAAU;EAG3B,aAAQ;IACJ,OAAO,EAAG,IAAI;IACd,cAAc,EAAG,GAAG;IACpB,UAAU,EAAG,MAAM;IACnB,MAAM,EAAG,QAAQ;IACjB,UAAU,EAAG,MAAM;IACnB,UAAU,EAAG,UAAU;IACvB,kBAAI;MACA,IAAI,EAAG,IAAI;MACX,UAAU,EAAG,MAAM;IAEvB,iBAAG;MAAC,cAAc,EAAG,MAAM;IAC3B,iBAAG;MACC,KAAK,EAAG,IAAI;MACZ,MAAM,EAAG,KAAK;MACd,MAAM,EAAG,SAAS;EDlM1B,SAAI;IAAC,QAAQ,EAAG,IAAI",
+"sources": ["CDN.scss","../../../AnP/Public/scss/AnP.common.scss","../../../AnP/Public/scss/AnP.settings.scss"],
+"names": [],
+"file": "CDN.css"
+}
diff --git a/Public/scss/CDN.scss b/Public/scss/CDN.scss
new file mode 100644
index 0000000..05738c0
--- /dev/null
+++ b/Public/scss/CDN.scss
@@ -0,0 +1,13 @@
+html,body{
+ height : 100%;
+ margin : 0em;
+ overflow : hidden;
+}
+
+@import "../../../AnP/Public/scss/AnP.settings.scss";
+@import "../../../AnP/Public/scss/AnP.common.scss";
+
+.cdn{
+ @include main_web();
+ main{overflow : auto;}
+}
\ No newline at end of file
diff --git a/Python/Application/CDN.py b/Python/Application/CDN.py
new file mode 100644
index 0000000..1cdee72
--- /dev/null
+++ b/Python/Application/CDN.py
@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+from Abstracts.AnPMap import AnP
+from Abstracts.Applications import ApplicationsAbstract
+from typing import Any, Optional
+from os.path import abspath as path_absolute
+from os.path import dirname as directory_name
+
+class CDN(ApplicationsAbstract):
+
+ def __init__(self, anp:AnP, inputs:Optional[dict[str, Any|None]|tuple|list] = None) -> None:
+ super().__init__(anp, "cdn", anp.path.get_parent(path_absolute(directory_name(__file__))), {
+ **anp.get_dictionary(inputs),
+ "cdn_default_settings_files" : "/JSON/CDN.py.settings.json"
+ })
\ No newline at end of file
diff --git a/Tool/sass.sh b/Tool/sass.sh
new file mode 100755
index 0000000..fd302ce
--- /dev/null
+++ b/Tool/sass.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+directory=`dirname $(readlink -f "$0")`
+sass $directory/../Public/scss/CDN.scss ../Public/scss/CDN.css;
\ No newline at end of file
diff --git a/version b/version
new file mode 100644
index 0000000..ba2d72c
--- /dev/null
+++ b/version
@@ -0,0 +1 @@
+0.0.1.7
\ No newline at end of file