Skip to content

Commit 88b2bfd

Browse files
committed
add missing files
1 parent be78c2c commit 88b2bfd

5 files changed

Lines changed: 884 additions & 6448 deletions

File tree

.editorconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 2
6+
insert_final_newline = true

.eleventy.js

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
const { DateTime } = require("luxon");
2+
const fs = require("fs");
3+
const markdownIt = require("markdown-it");
4+
const htmlmin = require("html-minifier");
5+
const pluginSyntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
6+
const dataHighlight = require("./src/_includes/shortcodes/dataHighlight");
7+
const badge = require("./src/_includes/shortcodes/badge");
8+
const lazyImagesPlugin = require("eleventy-plugin-lazyimages");
9+
const isPostPublished = (post) => !post.data.draft;
10+
11+
let getSvgContent = function (file) {
12+
let relativeFilePath = `./src/assets/svg/${file}.svg`;
13+
let data = fs.readFileSync(relativeFilePath, function (err, contents) {
14+
if (err) return err;
15+
return contents;
16+
});
17+
18+
return data.toString("utf8");
19+
};
20+
21+
module.exports = function (eleventyConfig) {
22+
eleventyConfig.addShortcode("dataHighlight", dataHighlight);
23+
eleventyConfig.addShortcode("svg", getSvgContent);
24+
eleventyConfig.addShortcode("badge", badge);
25+
26+
eleventyConfig.addPlugin(lazyImagesPlugin);
27+
eleventyConfig.addPlugin(pluginSyntaxHighlight);
28+
29+
eleventyConfig.addPassthroughCopy({
30+
"./node_modules/alpinejs/dist/cdn.js": "./js/alpine.js",
31+
});
32+
eleventyConfig.addPassthroughCopy("src/assets/images");
33+
34+
const md = new markdownIt({
35+
html: true,
36+
breaks: true,
37+
linkify: true,
38+
});
39+
40+
eleventyConfig.addPairedShortcode("markdown", (content) => {
41+
return md.render(content);
42+
});
43+
44+
if (process.env.ELEVENTY_PRODUCTION) {
45+
eleventyConfig.addTransform("htmlmin", htmlminTransform);
46+
} else {
47+
eleventyConfig.setBrowserSyncConfig({
48+
callbacks: { ready: browserSyncReady },
49+
});
50+
}
51+
52+
eleventyConfig.addCollection("page", function (collections) {
53+
return collections.getFilteredByTag("page").sort(function (a, b) {
54+
return a.data.order - b.data.order;
55+
});
56+
});
57+
58+
eleventyConfig.addCollection("blog", (collection) => {
59+
return collection.getFilteredByGlob("./src/blog/*.md").filter(isPostPublished);
60+
});
61+
62+
eleventyConfig.addShortcode("currentDate", (date = DateTime.now()) => {
63+
return date;
64+
});
65+
66+
eleventyConfig.addFilter("dateFormating", (dateObj) => {
67+
return DateTime.fromJSDate(dateObj).toLocaleString(DateTime.DATE_MED);
68+
});
69+
70+
eleventyConfig.addWatchTarget("./src/styles/");
71+
72+
var pathPrefix = "";
73+
if (process.env.GITHUB_REPOSITORY) {
74+
pathPrefix = process.env.GITHUB_REPOSITORY.split("/")[1];
75+
}
76+
77+
return {
78+
dir: {
79+
input: "src",
80+
data: "_data",
81+
includes: "_includes",
82+
layouts: "_layouts",
83+
},
84+
pathPrefix,
85+
};
86+
};
87+
88+
function browserSyncReady(err, bs) {
89+
bs.addMiddleware("*", (req, res) => {
90+
const content_404 = fs.readFileSync("_site/404.html");
91+
// Add 404 http status code in request header.
92+
res.writeHead(404, { "Content-Type": "text/html; charset=ETF-8" });
93+
// Provides the 404 content without redirect.
94+
res.write(content_404);
95+
res.end();
96+
});
97+
}
98+
99+
function htmlminTransform(content, outputPath) {
100+
if (outputPath.endsWith(".html")) {
101+
let minified = htmlmin.minify(content, {
102+
useShortDoctype: true,
103+
removeComments: true,
104+
collapseWhitespace: true,
105+
});
106+
return minified;
107+
}
108+
return content;
109+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Build & Deploy
2+
3+
on:
4+
push:
5+
branches: ['main']
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
11+
strategy:
12+
matrix:
13+
node: [ 18 ]
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Use Node.js ${{ matrix.node }}
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: ${{ matrix.node }}
22+
cache: 'npm'
23+
24+
- name: Install packages
25+
run: npm ci
26+
27+
- name: Run npm build
28+
run: npm run build:prod
29+
30+
- name: Deploy to gh-pages
31+
uses: peaceiris/actions-gh-pages@v4
32+
with:
33+
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
34+
publish_dir: _site
35+
publish_branch: gh-pages

.lazyimages.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"./assets/images/index/intro.png":{"width":508,"height":508,"src":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACxLAAAsSwGlPZapAAADEElEQVR4nL2WXSi7cRTHp+RubUWWtK3JO3mdtxtuKDeaKOFCiZRJlFxwQbmRCxcSJa6542ojtotNhIjiQlp5SUJbw2YU2/ffOTU9bc+zl+h/6tfzrOd3ns9zzvec85sM/8FkUg8CgcDPNdIiE97HDBEDSO0T7o0LEupE936/H9/f37zoPvR5JJOMJOjo8XhwdXUFu90Os9mMzc1NbG9v4+zsDE9PTwwM9YkKCU3R9fU1VldXMTg4iPb2dnR2dqKrqwuzs7PY39/H5+enqJ8kREzIw8NDjI+Po6ysDNnZ2SgsLERWVhY6OjoY/vr6GuYbVyRut5vTMzQ0hJqaGhQVFaG4uBjl5eVoa2vD0tISHA4Hvr6+JAGikQi1OD8/x+LiIrq7u1FbW4vq6mro9XoGNjc3Y3JyElarFY+PjxG1EU0XOdzc3GB9fR0DAwNobGzkl+fk5CAtLQ1qtRqVlZWszfz8PE5PT/mjYkpXcMPHxwcODg4wMzODuro6ZGRkQKvV8pX0SE1NhU6n44iMRiM2Njb4o6TEF4W4XC5YLBaMjo6itLQUycnJSE9PR0VFBUPz8vIYRPo0NTVhbm4ONpsNb29votGIQp6fn7G1tYW+vj7k5uYiMTERcrmcq4tA+fn5UCgUyMzMZOj09DR2dnbw8vISO4SqigQdGxtjLZRKJRISEpCSkgKVSsW/k5KSUFBQgNbWViwsLGBvbw9erzd2CDXY8fExN1x9fT00Gg1HI5PJfhalsKqqCsPDwzCZTHh4ePh5R1RIcN3f37PzyMgIGhoaOFVqtZqri9JEovf09GB5eRkXFxd4f38XjSIMItzk8/lweXmJlZUV7hN6KRVBSUkJ62IwGDA1NcUzzel0ih4BUSMhoxyToJQS0oaqinSg1dLSwh0fLF2pKCQ1EYJOTk4wMTHBo0Sn03FD0pVm19raWlgTxj27yO7u7rjzqdJ6e3u5rPv7+7mijo6OwqZw1EhCQUFtbm9vOSK73Y7d3V0e8aQXNa1wZsV9MkZzFNqvT8ZofyQCf3HG/xYQEfKX9g8/aIaWwi+x7AAAAABJRU5ErkJggg=="},"./assets/images/index/settings.png":{"width":675,"height":1380,"src":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAZCAYAAAAFbs/PAAAACXBIWXMAAAsTAAALEwEAmpwYAAADU0lEQVR4nFWTSU/jWBSF/WeLXdU/QGEJO9YsmlLSApIWQoI0KJhMZHAadSlRHMd2EjKHojLYfh5ix8O9rWugm37S3d3j7xyf97iDg4Ovp6en329ubsSLi4v+0dFR/8vel/7e3l7/8PCwf3Z21r+8vBRPTk6+7+/vf+MymUyyXq8Lz8/Pq2azubm+vt4cHx9rNFdXV5unp6eNJEmrYqkknJ+f/87d3t4q7XZb22w2OJvNsNVqYS6XQ57nUZIkXK/X6DgOqqqq8Tyvcvf396NWq6XT8nw+jzabDTiOA0EQQBiGEEVRhIi4WCwModGYcNlsdtJoNJiiKNjr9eD19RW22y2+H0AEeBcwQRCm3N3d3azZbLL5fI4vLy+gaRq6rosAgGEE6AcAuxBxMl2wWl2YcjzPL7rdrqnrOjLG4q/7vo/Ru2AXROAFiKPJnFVqwpR7eHhYyLJsGYaBtm3DbrdDsk2EIAT0/AhcH/B5PDPLldqCy+fzLyQgK4ZhxIQwDGMBTRQBRBHgZDK1HyvVV7L0s9PpWMvlElerFRCJMgRBgEAZQh+cwEVl2HPy5eKSCLElyqBpWiywbRs9z4tFzm4L+o5heyhZfDn/kzLMZFk2GWNoWRbQMtn6EGx9F1hgoTRWzEK1OCfCWFVVwzRNWgRapOC0HIUhOv4WdN9EcdxlhWppSoKRoiixgBqm5Y/QdLxwB2boYHesslKtPOUKhcKo2+0alME0zZgQf50EgOiGHhiBhZ2xzArV8pQrFosxgcJShs89vP3WCEKIcDKbskqt/kaQZdn43ENM+CgvCsCLfBxMR+yxVn0jUGiypOs6UBayRTnI0jZwQfNNbI+6LE+hS6XSvwK62mSN7j9R6DDfgoW3RGHwg+UqD2+CXq9nUA9EsCzrP8K7YO7+wvrgb5Z75P8voAyfLyC9B9O34cVbYmPwg90ToVKpjIbDoU4N27YdeZ5Hr4xKAD9EMDwv+uVaKI5ko1QrT+iJKoPBQCPfdOk+eiBL212EzAtwvXWxO1D13MO9yqXT6aQgCHVVVZeqqq4kSVqLorjuiOK6JcprUX5edZThUhD+qmfS6RSXSCS+plKp37LZbCubzcqZTEZOJpPxpDN/yDfZP2layVTqNJFIfPsHqFkmm/hjAhUAAAAASUVORK5CYII="},"./assets/images/index/home.png":{"width":675,"height":1380,"src":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAZCAYAAAAFbs/PAAAACXBIWXMAAAsTAAALEwEAmpwYAAADs0lEQVR4nDVTW1PiSBTOn9W3mX9g6Zvlq/vmwzrKWKtUWd5dC5EkgMmoOICBXAghkCuQTtIdENRZ+2x1pubhq+46fW79nfNxGxsbX3Z3d79dXFwoh4eH5tbWlrmysmKurq6am5ub5sHBgXl8fKzs7Ox8W1tb+8oVi8V9SZJky7KiZrMZn5+fx9vb28n29l/J2dlZ3Gg04k63G91VeLlw8M937vr6WlcUJUnTFDzPg0ajAaenp3BycgIPD4+5jZAMNN1Ibkq3BlcqlexWu50GYQC+7396nkcdx6Gj0YiyexzHn29v7+B6Pr6X5BF3+e/V6On5iQydIfxxCoIAGMIwpEmS0Pf3d5aMyLLscDe3JbepKMSfTCEcTylCCJIkAdYixhjm8zn9+PgA13WJJEkOV+Z5XzXMDOEMEMaUzDJYLBfw9vYGy+USFosFZffhcEjq9brD8bzgd1RjFkwQDDyXOmMfpgnKK8QoBoQQJYRAv9/PRFH0OUEQAlXTZm7oQ8c2qOb2wUMhc4QwCBlLeZuGYcwFQRhzPM+HqqrO3MADZaBRdWSCOw0hQij/uOu6NIoi0HX9lef5KavgGz1jFqUInKlPvWgMCCeQYgwojmE6nVL2edM0Z6Iohpwgim6vZ2U4mwMmGc2yDF7nrzkW7JzN6XKxgMFgkFWrVY+riMKwoXawjcbQDW06RD5YkQM28sCYDEENLeomIbzoHVKr1RyuxN/ZleYDfnA0KPUe6MPoBe7tJrCTtxpQMmTacrsgtX+Qqig43C1/ZwstGT853fxRtltQs55BsltwZz7CjX5PfzoKSG2ZVEXe4cqVO/ux/Yz7wRA0r0+tcAiaY+ZQ3T6orkkHgQ0/X56JwFccxpKtqxrGSQoEE5qRDBIUQ4wQ5LYUU5xi0DWdCILocKIo2rpuYIwJkCyjs9ksnzIDmzDJSD5p3dCJKIoOo9VW9R6OUwIpzuh8PgcWlDsTAlmW0cVvWn+zVOEFu9lWsBeMYTyJ8mws+2QyYesNURTlVS3LItWqyAJ4u9V+wX4QwmQyZQFMAzAej9lqUDZpNsx+v/+7pVqtZhu9XholBFCafWbzJWuBOeXiSdP08/X1la03rtfrI65cvtX71iAhi18wW/4H8+UvYIJhYDr4owvLstJyuWxwR4eH+5L8Q1J0a6roVtTq6KjTUZDS6aBut4sMw4gMw5jKsiwdHR0VuPX19S+Fwve/Ly6vWheXV9pRsajt7+9pe3t7WrFY1C4vLxlahUJhd319/ev/t8oNCbvWh4AAAAAASUVORK5CYII="},"./assets/images/index/activity.png":{"width":675,"height":1380,"src":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAZCAYAAAAFbs/PAAAACXBIWXMAAAsTAAALEwEAmpwYAAADP0lEQVR4nG2R207jSBCG/bTZq5k3QBF3IN6Aix1IRjCJBm6SXKwADdhxvEKaETMGBeNNfIqTYMd2+9Q+xO5alQExK+3Fr1ZX11f1Vxe3u7v74ejo09FgMJB7vZ66v7+vtlottdX6Q93b21NPTk7Us7Mz+fDw8GhnZ+cjd3La6/DCWHp6Ut0f37975+fn3sHBgY/6+vXMu7299R4eHtxv19+k09PTz9xfF5ePT+o/flEU4Ps+yLIMw+EQRqMR/Pz5C1zXhTRNQVEU/+LiQuH4sajphhGU5RbyPK/jOGae5zWKoohRSuuyLMEwDCKKosHxPG/MZrOQUgqYEIYhw05BEKAYIYQlSQKYIwiCyV1fX1uqqoZxHANWdRwHbNuG5XIJ6/UzWmIkDAFzeJ43uZubG3s2m0VJmkJACNv4Hjiu23jfeB4EAXZI3zsgMJ/P4ziJYe25bOU5sAl9tAdhGEIYRSzLMtB1PRIEwcYZlnNtHpMoBN2xmeWtIMgiKMoCkjhGCAdHIBEEfo3ACjv4UQDzZ5PpGxt8+gLgXIQQht+q61rK87yDQGMpogk8hxvmRj7EOYWiLIHSDJIkaSxpmhZjcQQsTdOihKYQRIShtSzPXwGKS2N5nuMecIYFJwiCrus6wSpJnLA0SQG3vt1uAWNZljG8m6YZjsdjkxuPx5ppmgSDlNLGb1kUgNvFWFEUDGHLst4By7JIXddQs5rRLIM0oxCnCaRlBnSbs7L6H4AxBmW9ZZs4gBVxwfLXsEw2sKY+C8sUdNMIRQQEQWgsVVUF+bZgXkzwt2BJnAZYpR4jeQKaof93hjcgyhIIaAR+GoJPQ/CziKG1poMompwoiu8zVBVrzlexJlYztIszTCYTk5tMJtpisSAAAPiCj7+rZjXDN9u2Q0mSXgDbthsAkVfsDXi5/A5IkqRZCzvIK4Bsy+qiAkxoVFUV7qBGe1hUkiSDu7q8fJzNNT/OK0gLBrSoAT8Ahct7W6CmacHV1ZXC9b586YiTvyfy48yRpzP3Tp5uZFludH9/v1EUxVUUxZEkadLr9bpcu93+0O1+/nMwHN0NhqNpr9+fdjqd6fHx8bTf70+HwyHqrtvtfmq32x//BRDhKic8AQyoAAAAAElFTkSuQmCC"},"./assets/images/index/screenshot-2.png":{"width":1280,"height":2642,"src":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAZCAYAAAAFbs/PAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC/0lEQVR4nH2UC2/aVhTH/T2n7bNsrVpN3SPrF5i2QBPoGq1KSpqELECwDcnWJmpjMBCcQNK1xfj9wjb3/Kd7gWittF3pr+PH+fmc/31Yerz2/U6x8IteebHNNooFun/vG/rqyy+E7t/7moqFddrZfs7Wf/25u/bDo21p69lTvdlsmL2eTiftFpXLJXr48IFQuVSidrtFut6l5nF9svVbuSs1GnVmGAYRANt2SNM07O3tCWkXF7Ati4gIxvCS1WtHc6nVUmk8HhFjRLPZDFEUkeu65HkeRXFCsywDATQej6mlKiSpqkyDQZ9838d0atJ0OiXTNGHaNkzXp4kfkjfL0DcMUuQmSW1VocvLAQVBAJ5sWRaPsBwXUy+A6UfkpzkGxhUpCgdaKq4MA8lsBs914dkWXMuE69rwwghulCDOGYbX11AUGdLpSRvv/34HMbj1eQbk6SIuHoKPd7c3aKkypJO2ipubsXiYpSmyJEYahyLmeYYsW4Dj0Qiq0gT3IG741KVpijxbJK2Upql4NxpdLwBZacC4GiLNUsRxDD61POk/gbp8hIHRR5IlfA2QJIlIms/nYIyJyAdvW3g4lPfRHXYQJAECPxAQr7JKZIyJeHuzNH10fAB90EEQB/A9H3w9eGu8Hd4KWwJ3FY7rVfR1DWHow/sf4HYFNOuHGPS6iKMQvh8gDMNP2mKfA/VGFb1+B2EUiK9zgIubz/P8zssdUF2ZnoV3AK/w75n6BKgdH6C3NO15HviuXflYrcnnpqmva+T7LizLItu24TiOAJci3tpodE0tVSZumga9DgW+B9u2OSC2+FLinvu5MoaL81BrHNC59oY+WFN6/3ECyxIHiCbmZBVFlX5PJ7nZIOlltcL+fHtOH1wHE9slj1dyHCHX8+C4rjhcnY5Gh9X9ubS5WehUDvYnp2dn7PT1a3r16i/xp2i3VXF9fn5GF2/fsFrtj4/l0oYmrX337fONJwVtd/dFXqns0Nazp/SkuC7Er3crO7T3spKXNovaTz8++v0fPwc3EWcuiQ0AAAAASUVORK5CYII="},"./assets/images/index/screenshot-3.png":{"width":1280,"height":2642,"src":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAZCAYAAAAFbs/PAAAACXBIWXMAAAsTAAALEwEAmpwYAAACw0lEQVR4nHVTDU/aYBDu/3Tut2ya6GJmNPsByzYQxek0OufHRmkpIBqzRKUfMFE+lkwQWkoLbSnv3XIvlDjNmjztm+aee567e094t/J2Px77YBx83WOJeAzm517Dy9kZmH0xA/Nzr2At9gn293ZZ7ON7fWV5aU/Y3v5sKErmoVwuwflZATY3k/BmcQEWFxcgmdyAQuEUDEMHJSO1tj8ndUGS0qxSuYERY9jpdEBVVTw+PuYoqip2TBMYA7yt3DApLY4EWZaAsjuOC06vh71eD2zbBvr2+33wPA8ZY1CrVSGfy4IgpUXQdQ0sy8Jutwuu64Lv+zgBEWA0GmH17hZy2QwIafEHqMVraD+0sP3Qgm7XQsdx0HVdHAwGhH8JSkbCcslAp2ej3TXRdXrY7/d5MKkEQYD01Os1zOeyKGRkCQ1d48GddgstyyRrVMtExUMGY8JpRCiVdLRtGyM7lJ2K9XwfB94jQj6LgiyJXMHqWmiaJicSiWw9ttSo18cKUjqFqnqN7Xab5sCtRMFhGFJLOeF3ox4ppPDq8ife3//BZrM59U6WhsMhUofGhMaYkFXSqKlXaJptpFmQBQoiUHY2VZgQFFlEXb3Gnt3lmaMAegDguSVFTmPJ0NF1x92hAAqMwJ7XIKKmFnl3qNj/ExoThYw8HpxNxTrcOwVGluA5QcJyucSze4PBlPBUoTGtIUNXQ+fXgUB1UKci+L7PifXaZNJZRYZf5RJda4yu9hMCkMN6vQan+SwI9Lqt3PBFmRCABjYBBEHAC2pEhLNCHuiuh2HIScMwhGA4Bv0jIgBAtXoH+ZxCG5diZInkabu8IEB34HHQOVKkNRZT30fC1uaGJktiS9NURpt3eXUJ5xcXHHTW1CIYusYycrq5mVxXhdXlpd3k+pp6cnQYHh0ewM6XLVhPxCGRiPMz/Ts5+hZSzOry0s5fZlM61DVVaZAAAAAASUVORK5CYII="},"./assets/images/index/screenshot-1.png":{"width":1280,"height":2642,"src":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAZCAYAAAAFbs/PAAAACXBIWXMAAAsTAAALEwEAmpwYAAAERElEQVR4nCXGaWyTBRzH8Ydsg7gBIkIkeHBHxcTECwMvSFBJFHyhJpAA2wQnzilySeQoR9dRV9auMJhlK1u3dc+ebn16PE+Ppw8d3dZ2R7utozt6bQyICYr4WjCB/n9m9cUn3y9Tp9e6WXNL2usWsx2smVSVF6ikeC8V79uTe7a9jdyiM9vW2pzS6zQuxm6zpsPh0N+ZTIai0QjZeJ602pocnucpEhmidDpFoWDfIxvfmWICAX82k07Sk8f/4OEfD2g8fhuy5IVP8mA8PoaHfz6gf588RiaVzAa6bz5jvEInhf0OmhqSaHLAhcyIj2ZiMk2PyjQdk2kmJuH3qQCNhV3kd3cR02W6TKLpLAXMPyJsOUAjznKKeyowKlRg7iP2Moq7KxDkfyEXqyam4zcFOa59Sf76txC+8TJFW9ci1r4Bw60bMdz2JsJNa2mgcT28Vz8ia105MbzxDPradyJhX4NZ7xLck1bgvnclZt2rcMf9Cia6liLWuASy7j3wv5aAcTSfRKjjUyQcq5ESliMlvIaUYzUyzjVI2F7FYMsy3NIsA392EzhFKRh70zF0N3+MSOtKDJiWImpegYj5JYywyzFgWgJfXREE5QtgFR+CVZaCEUw/QTZuRa/hRchXChEwLETv9UKEjAsQqJ8P4dJ82KqeB1u1CZyuBIxo+gFewxbI+sWwq/MhXiqAWJMPV00+HNUF6FLlw6lZBKvufVgNxWCEpgoIdZvhVC8Eq8gDd34+OisLcizKArQr8mBXF4HXvQtbQzEYW2MFrDWbwSmK0HhkHq4fyctpOJoH4/G5zoP5zHNov/gOLNf2gekyHEGrahsMh5dDs78Q1QcWQfPNnCJcKiuE+usF0B5cjMsnPkBjdSmYzuun0Kb+Csaf34b24Droyl9H7fcboS1/A5pvN0BVugqasvXQHd+O+ovlYCwGJcyag2g+vQN1h7fh2tHtMJzYgfrjn0F/6BOoy7ZA891W1J7YjfqLx8B0NqjAXzkEW/VudFz4AhbVLtg0e2DT7IWlaheaT+2E6fTnuKHcjybdSTACWw8/p0OQq4JsOge55Ty62ypxy1wJf+t5eI2nIDcr4DCqwBm1YHokO+L9Eu7He5Ac9GIi7MJ4SMB40ImJkICpfhEzIzcRDQjwOTkw3m4/BYZHqT8zC3lskqSRONyRUbiGRuGJjsEXm6BQ6g78Q8MkShIxZtFLDXKI9D1jUHn6SeUOkVLsg1LoQ6UrSJWeMOl7YjBIfdTicBHTJnhIL3aTWo7QOTGIat8gVUsD//MNksoThtYfpauubjLZBWJ4tydrDw7RzcRdSBMz1Ju6h57k3Zy5v5WYpWDmPjzhCFlF1zPGzncmA329j6aSyexkIkGpqUkavx3LSU5N0nQ6SXem09mBcPAvm9WSYPS1NQLHsQmfT3oqSR5y2HniOljiOtpz75M8JMvSUwvHJi7X1jj/A/bDOz2bFlgiAAAAAElFTkSuQmCC"}}

0 commit comments

Comments
 (0)