pull/1421/head
Andreas Rozek 2022-02-11 09:26:50 +01:00
commit 144add3c5c
357 changed files with 13317 additions and 1571 deletions

View File

@ -0,0 +1,60 @@
name: Bangle.js bug report
description: "Create a issue to help us improve!"
title: "[app/widget name] Short description of bug"
labels: ["bug"]
assignees: []
body:
- type: markdown
attributes:
value: |
**:fire: Attention: If you have a question then please ask on the [Bangle.js forum](http://forum.espruino.com/microcosms/1424/) :fire:**
-----------------------------------------------------
- type: dropdown
id: hwversion
attributes:
label: Affected hardware version
description: |
Which Bangle hardware version(s) is/are affected? _You can select multiple entries._
options:
- Bangle 1
- Bangle 2
multiple: true
validations:
required: true
- type: input
id: fwversion
attributes:
label: Your firmware version
description: |
**Please make sure you have installed the latest (released) firmware!**
To find your firmware version, check the `About` Bangle.js app or connect with [the App Loader](https://banglejs.com/apps/), click `More...` and look for a `Device Info` heading.
If the issue occurs only in "Cutting Edge" builds, please mention this.
**FW Update instructions:**
* **Bangle 2:** [firmware update instructions](https://www.espruino.com/Bangle.js2#firmware-updates)
* **Bangle 1:** [firmware update instructions](https://www.espruino.com/Bangle.js#firmware-updates)
_Hint: The links will open in-place (hold ctrl/cmd-key and click to open in a new tab instead)_
placeholder: e.g. 2v12
validations:
required: true
- type: textarea
id: report
attributes:
label: The bug
description: |
**Please also mention the expected behaviour and steps to reproduce**
placeholder: |
### Describe the bug
A clear and concise description of what the bug is.
### Expected behavior
A clear and concise description of what you expected to happen.
### Steps to reproduce
1. Do you have other apps/widgets installed that are relevant?
2. Start app xy
3. Perform some action
4. bug occurs
validations:
required: true

1
.gitignore vendored
View File

@ -9,3 +9,4 @@ appdates.csv
_config.yml _config.yml
tests/Layout/bin/tmp.* tests/Layout/bin/tmp.*
tests/Layout/testresult.bmp tests/Layout/testresult.bmp
apps.local.json

View File

@ -12,7 +12,7 @@ and that it is not licensed in another way that would make this impossible.
## How does it work? ## How does it work?
* A list of apps is in `apps.json` * A list of apps is in `apps.json` (this is auto-generated from all the `apps/yourapp/metadata.json` using Jekyll or `bin/create_apps_json.sh`)
* Each element references an app in `apps/<id>` which is uploaded * Each element references an app in `apps/<id>` which is uploaded
* When it starts, BangleAppLoader checks the JSON and compares * When it starts, BangleAppLoader checks the JSON and compares
it with the files it sees in the watch's storage. it with the files it sees in the watch's storage.
@ -53,10 +53,10 @@ easily distinguish between file types, we use the following:
is limited to 28 char filenames and appends a file extension (eg `.js`) so please is limited to 28 char filenames and appends a file extension (eg `.js`) so please
try and keep filenames short to avoid overflowing the buffer. try and keep filenames short to avoid overflowing the buffer.
* Create a folder called `apps/<id>`, lets assume `apps/myappid` * Create a folder called `apps/<id>`, lets assume `apps/myappid`
* We'd recommend that you copy files from 'Example Applications' (below) as a base, or... * We'd recommend that you copy files from one of the Examples in `apps/_example_*` (see below), or...
* `apps/myappid/app.png` should be a 48px icon * `apps/myappid/app.png` should be a 48px icon
* Use http://www.espruino.com/Image+Converter to create `apps/myappid/app-icon.js`, using a 1 bit, 4 bit or 8 bit Web Palette "Image String" * Use http://www.espruino.com/Image+Converter to create `apps/myappid/app-icon.js`, using a 1 bit, 4 bit or 8 bit Web Palette "Image String"
* Create an entry in `apps.json` as follows: * Create/modify `apps/myappid/metadata.json` as follows:
``` ```
{ "id": "myappid", { "id": "myappid",
@ -116,8 +116,7 @@ and set it to `Load default application`.
To make the process easier we've come up with some example applications that you can use as a base To make the process easier we've come up with some example applications that you can use as a base
when creating your own. Just come up with a unique name (ideally lowercase, under 20 chars), copy `apps/_example_app` when creating your own. Just come up with a unique name (ideally lowercase, under 20 chars), copy `apps/_example_app`
or `apps/_example_widget` to `apps/myappid`, and add `apps/_example_X/add_to_apps.json` to or `apps/_example_widget` to `apps/myappid`, and edit `apps/myappid/metadata.json` accordingly.
`apps.json`.
**Note:** the max filename length is 28 chars, so we suggest an app ID of under **Note:** the max filename length is 28 chars, so we suggest an app ID of under
20 so that when `.app.js`/etc gets added to the end the filename isn't cropped. 20 so that when `.app.js`/etc gets added to the end the filename isn't cropped.
@ -131,7 +130,7 @@ The app example is available in [`apps/_example_app`](apps/_example_app)
Apps are listed in the Bangle.js menu, accessible from a clock app via the middle button. Apps are listed in the Bangle.js menu, accessible from a clock app via the middle button.
* `add_to_apps.json` - insert into `apps.json`, describes the app to bootloader and loader * `metadata.json` - describes the app to bootloader and loader
* `app.png` - app icon - 48x48px * `app.png` - app icon - 48x48px
* `app-icon.js` - JS version of the icon (made with http://www.espruino.com/Image+Converter) for use in Bangle.js's menu * `app-icon.js` - JS version of the icon (made with http://www.espruino.com/Image+Converter) for use in Bangle.js's menu
* `app.js` - app code * `app.js` - app code
@ -144,11 +143,11 @@ Use the Espruino [image converter](https://www.espruino.com/Image+Converter) and
Follow this steps to create a readable icon as image string. Follow this steps to create a readable icon as image string.
1. upload a png file 1. upload a 48x48 png file - THE IMAGE SHOULD BE 48x48 OR LESS
2. set _X_ Use Compression 2. set _X_ Use Compression
3. set _X_ Transparency (optional) 3. set _X_ Transparency (optional)
4. set Diffusion: _flat_ 4. set Diffusion: _flat_
5. set Colours: _1 bit_, _4 bit_ or _8 bit Web Palette_ 5. set Colours: _1 bit_, any of the Optimised options, or _8 bit Web Palette_ are best
6. set Output as: _Image String_ 6. set Output as: _Image String_
Replace this line with the image converter output: Replace this line with the image converter output:
@ -157,6 +156,8 @@ Replace this line with the image converter output:
require("heatshrink").decompress(atob("mEwwJC/AH4A/AH4AgA==")) require("heatshrink").decompress(atob("mEwwJC/AH4A/AH4AgA=="))
``` ```
**Do not add a trailing semicolon**
You can also use this converter for creating images you like to draw with `g.drawImage()` with your app. You can also use this converter for creating images you like to draw with `g.drawImage()` with your app.
Apps that need widgets can call `Bangle.loadWidgets()` **once** at startup to load Apps that need widgets can call `Bangle.loadWidgets()` **once** at startup to load
@ -167,7 +168,7 @@ has call to completely clear the screen. Widgets themselves will update as and w
The widget example is available in [`apps/_example_widget`](apps/_example_widget) The widget example is available in [`apps/_example_widget`](apps/_example_widget)
* `add_to_apps.json` - insert into `apps.json`, describes the widget to bootloader and loader * `metadata.json` - describes the widget to bootloader and loader
* `widget.js` - widget code * `widget.js` - widget code
Widgets are just small bits of code that run whenever an app that supports them Widgets are just small bits of code that run whenever an app that supports them
@ -203,7 +204,7 @@ and which gives information about the app for the Launcher.
// if it's 'clock' then it'll be loaded by default at boot time // if it's 'clock' then it'll be loaded by default at boot time
// if this is 'bootloader' then it's code that is run at boot time, but is not in a menu // if this is 'bootloader' then it's code that is run at boot time, but is not in a menu
"version":"1.23", "version":"1.23",
// added by BangleApps loader on upload based on apps.json // added by BangleApps loader on upload based on metadata.json
"files:"file1,file2,file3", "files:"file1,file2,file3",
// added by BangleApps loader on upload - lists all files // added by BangleApps loader on upload - lists all files
// that belong to the app so it can be deleted // that belong to the app so it can be deleted
@ -215,7 +216,7 @@ and which gives information about the app for the Launcher.
} }
``` ```
### `apps.json` format ### `metadata.json` format
``` ```
{ "id": "appid", // 7 character app id { "id": "appid", // 7 character app id
@ -294,9 +295,9 @@ and which gives information about the app for the Launcher.
* storage is used to identify the app files and how to handle them * storage is used to identify the app files and how to handle them
* data is used to clean up files when the app is uninstalled * data is used to clean up files when the app is uninstalled
### `apps.json`: `custom` element ### `metadata.json`: `custom` element
Apps that can be customised need to define a `custom` element in `apps.json`, Apps that can be customised need to define a `custom` element in `metadata.json`,
which names an HTML file in that app's folder. which names an HTML file in that app's folder.
When `custom` is defined, the 'upload' button is replaced by a customize When `custom` is defined, the 'upload' button is replaced by a customize
@ -304,7 +305,7 @@ button, and when clicked it opens the HTML page specified in an iframe.
In that HTML file you're then responsible for handling a button In that HTML file you're then responsible for handling a button
press and calling `sendCustomizedApp` with your own customised press and calling `sendCustomizedApp` with your own customised
version of what's in `apps.json`: version of what's in `metadata.json`:
``` ```
<html> <html>
@ -336,9 +337,9 @@ for a clean example.
and will never be loaded. This is so the app loader can tell if it's a JavaScript and will never be loaded. This is so the app loader can tell if it's a JavaScript
file based on the extension, and if so it can minify and pretokenise it. file based on the extension, and if so it can minify and pretokenise it.
### `apps.json`: `interface` element ### `metadata.json`: `interface` element
Apps that create data that can be read back can define a `interface` element in `apps.json`, Apps that create data that can be read back can define a `interface` element in `metadata.json`,
which names an HTML file in that app's folder. which names an HTML file in that app's folder.
When `interface` is defined, a `Download from App` button is added to When `interface` is defined, a `Download from App` button is added to
@ -402,7 +403,7 @@ Example `settings.js`
E.showMenu(appMenu) E.showMenu(appMenu)
}) })
``` ```
In this example the app needs to add `myappid.settings.js` to `storage` in `apps.json`. In this example the app needs to add `myappid.settings.js` to `storage` in `metadata.json`.
It should also add `myappid.json` to `data`, to make sure it is cleaned up when the app is uninstalled. It should also add `myappid.json` to `data`, to make sure it is cleaned up when the app is uninstalled.
```json ```json
{ "id": "myappid", { "id": "myappid",
@ -513,7 +514,6 @@ The [`testing`](testing) folder contains snippets of code that might be useful f
* `testing/colors.js` - 16 bit colors as name value pairs * `testing/colors.js` - 16 bit colors as name value pairs
* `testing/gpstrack.js` - code to store a GPS track in Bangle.js storage and output it back to the console * `testing/gpstrack.js` - code to store a GPS track in Bangle.js storage and output it back to the console
* `testing/map` - code for splitting an image into map tiles and then displaying them
## Credits ## Credits

View File

@ -1,13 +1,38 @@
--- ---
# =================================================================
# ALL THE INFORMATION INSIDE APPS.JSON HAS NOW BEEN MOVED
#
# You'll find it inside a file called apps/yourapp/metadata.json
#
# Otherwise nothing has changed. GitHub Pages will automatically
# create apps.json as your site is hosted, or if you're hosting
# yourself you can run bin/create_apps_json.sh
#
# If you serve the store from localhost for development/testing,
# the loader looks for apps.local.json instead, you can run
# `bin/create_apps_json.sh apps.local.json` to create that file.
# =================================================================
# Uncomment the following line if you only want explicitly listed
# apps to be available on your site
# restricted: ["boot", "launch", "antonclk", "health", "setting", "about", "widbat", "widbt", "widlock", "widid"]
--- ---
{%- assign apps = site.static_files | where: "name", "metadata.json" -%} {%- if page.restricted == nil -%}
{%- assign apps = site.static_files | where: "name", "metadata.json" | map: "path" -%}
{%- else -%}
{%- capture temp -%}
{%- for app in page.restricted %} /apps/{{app}}/metadata.json {%- endfor -%}
{%- endcapture -%}
{%- assign apps = temp | strip | split: " " -%}
{%- endif -%}
[ [
{%- include_relative {{ apps.first.path }} -%} {%- include_relative {{ apps.first }} -%}
{%- for app in apps offset:1 -%} {%- for app in apps offset:1 -%}
,{%- include_relative {{ app.path }} -%} ,{%- include_relative {{ app }} -%}
{%- endfor -%} {%- endfor -%}
] ]

View File

@ -8,6 +8,7 @@
"tags": "Color,input,buttons,touch,UI", "tags": "Color,input,buttons,touch,UI",
"supports": ["BANGLEJS"], "supports": ["BANGLEJS"],
"readme": "README.md", "readme": "README.md",
"screenshots": [{"url":"UI4swatch_icon.png"},{"url":"UI4swatch_s1.png"}],
"storage": [ "storage": [
{"name":"UI4swatch.app.js","url":"app.js"}, {"name":"UI4swatch.app.js","url":"app.js"},
{"name":"UI4swatch.img","url":"app-icon.js","evaluate":true} {"name":"UI4swatch.img","url":"app-icon.js","evaluate":true}

View File

@ -1,2 +1,3 @@
0.01: New App! 0.01: New App!
0.02: Faster maze generation 0.02: Faster maze generation
0.03: Avoid clearing bottom widgets

View File

@ -11,13 +11,10 @@ function Maze(n) {
this.margin = Math.floor((g.getHeight()-this.total_length)/2); this.margin = Math.floor((g.getHeight()-this.total_length)/2);
this.ball_x = 0; this.ball_x = 0;
this.ball_y = 0; this.ball_y = 0;
this.clearScreen = function() { // This voodoo is needed because otherwise
g.clearRect( // bottom line widgets (like digital clock)
0, this.margin, // disappear during maze generation
g.getWidth(), this.margin+this.total_length Bangle.drawWidgets();
);
};
this.clearScreen();
g.setColor(g.theme.fg); g.setColor(g.theme.fg);
for (let i=0; i<=n; i++) { for (let i=0; i<=n; i++) {
g.drawRect( g.drawRect(
@ -66,7 +63,7 @@ function Maze(n) {
if (Math.random()<0.5 && candidates_down.length || !candidates_right.length) { if (Math.random()<0.5 && candidates_down.length || !candidates_right.length) {
trying_down = true; trying_down = true;
} }
let candidates = trying_down ? candidates_down : candidates_right; let candidates = trying_down ? candidates_down : candidates_right,
candidate_index = Math.floor(Math.random()*candidates.length), candidate_index = Math.floor(Math.random()*candidates.length),
cell = candidates.splice(candidate_index, 1)[0], cell = candidates.splice(candidate_index, 1)[0],
r = Math.floor(cell/n), r = Math.floor(cell/n),
@ -105,11 +102,6 @@ function Maze(n) {
} }
} }
} }
this.clearScreen = function() {
g.clearRect(
0, MARGIN, g.getWidth(), g.getHeight()-MARGIN-1
);
};
this.clearCell = function(r, c) { this.clearCell = function(r, c) {
if (!r && !c) { if (!r && !c) {
g.setColor("#ffff00"); g.setColor("#ffff00");
@ -263,7 +255,7 @@ let mazeMenu = {
"< Exit": function() { setTimeout(load, 100); } // timeout voodoo prevents deadlock "< Exit": function() { setTimeout(load, 100); } // timeout voodoo prevents deadlock
}; };
g.clear(true); g.reset();
Bangle.loadWidgets(); Bangle.loadWidgets();
Bangle.drawWidgets(); Bangle.drawWidgets();
Bangle.setLocked(false); Bangle.setLocked(false);
@ -289,7 +281,7 @@ let maze_interval = setInterval(
duration = Date.now()-start_time; duration = Date.now()-start_time;
g.setFontAlign(0,0).setColor(g.theme.fg); g.setFontAlign(0,0).setColor(g.theme.fg);
g.setFont("Vector",18); g.setFont("Vector",18);
g.drawString(`Solved ${maze.n}X${maze.n} in\n ${timeToText(duration)} \nClick to play again`, g.getWidth()/2, g.getHeight()/2, true); g.drawString(`Solved ${maze.n}X${maze.n} in\n ${timeToText(duration)} \nBtn1 to play again`, g.getWidth()/2, g.getHeight()/2, true);
} }
} }
}, 25); }, 25);

View File

@ -1,11 +1,11 @@
{ "id": "acmaze", { "id": "acmaze",
"name": "AccelaMaze", "name": "AccelaMaze",
"shortName":"AccelaMaze", "shortName":"AccelaMaze",
"version":"0.02", "version":"0.03",
"description": "Tilt the watch to roll a ball through a maze.", "description": "Tilt the watch to roll a ball through a maze.",
"icon": "app.png", "icon": "app.png",
"tags": "game", "tags": "game",
"supports" : ["BANGLEJS2"], "supports" : ["BANGLEJS","BANGLEJS2"],
"readme": "README.md", "readme": "README.md",
"screenshots": [{"url":"screenshot.png"}], "screenshots": [{"url":"screenshot.png"}],
"storage": [ "storage": [

View File

@ -8,6 +8,7 @@
"tags": "outdoors,widget", "tags": "outdoors,widget",
"supports": ["BANGLEJS"], "supports": ["BANGLEJS"],
"readme": "README.md", "readme": "README.md",
"screenshots": [{"url":"600.png"},{"url":"10600.png"},{"url":"1600.png"}],
"storage": [ "storage": [
{"name":"activepedom.wid.js","url":"widget.js"}, {"name":"activepedom.wid.js","url":"widget.js"},
{"name":"activepedom.settings.js","url":"settings.js"}, {"name":"activepedom.settings.js","url":"settings.js"},

View File

@ -7,7 +7,7 @@
active = active.sort((a,b)=>(a.hr-b.hr)+(a.last-b.last)*24); active = active.sort((a,b)=>(a.hr-b.hr)+(a.last-b.last)*24);
var hr = time.getHours()+(time.getMinutes()/60)+(time.getSeconds()/3600); var hr = time.getHours()+(time.getMinutes()/60)+(time.getSeconds()/3600);
if (!require('Storage').read("alarm.js")) { if (!require('Storage').read("alarm.js")) {
console.log(/*LANG*/"No alarm app!"); console.log("No alarm app!");
require('Storage').write('alarm.json',"[]"); require('Storage').write('alarm.json',"[]");
} else { } else {
var t = 3600000*(active[0].hr-hr); var t = 3600000*(active[0].hr-hr);

View File

@ -5,3 +5,4 @@
0.04: Android icon now goes to settings page with 'find phone' 0.04: Android icon now goes to settings page with 'find phone'
0.05: Fix handling of message actions 0.05: Fix handling of message actions
0.06: Option to keep messages after a disconnect (default false) (fix #1186) 0.06: Option to keep messages after a disconnect (default false) (fix #1186)
0.07: Include charging state in battery updates to phone

View File

@ -50,8 +50,9 @@
}; };
// Battery monitor // Battery monitor
function sendBattery() { gbSend({ t: "status", bat: E.getBattery() }); } function sendBattery() { gbSend({ t: "status", bat: E.getBattery(), chg: Bangle.isCharging()?1:0 }); }
NRF.on("connect", () => setTimeout(sendBattery, 2000)); NRF.on("connect", () => setTimeout(sendBattery, 2000));
Bangle.on("charging", sendBattery);
if (!settings.keep) if (!settings.keep)
NRF.on("disconnect", () => require("messages").clearAll()); // remove all messages on disconnect NRF.on("disconnect", () => require("messages").clearAll()); // remove all messages on disconnect
setInterval(sendBattery, 10*60*1000); setInterval(sendBattery, 10*60*1000);

View File

@ -2,7 +2,7 @@
"id": "android", "id": "android",
"name": "Android Integration", "name": "Android Integration",
"shortName": "Android", "shortName": "Android",
"version": "0.06", "version": "0.07",
"description": "Display notifications/music/etc sent from the Gadgetbridge app on Android. This replaces the old 'Gadgetbridge' Bangle.js widget.", "description": "Display notifications/music/etc sent from the Gadgetbridge app on Android. This replaces the old 'Gadgetbridge' Bangle.js widget.",
"icon": "app.png", "icon": "app.png",
"tags": "tool,system,messages,notifications,gadgetbridge", "tags": "tool,system,messages,notifications,gadgetbridge",

View File

@ -2,3 +2,4 @@
0.02: Fix JSON save format 0.02: Fix JSON save format
0.03: Add "Calculating" placeholder, update JSON save format 0.03: Add "Calculating" placeholder, update JSON save format
0.04: Fix tapping at very bottom of list, exit on inactivity 0.04: Fix tapping at very bottom of list, exit on inactivity
0.05: Add support for bulk importing and exporting tokens

View File

@ -3,6 +3,15 @@
* GitHub: https://github.com/andrewgoz/Authentiwatch <-- Report bugs here * GitHub: https://github.com/andrewgoz/Authentiwatch <-- Report bugs here
* Bleeding edge AppLoader: https://andrewgoz.github.io/Authentiwatch/ * Bleeding edge AppLoader: https://andrewgoz.github.io/Authentiwatch/
## Important!
Tokens are stored *ONLY* on the watch. Make sure you do one or more of the following:
* Make a backup copy of the "authentiwatch.json" file.
* Export all your tokens to another device or print the QR code.
Keep those copies safe and secure.
## Supports ## Supports
* Google Authenticator compatible 2-factor authentication * Google Authenticator compatible 2-factor authentication
@ -14,8 +23,8 @@
* Between 6 and 10 digits * Between 6 and 10 digits
* Phone/PC configuration web page: * Phone/PC configuration web page:
* Add/edit/delete/arrange tokens * Add/edit/delete/arrange tokens
* Scan QR codes * Scan token and migration(import) QR codes
* Produce scannable QR codes * Produce scannable token and migration(export) QR codes
## Usage ## Usage
@ -24,6 +33,8 @@
* Swipe right to exit to the app launcher. * Swipe right to exit to the app launcher.
* Swipe left on selected counter token to advance the counter to the next value. * Swipe left on selected counter token to advance the counter to the next value.
![Screenshot](screenshot.png)
## Creator ## Creator
Andrew Gregory (andrew.gregory at gmail) Andrew Gregory (andrew.gregory at gmail)

View File

@ -1,4 +1,5 @@
const tokenentryheight = 46; const tokenextraheight = 16;
var tokendigitsheight = 30;
// Hash functions // Hash functions
const crypto = require("crypto"); const crypto = require("crypto");
const algos = { const algos = {
@ -44,9 +45,6 @@ function b32decode(seedstr) {
} }
} }
} }
if (bitcount > 0) {
retstr += String.fromCharCode(buf << (8 - bitcount));
}
var retbuf = new Uint8Array(retstr.length); var retbuf = new Uint8Array(retstr.length);
for (i in retstr) { for (i in retstr) {
retbuf[i] = retstr.charCodeAt(i); retbuf[i] = retstr.charCodeAt(i);
@ -117,27 +115,31 @@ function drawToken(id, r) {
var y1 = r.y; var y1 = r.y;
var x2 = r.x + r.w - 1; var x2 = r.x + r.w - 1;
var y2 = r.y + r.h - 1; var y2 = r.y + r.h - 1;
var adj, sz; var adj, lbl, sz;
g.setClipRect(Math.max(x1, Bangle.appRect.x ), Math.max(y1, Bangle.appRect.y ), g.setClipRect(Math.max(x1, Bangle.appRect.x ), Math.max(y1, Bangle.appRect.y ),
Math.min(x2, Bangle.appRect.x2), Math.min(y2, Bangle.appRect.y2)); Math.min(x2, Bangle.appRect.x2), Math.min(y2, Bangle.appRect.y2));
lbl = tokens[id].label.substr(0, 10);
if (id == state.curtoken) { if (id == state.curtoken) {
// current token // current token
g.setColor(g.theme.fgH); g.setColor(g.theme.fgH);
g.setBgColor(g.theme.bgH); g.setBgColor(g.theme.bgH);
g.setFont("Vector", 16); g.setFont("Vector", tokenextraheight);
// center just below top line // center just below top line
g.setFontAlign(0, -1, 0); g.setFontAlign(0, -1, 0);
adj = y1; adj = y1;
} else { } else {
g.setColor(g.theme.fg); g.setColor(g.theme.fg);
g.setBgColor(g.theme.bg); g.setBgColor(g.theme.bg);
g.setFont("Vector", 30); sz = tokendigitsheight;
do {
g.setFont("Vector", sz--);
} while (g.stringWidth(lbl) > r.w);
// center in box // center in box
g.setFontAlign(0, 0, 0); g.setFontAlign(0, 0, 0);
adj = (y1 + y2) / 2; adj = (y1 + y2) / 2;
} }
g.clearRect(x1, y1, x2, y2); g.clearRect(x1, y1, x2, y2);
g.drawString(tokens[id].label.substr(0, 10), (x1 + x2) / 2, adj, false); g.drawString(lbl, (x1 + x2) / 2, adj, false);
if (id == state.curtoken) { if (id == state.curtoken) {
if (tokens[id].period > 0) { if (tokens[id].period > 0) {
// timed - draw progress bar // timed - draw progress bar
@ -148,14 +150,14 @@ function drawToken(id, r) {
// counter - draw triangle as swipe hint // counter - draw triangle as swipe hint
let yc = (y1 + y2) / 2; let yc = (y1 + y2) / 2;
g.fillPoly([0, yc, 10, yc - 10, 10, yc + 10, 0, yc]); g.fillPoly([0, yc, 10, yc - 10, 10, yc + 10, 0, yc]);
adj = 10; adj = 12;
} }
// digits just below label // digits just below label
sz = 30; sz = tokendigitsheight;
do { do {
g.setFont("Vector", sz--); g.setFont("Vector", sz--);
} while (g.stringWidth(state.otp) > (r.w - adj)); } while (g.stringWidth(state.otp) > (r.w - adj));
g.drawString(state.otp, (x1 + adj + x2) / 2, y1 + 16, false); g.drawString(state.otp, (x1 + adj + x2) / 2, y1 + tokenextraheight, false);
} }
// shaded lines top and bottom // shaded lines top and bottom
g.setColor(0.5, 0.5, 0.5); g.setColor(0.5, 0.5, 0.5);
@ -196,15 +198,15 @@ function draw() {
} }
if (tokens.length > 0) { if (tokens.length > 0) {
var drewcur = false; var drewcur = false;
var id = Math.floor(state.listy / tokenentryheight); var id = Math.floor(state.listy / (tokendigitsheight + tokenextraheight));
var y = id * tokenentryheight + Bangle.appRect.y - state.listy; var y = id * (tokendigitsheight + tokenextraheight) + Bangle.appRect.y - state.listy;
while (id < tokens.length && y < Bangle.appRect.y2) { while (id < tokens.length && y < Bangle.appRect.y2) {
drawToken(id, {x:Bangle.appRect.x, y:y, w:Bangle.appRect.w, h:tokenentryheight}); drawToken(id, {x:Bangle.appRect.x, y:y, w:Bangle.appRect.w, h:(tokendigitsheight + tokenextraheight)});
if (id == state.curtoken && (tokens[id].period <= 0 || state.nextTime != 0)) { if (id == state.curtoken && (tokens[id].period <= 0 || state.nextTime != 0)) {
drewcur = true; drewcur = true;
} }
id += 1; id += 1;
y += tokenentryheight; y += (tokendigitsheight + tokenextraheight);
} }
if (drewcur) { if (drewcur) {
// the current token has been drawn - schedule a redraw // the current token has been drawn - schedule a redraw
@ -226,7 +228,7 @@ function draw() {
state.nexttime = 0; state.nexttime = 0;
} }
} else { } else {
g.setFont("Vector", 30); g.setFont("Vector", tokendigitsheight);
g.setFontAlign(0, 0, 0); g.setFontAlign(0, 0, 0);
g.drawString(notokens, Bangle.appRect.x + Bangle.appRect.w / 2, Bangle.appRect.y + Bangle.appRect.h / 2, false); g.drawString(notokens, Bangle.appRect.x + Bangle.appRect.w / 2, Bangle.appRect.y + Bangle.appRect.h / 2, false);
} }
@ -238,18 +240,18 @@ function draw() {
function onTouch(zone, e) { function onTouch(zone, e) {
if (e) { if (e) {
var id = Math.floor((state.listy + (e.y - Bangle.appRect.y)) / tokenentryheight); var id = Math.floor((state.listy + (e.y - Bangle.appRect.y)) / (tokendigitsheight + tokenextraheight));
if (id == state.curtoken || tokens.length == 0 || id >= tokens.length) { if (id == state.curtoken || tokens.length == 0 || id >= tokens.length) {
id = -1; id = -1;
} }
if (state.curtoken != id) { if (state.curtoken != id) {
if (id != -1) { if (id != -1) {
var y = id * tokenentryheight - state.listy; var y = id * (tokendigitsheight + tokenextraheight) - state.listy;
if (y < 0) { if (y < 0) {
state.listy += y; state.listy += y;
y = 0; y = 0;
} }
y += tokenentryheight; y += (tokendigitsheight + tokenextraheight);
if (y > Bangle.appRect.h) { if (y > Bangle.appRect.h) {
state.listy += (y - Bangle.appRect.h); state.listy += (y - Bangle.appRect.h);
} }
@ -266,12 +268,15 @@ function onTouch(zone, e) {
function onDrag(e) { function onDrag(e) {
if (e.x > g.getWidth() || e.y > g.getHeight()) return; if (e.x > g.getWidth() || e.y > g.getHeight()) return;
if (e.dx == 0 && e.dy == 0) return; if (e.dx == 0 && e.dy == 0) return;
var newy = Math.min(state.listy - e.dy, tokens.length * tokenentryheight - Bangle.appRect.h); var newy = Math.min(state.listy - e.dy, tokens.length * (tokendigitsheight + tokenextraheight) - Bangle.appRect.h);
state.listy = Math.max(0, newy); state.listy = Math.max(0, newy);
draw(); draw();
} }
function onSwipe(e) { function onSwipe(e) {
if (e == 1) {
exitApp();
}
if (e == -1 && state.curtoken != -1 && tokens[state.curtoken].period <= 0) { if (e == -1 && state.curtoken != -1 && tokens[state.curtoken].period <= 0) {
tokens[state.curtoken].period--; tokens[state.curtoken].period--;
let newsettings={tokens:tokens,misc:settings.misc}; let newsettings={tokens:tokens,misc:settings.misc};
@ -296,7 +301,7 @@ function bangle1Btn(e) {
state.curtoken = Math.max(state.curtoken, 0); state.curtoken = Math.max(state.curtoken, 0);
state.curtoken = Math.min(state.curtoken, tokens.length - 1); state.curtoken = Math.min(state.curtoken, tokens.length - 1);
var fakee = {}; var fakee = {};
fakee.y = state.curtoken * tokenentryheight - state.listy + Bangle.appRect.y; fakee.y = state.curtoken * (tokendigitsheight + tokenextraheight) - state.listy + Bangle.appRect.y;
state.curtoken = -1; state.curtoken = -1;
state.nextTime = 0; state.nextTime = 0;
onTouch(0, fakee); onTouch(0, fakee);

View File

@ -7,7 +7,10 @@
<style type="text/css"> <style type="text/css">
body{font-family:sans-serif} body{font-family:sans-serif}
body div{display:none} body div{display:none}
body.select div#tokens,body.editing div#edit,body.scanning div#scan,body.showqr div#tokenqr{display:block} body.select tr>:first-child,body.export tr>:nth-child(3),body.export tr>:nth-child(4){display:none}
body.select div.select,body.export div.export{display:block}
body.select div.export,body.export div.select{display:none}
body.select div#tokens,body.editing div#edit,body.scanning div#scan,body.showqr div#showqr,body.export div#tokens{display:block}
#tokens th,#tokens td{padding:5px} #tokens th,#tokens td{padding:5px}
#tokens tr:nth-child(odd){background-color:#ccc} #tokens tr:nth-child(odd){background-color:#ccc}
#tokens tr:nth-child(even){background-color:#eee} #tokens tr:nth-child(even){background-color:#eee}
@ -33,6 +36,12 @@ form.totp tr.hotp,form.hotp tr.totp{display:none}
/* Start of all TOTP URLs */ /* Start of all TOTP URLs */
const otpAuthUrl = 'otpauth://'; const otpAuthUrl = 'otpauth://';
/* Start of all OTP migration URLs */
const otpMigrUrl = 'otpauth-migration://offline?data=';
/* Hash algorithms */
const otpAlgos = ['SHA1','SHA256','SHA512'];
const tokentypes = ['TOTP (Timed)', 'HOTP (Counter)']; const tokentypes = ['TOTP (Timed)', 'HOTP (Counter)'];
/* Settings */ /* Settings */
@ -45,6 +54,8 @@ var tokens = settings.tokens;
*/ */
function base32clean(val, nows) { function base32clean(val, nows) {
var ret = val.replaceAll(/\s+/g, ' '); var ret = val.replaceAll(/\s+/g, ' ');
ret = ret.replaceAll(/0/g, 'O');
ret = ret.replaceAll(/1/g, 'I');
ret = ret.replaceAll(/[^A-Za-z2-7 ]/g, ''); ret = ret.replaceAll(/[^A-Za-z2-7 ]/g, '');
if (nows) { if (nows) {
ret = ret.replaceAll(/\s+/g, ''); ret = ret.replaceAll(/\s+/g, '');
@ -52,6 +63,48 @@ function base32clean(val, nows) {
return ret; return ret;
} }
function b32encode(str) {
let buf = 0, bitcount = 0, ret = '';
while (str.length > 0) {
buf <<= 8;
buf |= str.charCodeAt(0);
bitcount += 8;
str = str.substr(1);
while (bitcount >= 5) {
ret += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'[(buf >> (bitcount - 5)) & 31];
bitcount -= 5;
}
}
return ret;
}
function b32decode(seedstr) {
// RFC4648
var i, buf = 0, bitcount = 0, ret = '';
for (i in seedstr) {
var c = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'.indexOf(seedstr.charAt(i).toUpperCase(), 0);
if (c != -1) {
buf <<= 5;
buf |= c;
bitcount += 5;
if (bitcount >= 8) {
ret += String.fromCharCode(buf >> (bitcount - 8));
buf &= (0xFF >> (16 - bitcount));
bitcount -= 8;
}
}
}
return ret;
}
function makeLabel(token) {
let lbl = token['label'];
if (lbl == '') {
lbl = (token['issuer'] == '') ? token['account'] : token['issuer'] + ' (' + token['account'] + ')';
}
token['label'] = lbl.substr(0, 10);
}
/* Save changes to a token to the global tokens[] array. /* Save changes to a token to the global tokens[] array.
* id is the index into the global tokens[]. * id is the index into the global tokens[].
* forget is a flag indicating if the token should be forgotten. * forget is a flag indicating if the token should be forgotten.
@ -84,9 +137,16 @@ function saveEdit(id, forget) {
} }
} }
function showQr(url) {
tokenqr.clear();
tokenqr.makeCode(url);
qrPreviousClass = document.body.className;
document.body.className = 'showqr';
}
/* Generate and display a QR-code representing the current token. /* Generate and display a QR-code representing the current token.
*/ */
function showQrCode() { function showTokenQr() {
var fe = document.forms['edittoken'].elements; var fe = document.forms['edittoken'].elements;
var url = new String(otpAuthUrl); var url = new String(otpAuthUrl);
switch (fe['type'].value) { switch (fe['type'].value) {
@ -122,9 +182,7 @@ function showQrCode() {
if (fe['algorithm'].value != 'SHA1') { if (fe['algorithm'].value != 'SHA1') {
url += '&algorithm=' + fe['algorithm'].value; url += '&algorithm=' + fe['algorithm'].value;
} }
tokenqr.clear(); showQr(url);
tokenqr.makeCode(url);
document.body.className = 'showqr';
} }
function onTypeChanged() { function onTypeChanged() {
@ -138,6 +196,7 @@ function onTypeChanged() {
* id is the index into the global tokens[]. * id is the index into the global tokens[].
*/ */
function editToken(id) { function editToken(id) {
if (document.body.className == 'export') return;
var p; var p;
const selectMarkup = function(name, ary, cur, onchg) { const selectMarkup = function(name, ary, cur, onchg) {
var ret = '<select name="' + name + '"' + ((typeof onchg == 'string') ? ' onchange="' + onchg + '"' : '') + '>'; var ret = '<select name="' + name + '"' + ((typeof onchg == 'string') ? ' onchange="' + onchg + '"' : '') + '>';
@ -163,7 +222,7 @@ function editToken(id) {
markup += selectMarkup('digits', ['6','7','8','9','10'], tokens[id].digits); markup += selectMarkup('digits', ['6','7','8','9','10'], tokens[id].digits);
markup += '</td></tr>'; markup += '</td></tr>';
markup += '<tr><td>Hash:</td><td>'; markup += '<tr><td>Hash:</td><td>';
markup += selectMarkup('algorithm', ['SHA1','SHA256','SHA512'], tokens[id].algorithm); markup += selectMarkup('algorithm', otpAlgos, tokens[id].algorithm);
markup += '</td></tr>'; markup += '</td></tr>';
markup += '</tbody><tr><td id="advbtn" colspan="2">'; markup += '</tbody><tr><td id="advbtn" colspan="2">';
markup += '<button type="button" onclick="document.getElementById(\'edittoken\').classList.toggle(\'showadv\')">Advanced</button>'; markup += '<button type="button" onclick="document.getElementById(\'edittoken\').classList.toggle(\'showadv\')">Advanced</button>';
@ -171,9 +230,9 @@ function editToken(id) {
markup += '<button type="button" onclick="updateTokens()">Cancel Edit</button>'; markup += '<button type="button" onclick="updateTokens()">Cancel Edit</button>';
markup += '<button type="button" onclick="saveEdit(' + id + ', false)">Save Changes</button>'; markup += '<button type="button" onclick="saveEdit(' + id + ', false)">Save Changes</button>';
if (tokens[id].isnew) { if (tokens[id].isnew) {
markup += '<button type="button" onclick="startScan()">Scan QR Code</button>'; markup += '<button type="button" onclick="startScan(handleTokenQr,cancelTokenQr)">Scan QR</button>';
} else { } else {
markup += '<button type="button" onclick="showQrCode()">Show QR Code</button>'; markup += '<button type="button" onclick="showTokenQr()">Show QR</button>';
markup += '<button type="button" onclick="saveEdit(' + id + ', true)">Forget Token</button>'; markup += '<button type="button" onclick="saveEdit(' + id + ', true)">Forget Token</button>';
} }
document.getElementById('edit').innerHTML = markup; document.getElementById('edit').innerHTML = markup;
@ -188,6 +247,46 @@ function addToken() {
editToken(tokens.length - 1); editToken(tokens.length - 1);
} }
/* Convert a number to a proto3 varint.
*/
function int2proto3varint(val) {
var ret = '';
do {
let c = val & 0x7F;
val >>>= 7;
if (val > 0) {
c |= 0x80;
}
ret += String.fromCharCode(c);
} while (val > 0);
return ret;
}
/* Convert a string to a proto3 field.
*/
function str2proto3(field_number, str) {
return int2proto3varint((field_number << 3) + 2) + int2proto3varint(str.length) + str;
}
/* Convert a number to a proto3 field.
*/
function int2proto3(field_number, val) {
return int2proto3varint(field_number << 3) + int2proto3varint(val);
}
/* Convert the specified token to its proto3 representation.
*/
function token2proto3(id) {
var secret = str2proto3(1, b32decode(tokens[id].secret));
var name = str2proto3(2, (tokens[id].account == '') ? tokens[id].label : tokens[id].account);
var issuer = (tokens[id].issuer == '') ? '' : str2proto3(3, tokens[id].issuer);
var algorithm = int2proto3(4, (tokens[id].algorithm == 'SHA512') ? 3 : ((tokens[id].algorithm == 'SHA256') ? 2 : 1));
var digits = int2proto3(5, (tokens[id].digits == 8) ? 2 : 1);
var type = int2proto3(6, (tokens[id].period <= 0) ? 1 : 2);
var counter = (tokens[id].period <= 0) ? int2proto3(7, -tokens[id].period) : '';
return str2proto3(1, secret + name + issuer + algorithm + digits + type + counter);
}
/* Move the specified token up or down in the global tokens[]. /* Move the specified token up or down in the global tokens[].
* id is the index in the global tokens[] of the token to move. * id is the index in the global tokens[] of the token to move.
* dir is the direction to move: -1=up, 1=down. * dir is the direction to move: -1=up, 1=down.
@ -200,10 +299,15 @@ function moveToken(id, dir) {
/* Update the display listing all the tokens. /* Update the display listing all the tokens.
*/ */
function updateTokens() { function updateTokens() {
const tokenSelect = function(id) {
return '<input name="exp_' + id + '" type="checkbox" onclick="exportTokens(false, \'' + id + '\')">';
};
const tokenButton = function(fn, id, label, dir) { const tokenButton = function(fn, id, label, dir) {
return '<button type="button" onclick="' + fn + '(' + id + (dir ? ',' + dir : '') + ')">' + label + '</button>'; return '<button type="button" onclick="' + fn + '(' + id + (dir ? ',' + dir : '') + ')">' + label + '</button>';
}; };
var markup = '<table><tr><th>Token</th><th colspan="2">Order</th></tr>'; var markup = '<table><tr><th>';
markup += tokenSelect('all');
markup += '</th><th>Token</th><th colspan="2">Order</th></tr>';
/* any tokens marked new are cancelled new additions and must be removed */ /* any tokens marked new are cancelled new additions and must be removed */
for (let i = 0; i < tokens.length; i++) { for (let i = 0; i < tokens.length; i++) {
if (tokens[i].isnew) { if (tokens[i].isnew) {
@ -212,6 +316,8 @@ function updateTokens() {
} }
for (let i = 0; i < tokens.length; i++) { for (let i = 0; i < tokens.length; i++) {
markup += '<tr><td>'; markup += '<tr><td>';
markup += tokenSelect(i);
markup += '</td><td>';
markup += tokenButton('editToken', i, tokens[i].label); markup += tokenButton('editToken', i, tokens[i].label);
markup += '</td><td>'; markup += '</td><td>';
if (i < (tokens.length - 1)) { if (i < (tokens.length - 1)) {
@ -224,14 +330,20 @@ function updateTokens() {
markup += '</td></tr>'; markup += '</td></tr>';
} }
markup += '</table>'; markup += '</table>';
markup += '<div class="select">';
markup += '<button type="button" onclick="addToken()">Add Token</button>'; markup += '<button type="button" onclick="addToken()">Add Token</button>';
markup += '<button type="button" onclick="saveTokens()">Save to watch</button>'; markup += '<button type="button" onclick="saveTokens()">Save to watch</button>';
markup += '<button type="button" onclick="startScan(handleImportQr,cancelImportQr)">Import</button>';
markup += '<button type="button" onclick="document.body.className=\'export\'">Export</button>';
markup += '</div><div class="export">';
markup += '<button type="button" onclick="document.body.className=\'select\'">Cancel</button>';
markup += '<button type="button" onclick="exportTokens(true, null)">Show QR</button>';
markup += '</div>';
document.getElementById('tokens').innerHTML = markup; document.getElementById('tokens').innerHTML = markup;
document.body.className = 'select'; document.body.className = 'select';
} }
/* Original QR-code reader: https://www.sitepoint.com/create-qr-code-reader-mobile-website/ */ function handleTokenQr(res) {
qrcode.callback = res => {
if (res) { if (res) {
if (res.startsWith(otpAuthUrl)) { if (res.startsWith(otpAuthUrl)) {
res = decodeURIComponent(res); res = decodeURIComponent(res);
@ -243,7 +355,8 @@ qrcode.callback = res => {
'counter':'0', 'counter':'0',
'period':'30', 'period':'30',
'secret':'', 'secret':'',
'issuer':'' 'issuer':'',
'label':''
}; };
var otpok = true; var otpok = true;
for (let pi in params) { for (let pi in params) {
@ -261,8 +374,7 @@ qrcode.callback = res => {
if (otpok) { if (otpok) {
scanning = false; scanning = false;
editToken(parseInt(document.forms['edittoken'].elements['tokenid'].value)); editToken(parseInt(document.forms['edittoken'].elements['tokenid'].value));
t['label'] = (t['issuer'] == '') ? t['account'] : t['issuer'] + ' (' + t['account'] + ')'; makeLabel(t);
t['label'] = t['label'].substr(0, 10);
var fe = document.forms['edittoken'].elements; var fe = document.forms['edittoken'].elements;
if (res.startsWith(otpAuthUrl + 'hotp/')) { if (res.startsWith(otpAuthUrl + 'hotp/')) {
t['period'] = '30'; t['period'] = '30';
@ -283,8 +395,94 @@ qrcode.callback = res => {
} }
} }
} }
}
function cancelTokenQr() {
scanning = false;
editToken(parseInt(document.forms['edittoken'].elements['tokenid'].value));
}
class proto3decoder {
constructor(str) {
this.buf = [];
for (let i in str) {
this.buf = this.buf.concat(str.charCodeAt(i));
}
}
getVarint() {
let c, ret = 0
do {
c = this.buf.shift();
ret = (ret << 7) | (c & 0x7F);
} while ((c & 0x80) != 0);
return ret;
}
getString(length) {
let ret = '';
for (let i = 0; i < length; ++i) {
ret += String.fromCharCode(this.buf.shift());
}
return ret;
}
parse() {
let ret = null;
if (this.buf.length > 0) {
let field_data = null;
let field_type = this.getVarint();
let field_number = field_type >>> 3;
let wire_type = field_type & 7;
switch (wire_type) {
case 0: field_data = this.getVarint(); break;
case 2: field_data = this.getString(this.getVarint()); break;
}
ret = {number:field_number,data:field_data};
}
return ret;
}
}
function handleImportQr(res) {
if (res) {
if (res.startsWith(otpMigrUrl)) {
scanning = false;
let data = new proto3decoder(atob(decodeURIComponent(res.substr(otpMigrUrl.length))));
while (data.buf.length > 0) {
let field = data.parse();
if (field?.number == 1) {
let newtoken = {'algorithm':'SHA1','digits':6,'period':30,'issuer':'','account':'','secret':'','label':''};
let p3token = new proto3decoder(field.data);
while (p3token.buf.length > 0) {
let buf = p3token.parse();
switch (buf?.number) {
case 1: newtoken.secret = b32encode(buf.data); break;
case 2: newtoken.account = buf.data; break;
case 3: newtoken.issuer = buf.data; break;
case 4: newtoken.algorithm = otpAlgos[buf.data - 1]; break;
case 5: newtoken.digits = (['6','8'])[buf.data - 1]; break;
case 7: newtoken.period = -buf.data; break;
}
}
makeLabel(newtoken);
tokens[tokens.length] = newtoken;
}
}
updateTokens();
}
}
}
function cancelImportQr() {
scanning = false;
document.body.className = 'select';
}
/* Original QR-code reader: https://www.sitepoint.com/create-qr-code-reader-mobile-website/ */
qrcode.callback = res => {
if (res) {
scanCallback(res);
if (scanning) {
scanBack();
}
}
}; };
function startScan() { function startScan(handler,cancel) {
scanCallback = handler;
scanBack = cancel;
document.body.className = 'scanning'; document.body.className = 'scanning';
navigator.mediaDevices navigator.mediaDevices
.getUserMedia({video:{facingMode:'environment'}}) .getUserMedia({video:{facingMode:'environment'}})
@ -339,36 +537,93 @@ function saveTokens() {
Util.hideModal(); Util.hideModal();
}); });
} }
/* Handle token export.
* showqr is true if the QR code should be shown, if false the checkboxes need updating
* id is the name of the clicked checkbox, or null if the export button was pressed
*/
function exportTokens(showqr, id) {
let allchecked = true, allclear = true;
let cball;
let exp = '';
for (let cb of document.querySelectorAll('input[type=checkbox]')) {
let cbid = cb.name.substring(4);
if (cbid == 'all') {
cball = cb;
} else {
if (id == 'all') {
cb.checked = cball.checked;
} else {
if (cb.checked) {
if (showqr) {
exp += token2proto3(parseInt(cbid));
}
allclear = false;
} else {
allchecked = false;
}
}
}
}
if (id != 'all') {
if (allclear) {
cball.indeterminate = false;
cball.checked = false;
} else if (allchecked) {
cball.indeterminate = false;
cball.checked = true;
} else {
cball.indeterminate = true;
}
}
if (showqr) {
if (exp != '') {
/* add version, batch_size, batch_index, but no batch_id */
exp += int2proto3(2, 1) + int2proto3(3, 1) + int2proto3(4, 0);
let url = otpMigrUrl + encodeURIComponent(btoa(exp));
showQr(url);
}
}
}
function onInit() { function onInit() {
loadTokens(); loadTokens();
updateTokens(); updateTokens();
} }
function qrBack() {
document.body.className = qrPreviousClass;
}
</script> </script>
</head> </head>
<body class="select"> <body class="select">
<h1>Authentiwatch</h1> <h1>Authentiwatch</h1>
<div id="tokens"> <div id="tokens">
<p>No watch comms.</p> <p>No watch comms.</p>
</div> </div>
<div id="scan"> <div id="scan">
<table> <table>
<tr><td><canvas id="qr-canvas"></canvas></td></tr> <tr><td><canvas id="qr-canvas"></canvas></td></tr>
<tr><td><button type="button" onclick="editToken(parseInt(document.forms['edittoken'].elements['tokenid'].value))">Cancel</button></td></tr> <tr><td><button type="button" onclick="scanBack()">Cancel</button></td></tr>
</table> </table>
</div> </div>
<div id="edit"> <div id="edit">
</div> </div>
<div id="tokenqr">
<div id="showqr">
<table><tr><td id="qrcode"></td></tr><tr><td> <table><tr><td id="qrcode"></td></tr><tr><td>
<button type="button" onclick="document.body.className='editing'">Back</button> <button type="button" onclick="qrBack()">Back</button>
</td></tr></table> </td></tr></table>
</div> </div>
</div>
<script type="text/javascript"> <script type="text/javascript">
const video=document.createElement('video'); const video=document.createElement('video');
const canvasElement=document.getElementById('qr-canvas'); const canvasElement=document.getElementById('qr-canvas');
const canvas=canvasElement.getContext('2d'); const canvas=canvasElement.getContext('2d');
let scanning=false; let scanning=false;
const tokenqr=new QRCode(document.getElementById('qrcode'), ''); const tokenqr=new QRCode(document.getElementById('qrcode'), {width:354,height:354});
</script> </script>
<script src="../../core/lib/interface.js"></script> <script src="../../core/lib/interface.js"></script>
</body> </body>

View File

@ -4,7 +4,7 @@
"shortName": "AuthWatch", "shortName": "AuthWatch",
"icon": "app.png", "icon": "app.png",
"screenshots": [{"url":"screenshot.png"}], "screenshots": [{"url":"screenshot.png"}],
"version": "0.04", "version": "0.05",
"description": "Google Authenticator compatible tool.", "description": "Google Authenticator compatible tool.",
"tags": "tool", "tags": "tool",
"interface": "interface.html", "interface": "interface.html",

View File

@ -1,4 +1,5 @@
(() => { (() => {
BANGLEJS2 = process.env.HWVERSION==2;
Bangle.setLCDTimeout(0); Bangle.setLCDTimeout(0);
let intervalID; let intervalID;
let settings = require("Storage").readJSON("ballmaze.json",true) || {}; let settings = require("Storage").readJSON("ballmaze.json",true) || {};
@ -6,7 +7,9 @@
// density, elasticity of bounces, "drag coefficient" // density, elasticity of bounces, "drag coefficient"
const rho = 100, e = 0.3, C = 0.01; const rho = 100, e = 0.3, C = 0.01;
// screen width & height in pixels // screen width & height in pixels
const sW = 240, sH = 160; const sW = g.getWidth();
const sH = g.getHeight()*2/3;
const bgColour ="#f00"; // only for Bangle.js 2
// gravity constant (lowercase was already taken) // gravity constant (lowercase was already taken)
const G = 9.80665; const G = 9.80665;
@ -17,14 +20,16 @@
// The play area is 240x160, sizes are the ball radius, so we can use common // The play area is 240x160, sizes are the ball radius, so we can use common
// denominators of 120x80 to get square rooms // denominators of 120x80 to get square rooms
// Reverse the order to show the easiest on top of the menu // Reverse the order to show the easiest on top of the menu
const sizes = [1, 2, 4, 5, 8, 10, 16, 20, 40].reverse(),
// even size 1 actually works, but larger mazes take forever to generate
minSize = 4, defaultSize = 10;
const sizeNames = { const sizeNames = {
1: "Insane", 2: "Gigantic", 4: "Enormous", 5: "Huge", 8: "Large", 1: "Insane", 2: "Gigantic", 4: "Enormous", 5: "Huge", 8: "Large",
10: "Medium", 16: "Small", 20: "Tiny", 40: "Trivial", 10: "Medium", 16: "Small", 20: "Tiny", 40: "Trivial",
}; };
// even size 1 actually works, but larger mazes take forever to generate
if (!BANGLEJS2) {
const sizes = [1, 2, 4, 5, 8, 10, 16, 20, 40].reverse(), minSize = 4, defaultSize = 10;
} else {
const sizes = [1, 2, 4, 5, 8, 10, 16, 20 ].reverse(), minSize = 4, defaultSize = 10;
}
/** /**
* Draw something to all screen buffers * Draw something to all screen buffers
* @param draw {function} Callback which performs the drawing * @param draw {function} Callback which performs the drawing
@ -45,17 +50,17 @@
// use unbuffered graphics for UI stuff // use unbuffered graphics for UI stuff
function showMessage(message, title) { function showMessage(message, title) {
Bangle.setLCDMode(); if (!BANGLEJS2) Bangle.setLCDMode();
return E.showMessage(message, title); return E.showMessage(message, title);
} }
function showPrompt(prompt, options) { function showPrompt(prompt, options) {
Bangle.setLCDMode(); if (!BANGLEJS2) Bangle.setLCDMode();
return E.showPrompt(prompt, options); return E.showPrompt(prompt, options);
} }
function showMenu(menu) { function showMenu(menu) {
Bangle.setLCDMode(); if (!BANGLEJS2) Bangle.setLCDMode();
return E.showMenu(menu); return E.showMenu(menu);
} }
@ -105,7 +110,7 @@
generateMaze(); // this shows unbuffered progress messages generateMaze(); // this shows unbuffered progress messages
if (settings.cheat && r>1) findRoute(); // not enough memory for r==1 :-( if (settings.cheat && r>1) findRoute(); // not enough memory for r==1 :-(
Bangle.setLCDMode("doublebuffered"); if (!BANGLEJS2) Bangle.setLCDMode("doublebuffered");
clearAll(); clearAll();
drawAll(drawMaze); drawAll(drawMaze);
intervalID = setInterval(tick, 100); intervalID = setInterval(tick, 100);
@ -307,6 +312,7 @@
const range = {top: 0, left: 0, bottom: rows, right: cols}; const range = {top: 0, left: 0, bottom: rows, right: cols};
const w = sW/cols, h = sH/rows; const w = sW/cols, h = sH/rows;
g.clear(); g.clear();
if (BANGLEJS2) g.setBgColor(bgColour);
g.setColor(0.76, 0.60, 0.42); g.setColor(0.76, 0.60, 0.42);
for(let row = range.top; row<=range.bottom; row++) { for(let row = range.top; row<=range.bottom; row++) {
for(let col = range.left; col<=range.right; col++) { for(let col = range.left; col<=range.right; col++) {

View File

@ -1,2 +1,3 @@
0.01: Initial version of Balltastic released! Happy! 0.01: Initial version of Balltastic released! Happy!
0.02: Set LCD timeout for Espruino 2v10 compatibility 0.02: Set LCD timeout for Espruino 2v10 compatibility
0.03: Now also works on Bangle.js 2

View File

@ -1,11 +1,12 @@
BANGLEJS2 = process.env.HWVERSION==2;
Bangle.setLCDBrightness(1); Bangle.setLCDBrightness(1);
Bangle.setLCDMode("doublebuffered"); if (!BANGLEJS2) Bangle.setLCDMode("doublebuffered");
Bangle.setLCDTimeout(0); Bangle.setLCDTimeout(0);
let points = 0; let points = 0;
let level = 1; let level = 1;
let levelSpeedStart = 0.8; let levelSpeedStart = 0.8;
let nextLevelPoints = 20; let nextLevelPoints = 10;
let levelSpeedFactor = 0.2; let levelSpeedFactor = 0.2;
let counterWidth = 10; let counterWidth = 10;
let gWidth = g.getWidth() - counterWidth; let gWidth = g.getWidth() - counterWidth;
@ -81,12 +82,23 @@ function drawLevelText() {
g.setColor("#26b6c7"); g.setColor("#26b6c7");
g.setFontAlign(0, 0); g.setFontAlign(0, 0);
g.setFont("4x6", 5); g.setFont("4x6", 5);
g.drawString("Level " + level, 120, 80); g.drawString("Level " + level, g.getWidth()/2, g.getHeight()/2);
}
function drawPointsText() {
g.setColor("#26b6c7");
g.setFontAlign(0, 0);
g.setFont("4x6", 2);
g.drawString("Points " + points, g.getWidth()/2, g.getHeight()-20);
} }
function draw() { function draw() {
//bg //bg
if (!BANGLEJS2) {
g.setColor("#71c6cf"); g.setColor("#71c6cf");
} else {
g.setColor("#002000");
}
g.fillRect(0, 0, g.getWidth(), g.getHeight()); g.fillRect(0, 0, g.getWidth(), g.getHeight());
//counter //counter
@ -94,6 +106,7 @@ function draw() {
//draw level //draw level
drawLevelText(); drawLevelText();
drawPointsText();
//dot //dot
g.setColor("#ff0000"); g.setColor("#ff0000");
@ -152,7 +165,7 @@ function count() {
if (counter <= 0) { if (counter <= 0) {
running = false; running = false;
clearInterval(drawInterval); clearInterval(drawInterval);
setTimeout(function(){ E.showMessage("Press Button 1\nto restart.", "Gameover!");},50); setTimeout(function(){ E.showMessage("Press Button 1\nto restart.", "Game over!");},50);
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -1,12 +1,13 @@
{ {
"id": "balltastic", "id": "balltastic",
"name": "Balltastic", "name": "Balltastic",
"version": "0.02", "version": "0.03",
"description": "Simple but fun ball eats dots game.", "description": "Simple but fun ball eats dots game.",
"icon": "app.png", "icon": "app.png",
"screenshots": [{"url":"bangle2-balltastic-screenshot.png"}],
"type": "app", "type": "app",
"tags": "game,fun", "tags": "game,fun",
"supports": ["BANGLEJS"], "supports": ["BANGLEJS","BANGLEJS2"],
"storage": [ "storage": [
{"name":"balltastic.app.js","url":"app.js"}, {"name":"balltastic.app.js","url":"app.js"},
{"name":"balltastic.img","url":"app-icon.js","evaluate":true} {"name":"balltastic.img","url":"app-icon.js","evaluate":true}

2
apps/barometer/ChangeLog Normal file
View File

@ -0,0 +1,2 @@
0.01: Display pressure as number and hand
0.02: Use theme color

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("mEwwhC/AH4AVmczmALI7oWJgYXBmYLHhvd6AuKGBHdAAYXLDAwXRJIvd73u9oXSLoPuAAJhHOwYYGIYIXDGAwWGMIYvMC5QwBC4ZeMC4x3KL44XEU6KQEC5gAMCqoXZAH4AchAXWxAXWwBGWC62IC6sILywXXxAXUhWqzAXTCwIABOyYXD0AXSCwQABC/4XaO68JC6wYCCygA/AH4AGA"))

120
apps/barometer/app.js Normal file
View File

@ -0,0 +1,120 @@
var center = {
x: g.getWidth()/2,
y: g.getHeight()/2,
};
var MIN = 940;
var MAX = 1090;
var NUMBER_OF_VALUES = MAX - MIN;
var SCALE_TICK_STEP = 5;
var SCALE_VALUES_STEP = 25;
var NUMBER_OF_LABELS = NUMBER_OF_VALUES / SCALE_VALUES_STEP;
var NUMBER_OF_TICKS = NUMBER_OF_VALUES / SCALE_TICK_STEP;
var ZERO_OFFSET = (Math.PI / 4) * 3;
var SCALE_SPAN = (Math.PI / 2) * 3;
var TICK_LENGTH = 10;
var HAND_LENGTH = 45;
var HAND_WIDTH = 5;
function generatePoly(radius, width, angle){
var x = center.x + Math.cos(angle) * radius;
var y = center.y + Math.sin(angle) * radius;
var d = {
x: width/2 * Math.cos(angle + Math.PI/2),
y: width/2 * Math.sin(angle + Math.PI/2),
};
var poly = [center.x - d.x, center.y - d.y, center.x + d.x, center.y + d.y, x + d.x, y + d.y, x - d.x, y - d.y];
return poly;
}
function drawHand(value){
g.setColor(g.theme.fg2);
g.setFontAlign(0,0);
g.setFont("Vector",15);
g.drawString(value, center.x, center.y * 2 - 15, true);
var angle = SCALE_SPAN / NUMBER_OF_VALUES * (value - MIN) + ZERO_OFFSET;
g.fillPoly(generatePoly(HAND_LENGTH, HAND_WIDTH, angle), true);
g.fillCircle(center.x ,center.y, 4);
}
function drawTicks(){
g.setColor(g.theme.fg);
for(let i= 0; i <= NUMBER_OF_TICKS; i++){
var angle = (i * (SCALE_SPAN/NUMBER_OF_TICKS)) + ZERO_OFFSET;
var tickWidth = i%5==0 ? 5 : 2;
g.fillPoly(generatePoly(center.x, tickWidth, angle), true);
}
g.setColor(g.theme.bg);
g.fillCircle(center.x,center.y,center.x - TICK_LENGTH);
}
function drawScaleLabels(){
g.setColor(g.theme.fg);
g.setFont("Vector",12);
let label = MIN;
for (let i=0;i <= NUMBER_OF_LABELS; i++){
var angle = (i * (SCALE_SPAN/NUMBER_OF_LABELS)) + ZERO_OFFSET;
var labelDimensions = g.stringMetrics(label);
var LABEL_PADDING = 5;
var radius = center.x - TICK_LENGTH - LABEL_PADDING;
var x = center.x + Math.cos(angle) * radius;
var y = center.y + Math.sin(angle) * radius;
var visualX = x > center.x ? x - labelDimensions.width : x + labelDimensions.width > center.x ? x - (labelDimensions.width / 2) : x;
var visualY = y >= center.y - labelDimensions.height / 2 ? y - labelDimensions.height / 2 : y;
g.drawString(label, visualX, visualY);
label += SCALE_VALUES_STEP;
}
}
function drawIcons() {
var sunIcon = {
width : 24, height : 24, bpp : 1,
transparent : 0,
buffer : require("heatshrink").decompress(atob("gEYAQ0IgEQjkAnEMv0wgH/gEB4eAgcA4EHgHgg0AsHmgFnAQQICBwQUCDQQgCEwQsCGQQ+IA"))
};
g.drawImage(sunIcon, center.x + 15, center.y - 12);
var sunRainIcon = {
width : 24, height : 24, bpp : 1,
transparent : 0,
buffer : require("heatshrink").decompress(atob("AAeAAQmEgEQhEAhIIBg1ggEEj8AhEw4HokFAglAnEGoEGgHAgcRgEBkQCBgQCBgcAgUBwARBv/4HAcgiAFDCoIAC"))
};
g.drawImage(sunRainIcon, center.x - 12, 30);
var rainIcon = {
width : 24, height : 24, bpp : 1,
transparent : 0,
buffer : require("heatshrink").decompress(atob("AA0gAQPMgEBgUAgQCCgPwAgMYj0AhkQgEECwICGBYMIj//+ArFgURwAqBB4NEgEQghAJ"))
};
g.drawImage(rainIcon, center.x - 44, center.y - 12);
}
g.setBgColor(g.theme.bg);
g.clear();
drawTicks();
drawScaleLabels();
drawIcons();
try {
Bangle.getPressure().then(data => {
drawHand(Math.round(data.pressure));
});
} catch(e) {
print(e.message);
print("barometer not supporter, show a demo value");
drawHand(MIN);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

View File

@ -0,0 +1,15 @@
{ "id": "barometer",
"name": "Barometer",
"shortName":"Barometer",
"version":"0.02",
"description": "A simple barometer that displays the current air pressure",
"icon": "barometer.png",
"tags": "tool,outdoors",
"allow_emulator":true,
"screenshots" : [ { "url": "screenshot.png" } ],
"supports" : ["BANGLEJS2"],
"storage": [
{"name":"barometer.app.js","url":"app.js"},
{"name":"barometer.img","url":"app-icon.js","evaluate":true}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -5,3 +5,15 @@
0.03: Prevent readings from internal sensor mixing into BT values 0.03: Prevent readings from internal sensor mixing into BT values
Mark events with src property Mark events with src property
Show actual source of event in app Show actual source of event in app
0.04: Automatically reconnect BT sensor
App buzzes if no BTHRM events for more than 3 seconds
0.05: Allow reading additional data if available: HRM battery, position and RR
Better caching of scanned BT device properties
New setting for not starting the BTHRM together with HRM
Save some RAM by not defining functions if disabled in settings
Always emit BTHRM event
Cleanup promises code and allow to configure custom additional waiting times to work around bugs
Disconnect cleanly on exit
0.06: Fix bug if no request waiting time is set
Fix bug if no connection data was cached
Fix error during disconnect

View File

@ -1,33 +1,480 @@
(function() { (function() {
var log = function() {};//print var settings = Object.assign(
var gatt; require('Storage').readJSON("bthrm.default.json", true) || {},
var status; require('Storage').readJSON("bthrm.json", true) || {}
);
var origIsHRMOn = Bangle.isHRMOn; var log = function(text, param){
if (settings.debuglog){
var logline = new Date().toISOString() + " - " + text;
if (param){
logline += " " + JSON.stringify(param);
}
print(logline);
}
};
Bangle.isBTHRMOn = function(){ log("Settings: ", settings);
return (status=="searching" || status=="connecting") || (gatt!==undefined);
if (settings.enabled){
function clearCache(){
return require('Storage').erase("bthrm.cache.json");
} }
Bangle.isHRMOn = function() { function getCache(){
var settings = require('Storage').readJSON("bthrm.json", true) || {}; return require('Storage').readJSON("bthrm.cache.json", true) || {};
}
function addNotificationHandler(characteristic){
log("Setting notification handler: " + supportedCharacteristics[characteristic.uuid].handler);
characteristic.on('characteristicvaluechanged', supportedCharacteristics[characteristic.uuid].handler);
}
function writeCache(cache){
var oldCache = getCache();
if (oldCache != cache) {
log("Writing cache");
require('Storage').writeJSON("bthrm.cache.json", cache)
} else {
log("No changes, don't write cache");
}
}
function characteristicsToCache(characteristics){
log("Cache characteristics");
var cache = getCache();
if (!cache.characteristics) cache.characteristics = {};
for (var c of characteristics){
//"handle_value":16,"handle_decl":15
log("Saving handle " + c.handle_value + " for characteristic: ", c);
cache.characteristics[c.uuid] = {
"handle": c.handle_value,
"uuid": c.uuid,
"notify": c.properties.notify,
"read": c.properties.read
};
}
writeCache(cache);
}
function characteristicsFromCache(){
log("Read cached characteristics");
var cache = getCache();
if (!cache.characteristics) return [];
var restored = [];
for (var c in cache.characteristics){
var cached = cache.characteristics[c];
var r = new BluetoothRemoteGATTCharacteristic();
log("Restoring characteristic ", cached);
r.handle_value = cached.handle;
r.uuid = cached.uuid;
r.properties = {};
r.properties.notify = cached.notify;
r.properties.read = cached.read;
addNotificationHandler(r);
log("Restored characteristic: ", r);
restored.push(r);
}
return restored;
}
log("Start");
var lastReceivedData={
};
var serviceFilters = [{
services: [ "180d" ]
}];
supportedServices = [
"0x180d", "0x180f"
];
var supportedCharacteristics = {
"0x2a37": {
//Heart rate measurement
handler: function (event){
var dv = event.target.value;
var flags = dv.getUint8(0);
var bpm = (flags & 1) ? (dv.getUint16(1) / 100 /* ? */ ) : dv.getUint8(1); // 8 or 16 bit
var sensorContact;
if (flags & 2){
sensorContact = (flags & 4) ? true : false;
}
var idx = 2 + (flags&1);
var energyExpended;
if (flags & 8){
energyExpended = dv.getUint16(idx,1);
idx += 2;
}
var interval;
if (flags & 16) {
interval = [];
maxIntervalBytes = (dv.byteLength - idx);
log("Found " + (maxIntervalBytes / 2) + " rr data fields");
for(var i = 0 ; i < maxIntervalBytes / 2; i++){
interval[i] = dv.getUint16(idx,1); // in milliseconds
idx += 2
}
}
var location;
if (lastReceivedData && lastReceivedData["0x180d"] && lastReceivedData["0x180d"]["0x2a38"]){
location = lastReceivedData["0x180d"]["0x2a38"];
}
var battery;
if (lastReceivedData && lastReceivedData["0x180f"] && lastReceivedData["0x180f"]["0x2a19"]){
battery = lastReceivedData["0x180f"]["0x2a19"];
}
if (settings.replace){
var newEvent = {
bpm: bpm,
confidence: (sensorContact || sensorContact === undefined)? 100 : 0,
src: "bthrm"
};
log("Emitting HRM: ", newEvent);
Bangle.emit("HRM", newEvent);
}
var newEvent = {
bpm: bpm
};
if (location) newEvent.location = location;
if (interval) newEvent.rr = interval;
if (energyExpended) newEvent.energy = energyExpended;
if (battery) newEvent.battery = battery;
if (sensorContact) newEvent.contact = sensorContact;
log("Emitting BTHRM: ", newEvent);
Bangle.emit("BTHRM", newEvent);
}
},
"0x2a38": {
//Body sensor location
handler: function(data){
if (!lastReceivedData["0x180d"]) lastReceivedData["0x180d"] = {};
if (!lastReceivedData["0x180d"]["0x2a38"]) lastReceivedData["0x180d"]["0x2a38"] = data.target.value;
}
},
"0x2a19": {
//Battery
handler: function (event){
if (!lastReceivedData["0x180f"]) lastReceivedData["0x180f"] = {};
if (!lastReceivedData["0x180f"]["0x2a19"]) lastReceivedData["0x180f"]["0x2a19"] = event.target.value.getUint8(0);
}
}
};
var device;
var gatt;
var characteristics = [];
var blockInit = false;
var currentRetryTimeout;
var initialRetryTime = 40;
var maxRetryTime = 60000;
var retryTime = initialRetryTime;
var connectSettings = {
minInterval: 7.5,
maxInterval: 1500
};
function waitingPromise(timeout) {
return new Promise(function(resolve){
log("Start waiting for " + timeout);
setTimeout(()=>{
log("Done waiting for " + timeout);
resolve();
}, timeout);
});
}
if (settings.enabled){
Bangle.isBTHRMOn = function(){
return (Bangle._PWR && Bangle._PWR.BTHRM && Bangle._PWR.BTHRM.length > 0);
};
Bangle.isBTHRMConnected = function(){
return gatt && gatt.connected;
};
}
if (settings.replace){
var origIsHRMOn = Bangle.isHRMOn;
Bangle.isHRMOn = function() {
if (settings.enabled && !settings.replace){ if (settings.enabled && !settings.replace){
return origIsHRMOn(); return origIsHRMOn();
} else if (settings.enabled && settings.replace){ } else if (settings.enabled && settings.replace){
return Bangle.isBTHRMOn(); return Bangle.isBTHRMOn();
} }
return origIsHRMOn() || Bangle.isBTHRMOn(); return origIsHRMOn() || Bangle.isBTHRMOn();
};
}
function clearRetryTimeout(){
if (currentRetryTimeout){
log("Clearing timeout " + currentRetryTimeout);
clearTimeout(currentRetryTimeout);
currentRetryTimeout = undefined;
}
}
function retry(){
log("Retry");
if (!currentRetryTimeout){
var clampedTime = retryTime < 100 ? 100 : retryTime;
log("Set timeout for retry as " + clampedTime);
clearRetryTimeout();
currentRetryTimeout = setTimeout(() => {
log("Retrying");
currentRetryTimeout = undefined;
initBt();
}, clampedTime);
retryTime = Math.pow(retryTime, 1.1);
if (retryTime > maxRetryTime){
retryTime = maxRetryTime;
}
} else {
log("Already in retry...");
}
}
var buzzing = false;
function onDisconnect(reason) {
log("Disconnect: " + reason);
log("GATT: ", gatt);
log("Characteristics: ", characteristics);
retryTime = initialRetryTime;
clearRetryTimeout();
switchInternalHrm();
blockInit = false;
if (settings.warnDisconnect && !buzzing){
buzzing = true;
Bangle.buzz(500,0.3).then(()=>waitingPromise(4500)).then(()=>{buzzing = false;});
}
if (Bangle.isBTHRMOn()){
retry();
}
}
function createCharacteristicPromise(newCharacteristic){
log("Create characteristic promise: ", newCharacteristic);
var result = Promise.resolve();
if (newCharacteristic.properties.notify){
result = result.then(()=>{
log("Starting notifications for: ", newCharacteristic);
var startPromise = newCharacteristic.startNotifications().then(()=>log("Notifications started for ", newCharacteristic));
if (settings.gracePeriodNotification > 0){
log("Add " + settings.gracePeriodNotification + "ms grace period after starting notifications");
startPromise = startPromise.then(()=>{
log("Wait after connect");
waitingPromise(settings.gracePeriodNotification)
});
}
return startPromise;
});
} else if (newCharacteristic.read){
result = result.then(()=>{
readData(newCharacteristic);
log("Reading data for " + newCharacteristic);
return newCharacteristic.read().then((data)=>{
supportedCharacteristics[newCharacteristic.uuid].handler(data);
});
});
}
return result.then(()=>log("Handled characteristic: ", newCharacteristic));
}
function attachCharacteristicPromise(promise, characteristic){
return promise.then(()=>{
log("Handling characteristic:", characteristic);
return createCharacteristicPromise(characteristic);
});
}
function createCharacteristicsPromise(newCharacteristics){
log("Create characteristics promise: ", newCharacteristics);
var result = Promise.resolve();
for (var c of newCharacteristics){
if (!supportedCharacteristics[c.uuid]) continue;
log("Supporting characteristic: ", c);
characteristics.push(c);
if (c.properties.notify){
addNotificationHandler(c);
}
result = attachCharacteristicPromise(result, c);
}
return result.then(()=>log("Handled characteristics"));
}
function createServicePromise(service){
log("Create service promise: ", service);
var result = Promise.resolve();
result = result.then(()=>{
log("Handling service: " + service.uuid);
return service.getCharacteristics().then((c)=>createCharacteristicsPromise(c));
});
return result.then(()=>log("Handled service" + service.uuid));
}
function attachServicePromise(promise, service){
return promise.then(()=>createServicePromise(service));
}
var reUseCounter = 0;
function initBt() {
log("initBt with blockInit: " + blockInit);
if (blockInit){
retry();
return;
}
blockInit = true;
if (reUseCounter > 10){
log("Reuse counter to high");
gatt=undefined;
reUseCounter = 0;
}
var promise;
if (!device){
promise = NRF.requestDevice({ filters: serviceFilters });
if (settings.gracePeriodRequest){
log("Add " + settings.gracePeriodRequest + "ms grace period after request");
}
promise = promise.then((d)=>{
log("Got device: ", d);
d.on('gattserverdisconnected', onDisconnect);
device = d;
});
promise = promise.then(()=>{
log("Wait after request");
return waitingPromise(settings.gracePeriodRequest);
});
} else {
promise = Promise.resolve();
log("Reuse device: ", device);
}
promise = promise.then(()=>{
if (gatt){
log("Reuse GATT: ", gatt);
} else {
log("GATT is new: ", gatt);
characteristics = [];
var cachedName = getCache().name;
if (device.name != cachedName){
log("Device name changed from " + cachedName + " to " + device.name + ", clearing cache");
clearCache();
}
var newCache = getCache();
newCache.name = device.name;
writeCache(newCache);
gatt = device.gatt;
}
return Promise.resolve(gatt);
});
promise = promise.then((gatt)=>{
if (!gatt.connected){
var connectPromise = gatt.connect(connectSettings);
if (settings.gracePeriodConnect > 0){
log("Add " + settings.gracePeriodConnect + "ms grace period after connecting");
connectPromise = connectPromise.then(()=>{
log("Wait after connect");
return waitingPromise(settings.gracePeriodConnect);
});
}
return connectPromise;
} else {
return Promise.resolve();
}
});
promise = promise.then(()=>{
if (!characteristics || characteristics.length == 0){
characteristics = characteristicsFromCache();
}
});
promise = promise.then(()=>{
var characteristicsPromise = Promise.resolve();
if (characteristics.length == 0){
characteristicsPromise = characteristicsPromise.then(()=>{
log("Getting services");
return gatt.getPrimaryServices();
});
characteristicsPromise = characteristicsPromise.then((services)=>{
log("Got services:", services);
var result = Promise.resolve();
for (var service of services){
if (!(supportedServices.includes(service.uuid))) continue;
log("Supporting service: ", service.uuid);
result = attachServicePromise(result, service);
}
if (settings.gracePeriodService > 0) {
log("Add " + settings.gracePeriodService + "ms grace period after services");
result = result.then(()=>{
log("Wait after services");
return waitingPromise(settings.gracePeriodService)
});
}
return result;
});
} else {
for (var characteristic of characteristics){
characteristicsPromise = attachCharacteristicPromise(characteristicsPromise, characteristic, true);
}
}
return characteristicsPromise;
});
promise = promise.then(()=>{
log("Connection established, waiting for notifications");
reUseCounter = 0;
characteristicsToCache(characteristics);
clearRetryTimeout();
}).catch((e) => {
characteristics = [];
log("Error:", e);
onDisconnect(e);
});
} }
Bangle.setBTHRMPower = function(isOn, app) { Bangle.setBTHRMPower = function(isOn, app) {
var settings = require('Storage').readJSON("bthrm.json", true) || {};
// Do app power handling // Do app power handling
if (!app) app="?"; if (!app) app="?";
log("setBTHRMPower ->", isOn, app);
if (Bangle._PWR===undefined) Bangle._PWR={}; if (Bangle._PWR===undefined) Bangle._PWR={};
if (Bangle._PWR.BTHRM===undefined) Bangle._PWR.BTHRM=[]; if (Bangle._PWR.BTHRM===undefined) Bangle._PWR.BTHRM=[];
if (isOn && !Bangle._PWR.BTHRM.includes(app)) Bangle._PWR.BTHRM.push(app); if (isOn && !Bangle._PWR.BTHRM.includes(app)) Bangle._PWR.BTHRM.push(app);
@ -35,89 +482,76 @@
isOn = Bangle._PWR.BTHRM.length; isOn = Bangle._PWR.BTHRM.length;
// so now we know if we're really on // so now we know if we're really on
if (isOn) { if (isOn) {
log("setBTHRMPower on", app); if (!Bangle.isBTHRMConnected()) initBt();
if (!Bangle.isBTHRMOn()) {
log("BTHRM not already on");
status = "searching";
NRF.requestDevice({ filters: [{ services: ['180D'] }] }).then(function(device) {
log("Found device "+device.id);
status = "connecting";
device.on('gattserverdisconnected', function(reason) {
gatt = undefined;
});
return device.gatt.connect();
}).then(function(g) {
log("Connected");
gatt = g;
return gatt.getPrimaryService(0x180D);
}).then(function(service) {
return service.getCharacteristic(0x2A37);
}).then(function(characteristic) {
log("Got characteristic");
characteristic.on('characteristicvaluechanged', function(event) {
var dv = event.target.value;
var flags = dv.getUint8(0);
// 0 = 8 or 16 bit
// 1,2 = sensor contact
// 3 = energy expended shown
// 4 = RR interval
var bpm = (flags&1) ? (dv.getUint16(1)/100/* ? */) : dv.getUint8(1); // 8 or 16 bit
/* var idx = 2 + (flags&1); // index of next field
if (flags&8) idx += 2; // energy expended
if (flags&16) {
var interval = dv.getUint16(idx,1); // in milliseconds
}*/
Bangle.emit(settings.replace?"HRM":"BTHRM", {
bpm:bpm,
confidence:100,
src:settings.replace?"bthrm":undefined
});
});
return characteristic.startNotifications();
}).then(function() {
log("Ready");
status = "ok";
}).catch(function(err) {
log("Error",err);
gatt = undefined;
status = "error";
});
}
} else { // not on } else { // not on
log("setBTHRMPower off", app); log("Power off for " + app);
if (gatt) { if (gatt) {
log("BTHRM connected - disconnecting"); if (gatt.connected){
status = undefined; log("Disconnect with gatt: ", gatt);
try {gatt.disconnect();}catch(e) { gatt.disconnect().then(()=>{
log("BTHRM disconnect error", e); log("Successful disconnect");
}).catch((e)=>{
log("Error during disconnect", e);
});
} }
gatt = undefined;
} }
} }
}; };
var origSetHRMPower = Bangle.setHRMPower; var origSetHRMPower = Bangle.setHRMPower;
if (settings.startWithHrm){
Bangle.setHRMPower = function(isOn, app) { Bangle.setHRMPower = function(isOn, app) {
var settings = require('Storage').readJSON("bthrm.json", true) || {}; log("setHRMPower for " + app + ": " + (isOn?"on":"off"));
if (settings.enabled || !isOn){ if (settings.enabled){
Bangle.setBTHRMPower(isOn, app); Bangle.setBTHRMPower(isOn, app);
} }
if ((settings.enabled && !settings.replace) || !settings.enabled || !isOn){ if ((settings.enabled && !settings.replace) || !settings.enabled){
origSetHRMPower(isOn, app); origSetHRMPower(isOn, app);
} }
};
}
var fallbackInterval;
function switchInternalHrm(){
if (settings.allowFallback && !fallbackInterval){
log("Fallback to HRM enabled");
origSetHRMPower(1, "bthrm_fallback");
fallbackInterval = setInterval(()=>{
if (Bangle.isBTHRMConnected()){
origSetHRMPower(0, "bthrm_fallback");
clearInterval(fallbackInterval);
fallbackInterval = undefined;
log("Fallback to HRM disabled");
}
}, settings.fallbackTimeout);
}
} }
var settings = require('Storage').readJSON("bthrm.json", true) || {}; if (settings.replace){
if (settings.enabled && settings.replace){ log("Replace HRM event");
if (!(Bangle._PWR===undefined) && !(Bangle._PWR.HRM===undefined)){ if (Bangle._PWR && Bangle._PWR.HRM){
for (var i = 0; i < Bangle._PWR.HRM.length; i++){ for (var i = 0; i < Bangle._PWR.HRM.length; i++){
var app = Bangle._PWR.HRM[i]; var app = Bangle._PWR.HRM[i];
log("Moving app " + app);
origSetHRMPower(0, app); origSetHRMPower(0, app);
Bangle.setBTHRMPower(1, app); Bangle.setBTHRMPower(1, app);
if (Bangle._PWR.HRM===undefined) break; if (Bangle._PWR.HRM===undefined) break;
} }
} }
} switchInternalHrm();
}
E.on("kill", ()=>{
if (gatt && gatt.connected){
log("Got killed, trying to disconnect");
var promise = gatt.disconnect();
promise.then(()=>log("Disconnected on kill"));
promise.catch((e)=>log("Error during disconnnect on kill", e));
}
});
}
})(); })();

View File

@ -1,61 +1,95 @@
var btm = g.getHeight()-1; var btm = g.getHeight()-1;
var eventInt = null; var intervalInt;
var eventBt = null; var intervalBt;
var counterInt = 0;
var counterBt = 0;
function clear(y){
function draw(y, event, type, counter) {
var px = g.getWidth()/2;
g.reset(); g.reset();
g.setFontAlign(0,0);
g.clearRect(0,y,g.getWidth(),y+75); g.clearRect(0,y,g.getWidth(),y+75);
if (type == null || event == null || counter == 0) return;
var str = event.bpm + "";
g.setFontVector(40).drawString(str,px,y+20);
str = "Confidence: " + event.confidence;
g.setFontVector(12).drawString(str,px,y+50);
str = "Event: " + type;
if (type == "HRM") str += " Source: " + (event.src ? event.src : "internal");
g.setFontVector(12).drawString(str,px,y+60);
} }
function draw(y, type, event) {
clear(y);
var px = g.getWidth()/2;
var str = event.bpm + "";
g.reset();
g.setFontAlign(0,0);
g.setFontVector(40).drawString(str,px,y+20);
str = "Event: " + type;
if (type == "HRM") {
str += " Confidence: " + event.confidence;
g.setFontVector(12).drawString(str,px,y+40);
str = " Source: " + (event.src ? event.src : "internal");
g.setFontVector(12).drawString(str,px,y+50);
}
if (type == "BTHRM"){
if (event.battery) str += " Bat: " + (event.battery ? event.battery : "");
g.setFontVector(12).drawString(str,px,y+40);
str= "";
if (event.location) str += "Loc: " + event.location.toFixed(0) + "ms";
if (event.rr && event.rr.length > 0) str += " RR: " + event.rr.join(",");
g.setFontVector(12).drawString(str,px,y+50);
str= "";
if (event.contact) str += " Contact: " + event.contact;
if (event.energy) str += " kJoule: " + event.energy.toFixed(0);
g.setFontVector(12).drawString(str,px,y+60);
}
}
var firstEventBt = true;
var firstEventInt = true;
function onBtHrm(e) { function onBtHrm(e) {
print("Event for BT " + JSON.stringify(e)); if (firstEventBt){
counterBt += 5; clear(24);
eventBt = e; firstEventBt = false;
}
draw(100, "BTHRM", e);
if (e.bpm == 0){
Bangle.buzz(100,0.2);
}
if (intervalBt){
clearInterval(intervalBt);
}
intervalBt = setInterval(()=>{
clear(100);
}, 2000);
} }
function onHrm(e) { function onHrm(e) {
print("Event for Int " + JSON.stringify(e)); if (firstEventInt){
counterInt += 5; clear(24);
eventInt = e; firstEventInt = false;
}
draw(24, "HRM", e);
if (intervalInt){
clearInterval(intervalInt);
}
intervalInt = setInterval(()=>{
clear(24);
}, 2000);
} }
var settings = require('Storage').readJSON("bthrm.json", true) || {};
Bangle.on('BTHRM', onBtHrm); Bangle.on('BTHRM', onBtHrm);
Bangle.on('HRM', onHrm); Bangle.on('HRM', onHrm);
Bangle.setHRMPower(1,'bthrm') Bangle.setHRMPower(1,'bthrm');
if (!(settings.startWithHrm)){
Bangle.setBTHRMPower(1,'bthrm');
}
g.clear(); g.clear();
Bangle.loadWidgets(); Bangle.loadWidgets();
Bangle.drawWidgets(); Bangle.drawWidgets();
if (Bangle.setBTHRMPower){
g.reset().setFont("6x8",2).setFontAlign(0,0); g.reset().setFont("6x8",2).setFontAlign(0,0);
g.drawString("Please wait...",g.getWidth()/2,g.getHeight()/2 - 16); g.drawString("Please wait...",g.getWidth()/2,g.getHeight()/2 - 24);
} else {
function drawInt(){ g.reset().setFont("6x8",2).setFontAlign(0,0);
counterInt--; g.drawString("BTHRM disabled",g.getWidth()/2,g.getHeight()/2 + 32);
if (counterInt < 0) counterInt = 0;
if (counterInt > 5) counterInt = 5;
draw(24, eventInt, "HRM", counterInt);
}
function drawBt(){
counterBt--;
if (counterBt < 0) counterBt = 0;
if (counterBt > 5) counterBt = 5;
draw(100, eventBt, "BTHRM", counterBt);
} }
var interval = setInterval(drawInt, 1000); E.on('kill', ()=>Bangle.setBTHRMPower(0,'bthrm'));
var interval = setInterval(drawBt, 1000);

13
apps/bthrm/default.json Normal file
View File

@ -0,0 +1,13 @@
{
"enabled": true,
"replace": true,
"debuglog": false,
"startWithHrm": true,
"allowFallback": true,
"warnDisconnect": false,
"fallbackTimeout": 10,
"gracePeriodNotification": 0,
"gracePeriodConnect": 0,
"gracePeriodService": 0,
"gracePeriodRequest": 0
}

View File

@ -2,7 +2,7 @@
"id": "bthrm", "id": "bthrm",
"name": "Bluetooth Heart Rate Monitor", "name": "Bluetooth Heart Rate Monitor",
"shortName": "BT HRM", "shortName": "BT HRM",
"version": "0.03", "version": "0.06",
"description": "Overrides Bangle.js's build in heart rate monitor with an external Bluetooth one.", "description": "Overrides Bangle.js's build in heart rate monitor with an external Bluetooth one.",
"icon": "app.png", "icon": "app.png",
"type": "app", "type": "app",
@ -14,6 +14,7 @@
{"name":"bthrm.recorder.js","url":"recorder.js"}, {"name":"bthrm.recorder.js","url":"recorder.js"},
{"name":"bthrm.boot.js","url":"boot.js"}, {"name":"bthrm.boot.js","url":"boot.js"},
{"name":"bthrm.img","url":"app-icon.js","evaluate":true}, {"name":"bthrm.img","url":"app-icon.js","evaluate":true},
{"name":"bthrm.settings.js","url":"settings.js"} {"name":"bthrm.settings.js","url":"settings.js"},
{"name":"bthrm.default.json","url":"default.json"}
] ]
} }

View File

@ -1,26 +1,38 @@
(function(recorders) { (function(recorders) {
recorders.bthrm = function() { recorders.bthrm = function() {
var bpm = ""; var bpm = "";
var bat = "";
var energy = "";
var contact = "";
var rr= "";
function onHRM(h) { function onHRM(h) {
bpm = h.bpm; bpm = h.bpm;
bat = h.bat;
energy = h.energy;
contact = h.contact;
if (h.rr) rr = h.rr.join(";");
} }
return { return {
name : "BTHR", name : "BT HR",
fields : ["BT Heartrate"], fields : ["BT Heartrate", "BT Battery", "Energy expended", "Contact", "RR"],
getValues : () => { getValues : () => {
result = [bpm]; result = [bpm,bat,energy,contact,rr];
bpm = ""; bpm = "";
rr = "";
bat = "";
energy = "";
contact = "";
return result; return result;
}, },
start : () => { start : () => {
Bangle.on('BTHRM', onHRM); Bangle.on('BTHRM', onHRM);
Bangle.setBTHRMPower(1,"recorder"); if (Bangle.setBTRHMPower) Bangle.setBTHRMPower(1,"recorder");
}, },
stop : () => { stop : () => {
Bangle.removeListener('BTHRM', onHRM); Bangle.removeListener('BTHRM', onHRM);
Bangle.setBTHRMPower(0,"recorder"); if (Bangle.setBTRHMPower) Bangle.setBTHRMPower(0,"recorder");
}, },
draw : (x,y) => g.setColor(Bangle.isBTHRMOn()?"#00f":"#88f").drawImage(atob("DAwBAAAAMMeef+f+f+P8H4DwBgAA"),x,y) draw : (x,y) => g.setColor((Bangle.isBTHRMConnected && Bangle.isBTHRMConnected())?"#00f":"#88f").drawImage(atob("DAwBAAAAMMeef+f+f+P8H4DwBgAA"),x,y)
}; };
} }
}) })

View File

@ -1,33 +1,247 @@
(function(back) { (function(back) {
var FILE = "bthrm.json"; function writeSettings(key, value) {
var s = require('Storage').readJSON(FILE, true) || {};
var settings = Object.assign({ s[key] = value;
enabled: true, require('Storage').writeJSON(FILE, s);
replace: true, readSettings();
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
} }
E.showMenu({ function readSettings(){
settings = Object.assign(
require('Storage').readJSON("bthrm.default.json", true) || {},
require('Storage').readJSON(FILE, true) || {}
);
}
var FILE="bthrm.json";
var settings;
readSettings();
var mainmenu = {
'': { 'title': 'Bluetooth HRM' }, '': { 'title': 'Bluetooth HRM' },
'< Back': back, '< Back': back,
'Use BT HRM': { 'Use BT HRM': {
value: !!settings.enabled, value: !!settings.enabled,
format: v => settings.enabled ? "On" : "Off", format: v => settings.enabled ? "On" : "Off",
onchange: v => { onchange: v => {
settings.enabled = v; writeSettings("enabled",v);
writeSettings();
} }
}, },
'Use HRM event': { 'Replace HRM': {
value: !!settings.replace, value: !!settings.replace,
format: v => settings.replace ? "On" : "Off", format: v => settings.replace ? "On" : "Off",
onchange: v => { onchange: v => {
settings.replace = v; writeSettings("replace",v);
writeSettings(); }
},
'Start with HRM': {
value: !!settings.startWithHrm,
format: v => settings.startWithHrm ? "On" : "Off",
onchange: v => {(function(back) {
function writeSettings(key, value) {
var s = require('Storage').readJSON(FILE, true) || {};
s[key] = value;
require('Storage').writeJSON(FILE, s);
readSettings();
}
function readSettings(){
settings = Object.assign(
require('Storage').readJSON("bthrm.default.json", true) || {},
require('Storage').readJSON(FILE, true) || {}
);
}
var FILE="bthrm.json";
var settings;
readSettings();
var mainmenu = {
'': { 'title': 'Bluetooth HRM' },
'< Back': back,
'Use BT HRM': {
value: !!settings.enabled,
format: v => settings.enabled ? "On" : "Off",
onchange: v => {
writeSettings("enabled",v);
}
},
'Replace HRM': {
value: !!settings.replace,
format: v => settings.replace ? "On" : "Off",
onchange: v => {
writeSettings("replace",v);
}
},
'Start w. HRM': {
value: !!settings.startWithHrm,
format: v => settings.startWithHrm ? "On" : "Off",
onchange: v => {
writeSettings("startWithHrm",v);
}
},
'HRM Fallback': {
value: !!settings.allowFallback,
format: v => settings.allowFallback ? "On" : "Off",
onchange: v => {
writeSettings("allowFallback",v);
}
},
'Fallback Timeout': {
value: settings.fallbackTimeout,
min: 5,
max: 60,
step: 5,
format: v=>v+"s",
onchange: v => {
writeSettings("fallbackTimout",v*1000);
}
},
'Conn. Alert': {
value: !!settings.warnDisconnect,
format: v => settings.warnDisconnect ? "On" : "Off",
onchange: v => {
writeSettings("warnDisconnect",v);
}
},
'Debug log': {
value: !!settings.debuglog,
format: v => settings.debuglog ? "On" : "Off",
onchange: v => {
writeSettings("debuglog",v);
}
},
'Grace periods >': function() { E.showMenu(submenu); }
};
var submenu = {
'' : { title: "Grace periods"},
'< Back': function() { E.showMenu(mainmenu); },
'Request': {
value: settings.gracePeriodRequest,
min: 0,
max: 3000,
step: 100,
format: v=>v+"ms",
onchange: v => {
writeSettings("gracePeriodRequest",v);
}
},
'Connect': {
value: settings.gracePeriodConnect,
min: 0,
max: 3000,
step: 100,
format: v=>v+"ms",
onchange: v => {
writeSettings("gracePeriodConnect",v);
}
},
'Notification': {
value: settings.gracePeriodNotification,
min: 0,
max: 3000,
step: 100,
format: v=>v+"ms",
onchange: v => {
writeSettings("gracePeriodNotification",v);
}
},
'Service': {
value: settings.gracePeriodService,
min: 0,
max: 3000,
step: 100,
format: v=>v+"ms",
onchange: v => {
writeSettings("gracePeriodService",v);
} }
} }
}); };
E.showMenu(mainmenu);
})
writeSettings("startWithHrm",v);
}
},
'Fallback to HRM': {
value: !!settings.allowFallback,
format: v => settings.allowFallback ? "On" : "Off",
onchange: v => {
writeSettings("allowFallback",v);
}
},
'Fallback Timeout': {
value: settings.fallbackTimeout,
min: 5,
max: 60,
step: 5,
format: v=>v+"s",
onchange: v => {
writeSettings("fallbackTimout",v*1000);
}
},
'Conn. Alert': {
value: !!settings.warnDisconnect,
format: v => settings.warnDisconnect ? "On" : "Off",
onchange: v => {
writeSettings("warnDisconnect",v);
}
},
'Debug log': {
value: !!settings.debuglog,
format: v => settings.debuglog ? "On" : "Off",
onchange: v => {
writeSettings("debuglog",v);
}
},
'Grace periods': function() { E.showMenu(submenu); }
};
var submenu = {
'' : { title: "Grace periods"},
'< Back': function() { E.showMenu(mainmenu); },
'Request': {
value: settings.gracePeriodRequest,
min: 0,
max: 3000,
step: 100,
format: v=>v+"ms",
onchange: v => {
writeSettings("gracePeriodRequest",v);
}
},
'Connect': {
value: settings.gracePeriodConnect,
min: 0,
max: 3000,
step: 100,
format: v=>v+"ms",
onchange: v => {
writeSettings("gracePeriodConnect",v);
}
},
'Notification': {
value: settings.gracePeriodNotification,
min: 0,
max: 3000,
step: 100,
format: v=>v+"ms",
onchange: v => {
writeSettings("gracePeriodNotification",v);
}
},
'Service': {
value: settings.gracePeriodService,
min: 0,
max: 3000,
step: 100,
format: v=>v+"ms",
onchange: v => {
writeSettings("gracePeriodService",v);
}
}
};
E.showMenu(mainmenu);
}) })

11
apps/bthrv/ChangeLog Normal file
View File

@ -0,0 +1,11 @@
0.01: New App!
0.02: Make overriding the HRM event optional
Emit BTHRM event for external sensor
Add recorder app plugin
0.03: Prevent readings from internal sensor mixing into BT values
Mark events with src property
Show actual source of event in app
0.04: Allow reading additional data if available: HRM battery and position
Better caching of scanned BT device properties
New setting for not starting the BTHRM together with HRM
Save some RAM by not definining functions if disabled in settings

11
apps/bthrv/README.md Normal file
View File

@ -0,0 +1,11 @@
# Bluetooth Heart Rate Variance
This app uses [BTHRM](https://banglejs.com/apps/#bthrm) and can calculate the HRV if the used bluetooth heart rate monitor delivers interval data.
## Usage
Just install and start the app. Select button resets the already measured values.
## Creator
[halemmerich](https://github.com/halemmerich)

1
apps/bthrv/app-icon.js Normal file
View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("mEwwJC/ABUMAokcAq0eAok+Aok2AgcCm0EAoUHmw2DAoMOAgMDh9jEgPAg/98cfn/gg/58cbv/ggcB8cz8HADIPjmIECgHB8OAAoVB8AFDgPgIQcBCwYFMAH4ARA"))

143
apps/bthrv/app.js Normal file
View File

@ -0,0 +1,143 @@
var btm = g.getHeight()-1;
var ui = false;
function clear(y){
g.reset();
g.clearRect(0,y,g.getWidth(),g.getHeight());
}
var startingTime;
var currentSlot = 0;
var hrvSlots = [10,20,30,60,120,300];
var hrvValues = {};
var rrRmsProgress;
var saved = false;
var rrNumberOfValues = 0;
var rrSquared = 0;
var rrLastValue
var rrMax;
var rrMin;
function calcHrv(rr){
//Calculate HRV with RMSSD method: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5624990/
for (currentRr of rr){
if (!rrMax) rrMax = currentRr;
if (!rrMin) rrMin = currentRr;
rrMax = Math.max(rrMax, currentRr);
rrMin = Math.min(rrMin, currentRr);
//print("Calc for: " + currentRr);
rrNumberOfValues++;
if (!rrLastValue){
rrLastValue = currentRr;
continue;
}
rrSquared += (rrLastValue - currentRr)*(rrLastValue - currentRr);
//print("rr²: " + rrSquared);
rrLastValue = currentRr;
}
var rms = Math.sqrt(rrSquared / rrNumberOfValues);
//print("rms: " + rms);
return rms;
}
function draw(y, hrv) {
clear(y);
var px = g.getWidth()/2;
var str = hrv.toFixed(1) + "ms";
g.reset();
g.setFontAlign(0,0);
g.setFontVector(40).drawString(str,px,y+20);
for (var i = 0; i < hrvSlots.length; i++){
str = hrvSlots[i] + "s: ";
if (hrvValues[hrvSlots[i]]) str += hrvValues[hrvSlots[i]].toFixed(1) + "ms";
g.setFontVector(16).drawString(str,px,y+44+(i*17));
}
g.setRotation(3);
g.setFontVector(12).drawString("Reset",g.getHeight()/2, g.getWidth()-10);
g.setRotation(0);
}
function onBtHrm(e) {
if (e.rr && !startingTime) Bangle.buzz(500);
if (e.rr && !startingTime) startingTime=Date.now();
//print("Event:" + e.rr);
var hrv = calcHrv(e.rr);
if (hrv){
if (currentSlot <= hrvSlots.length && (Date.now() - startingTime) > (hrvSlots[currentSlot] * 1000) && !hrvValues[hrvSlots[currentSlot]]){
hrvValues[hrvSlots[currentSlot]] = hrv;
currentSlot++;
}
}
if (!saved && currentSlot == hrvSlots.length){
var file = require('Storage').open("bthrv.csv", "a");
var data = new Date(startingTime).toISOString();
for (var c of hrvSlots){
data+=","+hrvValues[c];
}
data+="," + rrMax + "," + rrMin + ","+rrNumberOfValues;
data+="\n";
file.write(data);
saved = true;
Bangle.buzz(500);
}
if (hrv){
if (!ui){
Bangle.setUI("leftright", ()=>{
resetHrv();
clear(30);
});
ui = true;
}
draw(30, hrv);
}
}
function resetHrv(){
hrvValues={};
startingTime=undefined;
currentSlot=0;
saved=false;
rrNumberOfValues = 0;
rrSquared = 0;
rrLastValue = undefined;
rrMax = undefined;
rrMin = undefined;
}
var settings = require('Storage').readJSON("bthrm.json", true) || {};
g.clear();
Bangle.loadWidgets();
Bangle.drawWidgets();
if (Bangle.setBTHRMPower){
Bangle.on('BTHRM', onBtHrm);
Bangle.setBTHRMPower(1,'bthrv');
if (require('Storage').list(/bthrv.csv/).length == 0){
var file = require('Storage').open("bthrv.csv", "a");
var data = "Time";
for (var c of hrvSlots){
data+="," + c + "s";
}
data+=",RR_max,RR_min,Measurements";
data+="\n";
file.write(data);
}
g.reset().setFont("6x8",2).setFontAlign(0,0);
g.drawString("Please wait...",g.getWidth()/2,g.getHeight()/2 - 16);
} else {
g.reset().setFont("6x8",2).setFontAlign(0,0);
g.drawString("Missing BT HRM",g.getWidth()/2,g.getHeight()/2 - 16);
}
E.on('kill', ()=>Bangle.setBTHRMPower(0,'bthrv'));

BIN
apps/bthrv/app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

17
apps/bthrv/metadata.json Normal file
View File

@ -0,0 +1,17 @@
{
"id": "bthrv",
"name": "Bluetooth Heart Rate variance calculator",
"shortName": "BT HRV",
"version": "0.01",
"description": "Calculates HRV from a a BT HRM with interval data",
"icon": "app.png",
"type": "app",
"tags": "health,bluetooth",
"supports": ["BANGLEJS","BANGLEJS2"],
"readme": "README.md",
"storage": [
{"name":"bthrv.app.js","url":"app.js"},
{"name":"bthrv.recorder.js","url":"recorder.js"},
{"name":"bthrv.img","url":"app-icon.js","evaluate":true}
]
}

51
apps/bthrv/recorder.js Normal file
View File

@ -0,0 +1,51 @@
(function(recorders) {
recorders.bthrv = function() {
var lastGetValue = 0;
var lastUpdate = 0;
var rrHistory = [];
var hrv = "";
function onHRM(h) {
if(!h.rr) return;
if (lastUpdate + 3000 < Date.now()){
rrHistory = [];
}
rrHistory = rrHistory.concat(h.rr);
lastUpdate=Date.now();
}
return {
name : "BT HRV",
fields : ["BT HRV"],
getValues : () => {
if (lastGetValue + 10000 < Date.now()){
lastGetValue = Date.now();
if (rrHistory.length > 0){
if (rrHistory.length > 1){
var squaredSum = 0;
var last = rrHistory[0]
for (var i = 1; i < rrHistory.length; i++){
squaredSum += (last - rrHistory[i])*(last - rrHistory[i]);
last = rrHistory[i];
}
hrv = Math.sqrt(squaredSum/rrHistory.length);
}
}
}
result = [hrv];
hrv = "";
rrHistory = [];
return result;
},
start : () => {
Bangle.on('BTHRM', onHRM);
if (Bangle.setBTRHMPower) Bangle.setBTHRMPower(1,"recorder");
},
stop : () => {
Bangle.removeListener('BTHRM', onHRM);
if (Bangle.setBTRHMPower) Bangle.setBTHRMPower(0,"recorder");
},
draw : (x,y) => g.setColor((rrHistory.length > 0)?"#00f":"#008").drawImage(atob("DAwBAAAACECECECEDGClacEEAAAA"),x,y)
};
}
})

BIN
apps/bthrv/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -11,3 +11,11 @@
Support to choose between humidity and wind speed for weather circle progress Support to choose between humidity and wind speed for weather circle progress
Support to show time and progress until next sunrise or sunset Support to show time and progress until next sunrise or sunset
Load daily steps from Bangle health if available Load daily steps from Bangle health if available
0.07: Allow configuration of minimal heart rate confidence
0.08: Allow configuration of up to 4 circles in a row
0.09: Support to show temperature, air pressure or altitude from internal pressure sensor
Fix sunprogress calculation during night
Refactor settings menu
Colors of circles can be configured
Color depending on value (green -> red, red -> green) option
Good HRM value will not be overwritten so fast anymore

View File

@ -1,6 +1,6 @@
# Circles clock # Circles clock
A clock with circles for different data at the bottom in a probably familiar style A clock with three or four circles for different data at the bottom in a probably familiar style
By default the time, date and day of week is shown. By default the time, date and day of week is shown.
@ -14,10 +14,22 @@ It can show the following information (this can be configured):
* Temperature inside circle * Temperature inside circle
* Condition as icon below circle * Condition as icon below circle
* Time and progress until next sunrise or sunset (requires [my location app](https://banglejs.com/apps/#mylocation)) * Time and progress until next sunrise or sunset (requires [my location app](https://banglejs.com/apps/#mylocation))
* Temperature, air pressure or altitude from internal pressure sensor
The color of each circle can be configured. The following colors are available:
* Basic colors (red, green, blue, yellow, magenta, cyan, black, white)
* Color depending on value (green -> red, red -> green)
## Screenshots ## Screenshots
![Screenshot dark theme](screenshot-dark.png) ![Screenshot dark theme](screenshot-dark.png)
![Screenshot light theme](screenshot-light.png) ![Screenshot light theme](screenshot-light.png)
![Screenshot dark theme with four circles](screenshot-dark-4.png)
![Screenshot light theme with four circles](screenshot-light-4.png)
## Ideas
* Show compass heading
## Creator ## Creator
Marco ([myxor](https://github.com/myxor)) Marco ([myxor](https://github.com/myxor))

View File

@ -1,52 +1,46 @@
const locale = require("locale"); const locale = require("locale");
const heatshrink = require("heatshrink");
const storage = require("Storage"); const storage = require("Storage");
const SunCalc = require("https://raw.githubusercontent.com/mourner/suncalc/master/suncalc.js"); const SunCalc = require("https://raw.githubusercontent.com/mourner/suncalc/master/suncalc.js");
const shoesIcon = heatshrink.decompress(atob("h0OwYJGgmAAgUBkgECgVJB4cSoAUDyEBkARDpADBhMAyQRBgVAkgmDhIUDAAuQAgY1DAAYA=")); const shoesIcon = atob("EBCBAAAACAAcAB4AHgAeABwwADgGeAZ4AHgAMAAAAHAAIAAA");
const shoesIconGreen = heatshrink.decompress(atob("h0OwYJGhIEDgVIAgUEyQKDkmACgcggVACIeQAYMSgIRCgmApIbDiQUDAAkBkAFDGoYAD")); const heartIcon = atob("EBCBAAAAAAAeeD/8P/x//n/+P/w//B/4D/AH4APAAYAAAAAA");
const heartIcon = heatshrink.decompress(atob("h0OwYOLkmQhMkgACByVJgESpIFBpEEBAIFBCgIFCCgsABwcAgQOCAAMSpAwDyBNM")); const powerIcon = atob("EBCBAAAAA8ADwA/wD/AP8A/wD/AP8A/wD/AP8A/wD/AH4AAA");
const powerIcon = heatshrink.decompress(atob("h0OwYQNsAED7AEDmwEDtu2AgUbtuABwXbBIUN23AAoYOCgEDFIgODABI")); const temperatureIcon = atob("EBCBAAAAAYADwAJAAkADwAPAA8ADwAfgB+AH4AfgA8ABgAAA");
const powerIconGreen = heatshrink.decompress(atob("h0OwYQNkAEDpAEDiQEDkmSAgUJkmABwVJBIUEyVAAoYOCgEBFIgODABI"));
const powerIconRed = heatshrink.decompress(atob("h0OwYQNoAEDyAEDkgEDpIFDiVJBweSAgUJkmAAoYZDgQpEBwYAJA"));
const weatherCloudy = heatshrink.decompress(atob("iEQwYWTgP//+AAoMPAoPwAoN/AocfAgP//0AAgQAB/AFEABgdDAAMDDohMRA")); const weatherCloudy = atob("EBCBAAAAAAAAAAfgD/Af8H/4//7///////9//z/+AAAAAAAA");
const weatherSunny = heatshrink.decompress(atob("iEQwYLIg3AAgVgAQMMAo8Am3YAgUB23bAoUNAoIUBjYFCsOwBYoFDDpFgHYI1JI4gFGAAYA=")); const weatherSunny = atob("EBCBAAAAAYAQCBAIA8AH4A/wb/YP8A/gB+ARiBAIAYABgAAA");
const weatherMoon = heatshrink.decompress(atob("iEQwIFCgOAh/wj/4n/8AId//wBBBIoRBCoIZBDoI")); const weatherMoon = atob("EBCBAAAAAYAP8B/4P/w//D/8f/5//j/8P/w//B/4D/ABgAAA");
const weatherPartlyCloudy = heatshrink.decompress(atob("iEQwYQNv0AjgGDn4EDh///gFChwREC4MfxwIBv0//+AC4X4j4FCv/AgfwgED/wIBuAaBBwgFDgP4gf/AAXABwIEBDQQAEA==")); const weatherPartlyCloudy = atob("EBCBAAAAAAAYQAMAD8AIQBhoW+AOYBwwOBBgHGAGP/wf+AAA");
const weatherRainy = heatshrink.decompress(atob("iEQwYLIg/gAgUB///wAFBh/AgfwgED/wIBuEAj4OCv0AjgaCh/4AocAnAFBFIU4EAM//gRBEAIOBhw1C/AmDAosAC4JNIAAg")); const weatherRainy = atob("EBCBAAAAAYAH4AwwOBBgGEAOQAJBgjPOEkgGYAZgA8ABgAAA");
const weatherPartlyRainy = heatshrink.decompress(atob("h0OwYJGjkAnAFCj+AAgU//4FCuEA8EAg8ch/4gEB4////AAoIIBCIMD/wgCg4bBg/8BwMD+AgBh4ZBDQf/FIIABh4IBgAA==")); const weatherPartlyRainy = atob("EBCBAAAAEEAQAAeADMAYaFvoTmAMMDgQIBxhhiGGG9wDwAGA");
const weatherSnowy = heatshrink.decompress(atob("iEQwYROn/8AocH8AECuAFBh0Agf+CIN/4EDx/4j/x4EAgIIBwAXBAogRFDoopFGoxBGABIA=")); const weatherSnowy = atob("EBCBAAAAAAADwAGAEYg73C50BCAEIC50O9wRiAGAA8AAAAAA");
const weatherFoggy = heatshrink.decompress(atob("iEQwYROn/8AgUB/EfwAFBh/AgfwgED/wIBuEABwd/4EcDQgFDgE4Fosf///8f//A/Lj/xCQIRNA=")); const weatherFoggy = atob("EBCBAAAAAAADwAZgDDA4EGAcQAZAAgAAf74AAAAAd/4AAAAA");
const weatherStormy = heatshrink.decompress(atob("iEQwYLIg/gAgUB///wAFBh/AgfwgED/wIBuEAj4OCv0AjgaCh/4AoX8gE4AoQpBnAdBF4IRBDQMH/kOHgY7DAo4AOA==")); const weatherStormy = atob("EBCBAAAAAYAH4AwwOBBgGEAOQMJAgjmOGcgAgACAAAAAAAAA");
const sunSetDown = heatshrink.decompress(atob("iEQwIHEgOAAocT5EGtEEkF//wLDg1ggfACoo")); const sunSetDown = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAAGYAPAAYAAAAAA");
const sunSetUp = heatshrink.decompress(atob("iEQwIHEgOAAocT5EGtEEkF//wRFgfAg1gBIY")); const sunSetUp = atob("EBCBAAAAAAABgAAAAAATyAZoBCB//gAAAAABgAPABmAAAAAA");
let settings; let settings = storage.readJSON("circlesclock.json", 1) || {
function loadSettings() {
settings = storage.readJSON("circlesclock.json", 1) || {
'minHR': 40, 'minHR': 40,
'maxHR': 200, 'maxHR': 200,
'confidence': 0,
'stepGoal': 10000, 'stepGoal': 10000,
'stepDistanceGoal': 8000, 'stepDistanceGoal': 8000,
'stepLength': 0.8, 'stepLength': 0.8,
'batteryWarn': 30, 'batteryWarn': 30,
'showWidgets': false, 'showWidgets': false,
'weatherCircleData': 'humidity', 'weatherCircleData': 'humidity',
'circleCount': 3,
'circle1': 'hr', 'circle1': 'hr',
'circle2': 'steps', 'circle2': 'steps',
'circle3': 'battery' 'circle3': 'battery',
}; 'circle4': 'weather'
// Load step goal from pedometer widget as fallback };
if (settings.stepGoal == undefined) { // Load step goal from pedometer widget as fallback
const d = require('Storage').readJSON("wpedom.json", 1) || {}; if (settings.stepGoal == undefined) {
const d = storage.readJSON("wpedom.json", 1) || {};
settings.stepGoal = d != undefined && d.settings != undefined ? d.settings.goal : 10000; settings.stepGoal = d != undefined && d.settings != undefined ? d.settings.goal : 10000;
}
} }
loadSettings();
/* /*
* Read location from myLocation app * Read location from myLocation app
@ -57,6 +51,7 @@ function getLocation() {
let location = getLocation(); let location = getLocation();
const showWidgets = settings.showWidgets || false; const showWidgets = settings.showWidgets || false;
const circleCount = settings.circleCount || 3;
let hrtValue; let hrtValue;
let now = Math.round(new Date().getTime() / 1000); let now = Math.round(new Date().getTime() / 1000);
@ -71,21 +66,45 @@ const colorGreen = '#008000';
const colorBlue = '#0000ff'; const colorBlue = '#0000ff';
const colorYellow = '#ffff00'; const colorYellow = '#ffff00';
const widgetOffset = showWidgets ? 24 : 0; const widgetOffset = showWidgets ? 24 : 0;
const dowOffset = circleCount == 3 ? 22 : 24; // dow offset relative to date
const h = g.getHeight() - widgetOffset; const h = g.getHeight() - widgetOffset;
const w = g.getWidth(); const w = g.getWidth();
const hOffset = 30 - widgetOffset; const hOffset = 30 - widgetOffset;
const h1 = Math.round(1 * h / 5 - hOffset); const h1 = Math.round(1 * h / 5 - hOffset);
const h2 = Math.round(3 * h / 5 - hOffset); const h2 = Math.round(3 * h / 5 - hOffset);
const h3 = Math.round(8 * h / 8 - hOffset - 3); // circle y position const h3 = Math.round(8 * h / 8 - hOffset - 3); // circle y position
const circlePosX = [Math.round(w / 6), Math.round(3 * w / 6), Math.round(5 * w / 6)]; // cirle x positions
const radiusOuter = 25; /*
const radiusInner = 20; * circle x positions
const circleFont = "Vector:15"; * depending on circleCount
const circleFontBig = "Vector:16"; *
* | 1 2 3 4 5 6 |
* | (1) (2) (3) |
* => circles start at 1,3,5 / 6
*
* | 1 2 3 4 5 6 7 8 |
* | (1) (2) (3) (4) |
* => circles start at 1,3,5,7 / 8
*/
const parts = circleCount * 2;
const circlePosX = [
Math.round(1 * w / parts), // circle1
Math.round(3 * w / parts), // circle2
Math.round(5 * w / parts), // circle3
Math.round(7 * w / parts), // circle4
];
const radiusOuter = circleCount == 3 ? 25 : 20;
const radiusInner = circleCount == 3 ? 20 : 15;
const circleFontSmall = circleCount == 3 ? "Vector:14" : "Vector:10";
const circleFont = circleCount == 3 ? "Vector:15" : "Vector:11";
const circleFontBig = circleCount == 3 ? "Vector:16" : "Vector:12";
const iconOffset = circleCount == 3 ? 6 : 8;
const defaultCircleTypes = ["steps", "hr", "battery", "weather"];
function draw() { function draw() {
g.clear(true); g.clear(true);
if (!showWidgets) { if (!showWidgets) {
/* /*
* we are not drawing the widgets as we are taking over the whole screen * we are not drawing the widgets as we are taking over the whole screen
@ -103,7 +122,7 @@ function draw() {
} }
g.setColor(colorBg); g.setColor(colorBg);
g.fillRect(0, widgetOffset, w, h); g.fillRect(0, widgetOffset, w, h2 + 22);
// time // time
g.setFont("Vector:50"); g.setFont("Vector:50");
@ -116,19 +135,19 @@ function draw() {
g.setFont("Vector:21"); g.setFont("Vector:21");
g.setFontAlign(-1, 0); g.setFontAlign(-1, 0);
g.drawString(locale.date(new Date()), w > 180 ? 2 * w / 10 : w / 10, h2); g.drawString(locale.date(new Date()), w > 180 ? 2 * w / 10 : w / 10, h2);
g.drawString(locale.dow(new Date()), w > 180 ? 2 * w / 10 : w / 10, h2 + 22); g.drawString(locale.dow(new Date()), w > 180 ? 2 * w / 10 : w / 10, h2 + dowOffset);
drawCircle(1); drawCircle(1);
drawCircle(2); drawCircle(2);
drawCircle(3); drawCircle(3);
if (circleCount >= 4) drawCircle(4);
} }
const defaultCircleTypes = ["steps", "hr", "battery"];
function drawCircle(index) { function drawCircle(index) {
let type = settings['circle' + index]; let type = settings['circle' + index];
if (!type) type = defaultCircleTypes[index - 1]; if (!type) type = defaultCircleTypes[index - 1];
const w = getCirclePosition(type); const w = getCircleXPosition(type);
switch (type) { switch (type) {
case "steps": case "steps":
drawSteps(w); drawSteps(w);
@ -146,8 +165,18 @@ function drawCircle(index) {
drawWeather(w); drawWeather(w);
break; break;
case "sunprogress": case "sunprogress":
case "sunProgress":
drawSunProgress(w); drawSunProgress(w);
break; break;
case "temperature":
drawTemperature(w);
break;
case "pressure":
drawPressure(w);
break;
case "altitude":
drawAltitude(w);
break;
case "empty": case "empty":
// we draw nothing here // we draw nothing here
return; return;
@ -166,133 +195,200 @@ let circlePositionsCache = [];
*/ */
function getCirclePosition(type) { function getCirclePosition(type) {
if (circlePositionsCache[type] >= 0) { if (circlePositionsCache[type] >= 0) {
return circlePosX[circlePositionsCache[type]]; return circlePositionsCache[type];
} }
for (let i = 1; i <= 3; i++) { for (let i = 1; i <= circleCount; i++) {
const setting = settings['circle' + i]; const setting = settings['circle' + i];
if (setting == type) { if (setting == type) {
circlePositionsCache[type] = i - 1; circlePositionsCache[type] = i - 1;
return circlePosX[i - 1]; return i - 1;
} }
} }
for (let i = 0; i < defaultCircleTypes.length; i++) { for (let i = 0; i < defaultCircleTypes.length; i++) {
if (type == defaultCircleTypes[i] && (!settings || settings['circle' + (i + 1)] == undefined)) { if (type == defaultCircleTypes[i] && (!settings || settings['circle' + (i + 1)] == undefined)) {
circlePositionsCache[type] = i; circlePositionsCache[type] = i;
return circlePosX[i]; return i;
} }
} }
return undefined; return undefined;
} }
function getCircleXPosition(type) {
const circlePos = getCirclePosition(type);
if (circlePos != undefined) {
return circlePosX[circlePos];
}
return undefined;
}
function isCircleEnabled(type) { function isCircleEnabled(type) {
return getCirclePosition(type) != undefined; return getCirclePosition(type) != undefined;
} }
function getCircleColor(type) {
const pos = getCirclePosition(type);
const color = settings["circle" + (pos + 1) + "color"];
if (color && color != "") return color;
}
function getCircleIconColor(type, color, percent) {
const pos = getCirclePosition(type);
const colorizeIcon = settings["circle" + (pos + 1) + "colorizeIcon"] == true;
if (colorizeIcon) {
return getGradientColor(color, percent);
} else {
return "";
}
}
function getGradientColor(color, percent) {
if (isNaN(percent)) percent = 0;
if (percent > 1) percent = 1;
const colorList = [
'#00FF00', '#80FF00', '#FFFF00', '#FF8000', '#FF0000'
];
if (color == "green-red") {
const colorIndex = Math.round(colorList.length * percent);
return colorList[Math.min(colorIndex, colorList.length) - 1] || "#00ff00";
}
if (color == "red-green") {
const colorIndex = colorList.length - Math.round(colorList.length * percent);
return colorList[Math.min(colorIndex, colorList.length)] || "#ff0000";
}
return color;
}
function getImage(graphic, color) {
if (!color || color == "") {
return graphic;
} else {
return {
width: 16,
height: 16,
bpp: 1,
transparent: 0,
buffer: E.toArrayBuffer(graphic),
palette: new Uint16Array([colorBg, g.toColor(color)])
};
}
}
function drawSteps(w) { function drawSteps(w) {
if (!w) w = getCirclePosition("steps"); if (!w) w = getCircleXPosition("steps");
const steps = getSteps(); const steps = getSteps();
drawCircleBackground(w); drawCircleBackground(w);
const color = getCircleColor("steps") || colorBlue;
let percent;
const stepGoal = settings.stepGoal || 10000; const stepGoal = settings.stepGoal || 10000;
if (stepGoal > 0) { if (stepGoal > 0) {
let percent = steps / stepGoal; percent = steps / stepGoal;
if (stepGoal < steps) percent = 1; if (stepGoal < steps) percent = 1;
drawGauge(w, h3, percent, colorBlue); drawGauge(w, h3, percent, color);
} }
drawInnerCircleAndTriangle(w); drawInnerCircleAndTriangle(w);
writeCircleText(w, shortValue(steps)); writeCircleText(w, shortValue(steps));
g.drawImage(shoesIcon, w - 6, h3 + radiusOuter - 6); g.drawImage(getImage(shoesIcon, getCircleIconColor("steps", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset);
} }
function drawStepsDistance(w) { function drawStepsDistance(w) {
if (!w) w = getCirclePosition("steps"); if (!w) w = getCircleXPosition("stepsDistance");
const steps = getSteps(); const steps = getSteps();
const stepDistance = settings.stepLength || 0.8; const stepDistance = settings.stepLength || 0.8;
const stepsDistance = Math.round(steps * stepDistance); const stepsDistance = Math.round(steps * stepDistance);
drawCircleBackground(w); drawCircleBackground(w);
const color = getCircleColor("stepsDistance") || colorGreen;
let percent;
const stepDistanceGoal = settings.stepDistanceGoal || 8000; const stepDistanceGoal = settings.stepDistanceGoal || 8000;
if (stepDistanceGoal > 0) { if (stepDistanceGoal > 0) {
let percent = stepsDistance / stepDistanceGoal; percent = stepsDistance / stepDistanceGoal;
if (stepDistanceGoal < stepsDistance) percent = 1; if (stepDistanceGoal < stepsDistance) percent = 1;
drawGauge(w, h3, percent, colorGreen); drawGauge(w, h3, percent, color);
} }
drawInnerCircleAndTriangle(w); drawInnerCircleAndTriangle(w);
writeCircleText(w, shortValue(stepsDistance)); writeCircleText(w, shortValue(stepsDistance));
g.drawImage(shoesIconGreen, w - 6, h3 + radiusOuter - 6); g.drawImage(getImage(shoesIcon, getCircleIconColor("stepsDistance", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset);
} }
function drawHeartRate(w) { function drawHeartRate(w) {
if (!w) w = getCirclePosition("hr"); if (!w) w = getCircleXPosition("hr");
drawCircleBackground(w); drawCircleBackground(w);
const color = getCircleColor("hr") || colorRed;
let percent;
if (hrtValue != undefined) { if (hrtValue != undefined) {
const minHR = settings.minHR || 40; const minHR = settings.minHR || 40;
const maxHR = settings.maxHR || 200; const maxHR = settings.maxHR || 200;
const percent = (hrtValue - minHR) / (maxHR - minHR); percent = (hrtValue - minHR) / (maxHR - minHR);
drawGauge(w, h3, percent, colorRed); if (isNaN(percent)) percent = 0;
drawGauge(w, h3, percent, color);
} }
drawInnerCircleAndTriangle(w); drawInnerCircleAndTriangle(w);
writeCircleText(w, hrtValue != undefined ? hrtValue : "-"); writeCircleText(w, hrtValue != undefined ? hrtValue : "-");
g.drawImage(heartIcon, w - 6, h3 + radiusOuter - 6); g.drawImage(getImage(heartIcon, getCircleIconColor("hr", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset);
} }
function drawBattery(w) { function drawBattery(w) {
if (!w) w = getCirclePosition("battery"); if (!w) w = getCircleXPosition("battery");
const battery = E.getBattery(); const battery = E.getBattery();
drawCircleBackground(w); drawCircleBackground(w);
let color = getCircleColor("battery") || colorYellow;
let percent;
if (battery > 0) { if (battery > 0) {
const percent = battery / 100; percent = battery / 100;
drawGauge(w, h3, percent, colorYellow); drawGauge(w, h3, percent, color);
} }
drawInnerCircleAndTriangle(w); drawInnerCircleAndTriangle(w);
let icon = powerIcon;
let color = colorFg;
if (Bangle.isCharging()) { if (Bangle.isCharging()) {
color = colorGreen; color = colorGreen;
icon = powerIconGreen;
} else { } else {
if (settings.batteryWarn != undefined && battery <= settings.batteryWarn) { if (settings.batteryWarn != undefined && battery <= settings.batteryWarn) {
color = colorRed; color = colorRed;
icon = powerIconRed;
} }
} }
writeCircleText(w, battery + '%'); writeCircleText(w, battery + '%');
g.drawImage(icon, w - 6, h3 + radiusOuter - 6); g.drawImage(getImage(powerIcon, getCircleIconColor("battery", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset);
} }
function drawWeather(w) { function drawWeather(w) {
if (!w) w = getCirclePosition("weather"); if (!w) w = getCircleXPosition("weather");
const weather = getWeather(); const weather = getWeather();
const tempString = weather ? locale.temp(weather.temp - 273.15) : undefined; const tempString = weather ? locale.temp(weather.temp - 273.15) : undefined;
const code = weather ? weather.code : -1; const code = weather ? weather.code : -1;
drawCircleBackground(w); drawCircleBackground(w);
const color = getCircleColor("weather") || colorYellow;
let percent;
const data = settings.weatherCircleData || "humidity"; const data = settings.weatherCircleData || "humidity";
switch (data) { switch (data) {
case "humidity": case "humidity":
const humidity = weather ? weather.hum : undefined; const humidity = weather ? weather.hum : undefined;
if (humidity >= 0) { if (humidity >= 0) {
drawGauge(w, h3, humidity / 100, colorYellow); percent = humidity / 100;
drawGauge(w, h3, percent, color);
} }
break; break;
case "wind": case "wind":
@ -303,7 +399,8 @@ function drawWeather(w) {
wind[1] = windAsBeaufort(wind[1]); wind[1] = windAsBeaufort(wind[1]);
} }
// wind goes from 0 to 12 (see https://en.wikipedia.org/wiki/Beaufort_scale) // wind goes from 0 to 12 (see https://en.wikipedia.org/wiki/Beaufort_scale)
drawGauge(w, h3, wind[1] / 12, colorYellow); percent = wind[1] / 12;
drawGauge(w, h3, percent, color);
} }
} }
break; break;
@ -317,34 +414,26 @@ function drawWeather(w) {
if (code > 0) { if (code > 0) {
const icon = getWeatherIconByCode(code); const icon = getWeatherIconByCode(code);
if (icon) g.drawImage(icon, w - 6, h3 + radiusOuter - 10); if (icon) g.drawImage(getImage(icon, getCircleIconColor("weather", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset);
} else {
g.drawString("?", w, h3 + radiusOuter);
} }
} }
function drawSunProgress(w) { function drawSunProgress(w) {
if (!w) w = getCirclePosition("sunprogress"); if (!w) w = getCircleXPosition("sunprogress");
const percent = getSunProgress(); const percent = getSunProgress();
drawCircleBackground(w); drawCircleBackground(w);
drawGauge(w, h3, percent, colorYellow); const color = getCircleColor("sunprogress") || colorYellow;
drawGauge(w, h3, percent, color);
drawInnerCircleAndTriangle(w); drawInnerCircleAndTriangle(w);
let icon = powerIcon; let icon = sunSetDown;
let color = colorFg;
if (isDay()) {
// day
color = colorFg;
icon = sunSetDown;
} else {
// night
color = colorGrey;
icon = sunSetUp;
}
g.setColor(color);
let text = "?"; let text = "?";
const times = getSunData(); const times = getSunData();
if (times != undefined) { if (times != undefined) {
@ -359,16 +448,95 @@ function drawSunProgress(w) {
} else { } else {
text = formatSeconds(sunRise - now); text = formatSeconds(sunRise - now);
} }
icon = sunSetUp;
} else { } else {
// day, approx sunrise tomorrow: // day, approx sunrise tomorrow:
text = formatSeconds(sunSet - now); text = formatSeconds(sunSet - now);
icon = sunSetDown;
} }
} }
writeCircleText(w, text); writeCircleText(w, text);
g.drawImage(icon, w - 6, h3 + radiusOuter - 6); g.drawImage(getImage(icon, getCircleIconColor("sunprogress", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset);
}
function drawTemperature(w) {
if (!w) w = getCircleXPosition("temperature");
getPressureValue("temperature").then((temperature) => {
drawCircleBackground(w);
const color = getCircleColor("temperature") || colorGreen;
let percent;
if (temperature) {
const min = -40;
const max = 85;
percent = (temperature - min) / (max - min);
drawGauge(w, h3, percent, color);
}
drawInnerCircleAndTriangle(w);
if (temperature)
writeCircleText(w, locale.temp(temperature));
g.drawImage(getImage(temperatureIcon, getCircleIconColor("temperature", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset);
});
}
function drawPressure(w) {
if (!w) w = getCircleXPosition("pressure");
getPressureValue("pressure").then((pressure) => {
drawCircleBackground(w);
const color = getCircleColor("pressure") || colorGreen;
let percent;
if (pressure && pressure > 0) {
const minPressure = 950;
const maxPressure = 1050;
percent = (pressure - minPressure) / (maxPressure - minPressure);
drawGauge(w, h3, percent, color);
}
drawInnerCircleAndTriangle(w);
if (pressure)
writeCircleText(w, Math.round(pressure));
g.drawImage(getImage(temperatureIcon, getCircleIconColor("pressure", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset);
});
}
function drawAltitude(w) {
if (!w) w = getCircleXPosition("altitude");
getPressureValue("altitude").then((altitude) => {
drawCircleBackground(w);
const color = getCircleColor("altitude") || colorGreen;
let percent;
if (altitude) {
const min = 0;
const max = 10000;
percent = (altitude - min) / (max - min);
drawGauge(w, h3, percent, color);
}
drawInnerCircleAndTriangle(w);
if (altitude)
writeCircleText(w, locale.distance(Math.round(altitude)));
g.drawImage(getImage(temperatureIcon, getCircleIconColor("altitude", color, percent)), w - iconOffset, h3 + radiusOuter - iconOffset);
});
} }
/* /*
@ -410,7 +578,6 @@ function getWeatherIconByCode(code) {
default: default:
return weatherRainy; return weatherRainy;
} }
break;
case 6: case 6:
return weatherSnowy; return weatherSnowy;
case 7: case 7:
@ -426,11 +593,9 @@ function getWeatherIconByCode(code) {
default: default:
return weatherCloudy; return weatherCloudy;
} }
break;
default: default:
return undefined; return undefined;
} }
return undefined;
} }
@ -456,7 +621,7 @@ function formatSeconds(s) {
function getSunData() { function getSunData() {
if (location != undefined && location.lat != undefined) { if (location != undefined && location.lat != undefined) {
// get today's sunlight times for lat/lon // get today's sunlight times for lat/lon
return SunCalc.getTimes(new Date(), location.lat, location.lon); return SunCalc ? SunCalc.getTimes(new Date(), location.lat, location.lon) : undefined;
} }
return undefined; return undefined;
} }
@ -482,12 +647,12 @@ function getSunProgress() {
} }
} else { } else {
// during night // during night
if (sunSet < sunRise) { if (now < sunRise) {
const upcomingSunRise = sunRise + 60 * 60 * 24; const prevSunSet = sunSet - 60 * 60 * 24;
return 1 - (upcomingSunRise - now) / (upcomingSunRise - sunSet); return 1 - (sunRise - now) / (sunRise - prevSunSet);
} else { } else {
const lastSunSet = sunSet - 60 * 60 * 24; const upcomingSunRise = sunRise + 60 * 60 * 24;
return (now - lastSunSet) / (sunRise - lastSunSet); return (upcomingSunRise - now) / (upcomingSunRise - sunSet);
} }
} }
} }
@ -496,6 +661,7 @@ function getSunProgress() {
* Draws the background and the grey circle * Draws the background and the grey circle
*/ */
function drawCircleBackground(w) { function drawCircleBackground(w) {
g.clearRect(w - radiusOuter - 3, h3 - radiusOuter - 3, w + radiusOuter + 3, h3 + radiusOuter + 3);
// Draw rectangle background: // Draw rectangle background:
g.setColor(colorBg); g.setColor(colorBg);
g.fillRect(w - radiusOuter - 3, h3 - radiusOuter - 3, w + radiusOuter + 3, h3 + radiusOuter + 3); g.fillRect(w - radiusOuter - 3, h3 - radiusOuter - 3, w + radiusOuter + 3, h3 + radiusOuter + 3);
@ -521,16 +687,17 @@ function radians(a) {
*/ */
function drawGauge(cx, cy, percent, color) { function drawGauge(cx, cy, percent, color) {
const offset = 15; const offset = 15;
const end = 345; const end = 360 - offset;
const radius = radiusInner + 3; const radius = radiusInner + (circleCount == 3 ? 3 : 2);
const size = radiusOuter - radiusInner - 2; const size = radiusOuter - radiusInner - 2;
if (percent <= 0) return; if (percent <= 0) return; // no gauge needed
if (percent > 1) percent = 1; if (percent > 1) percent = 1;
const startRotation = -offset; const startRotation = -offset;
const endRotation = startRotation - ((end - offset) * percent); const endRotation = startRotation - ((end - offset) * percent);
color = getGradientColor(color, percent);
g.setColor(color); g.setColor(color);
for (let i = startRotation; i > endRotation - size; i -= size) { for (let i = startRotation; i > endRotation - size; i -= size) {
@ -542,7 +709,8 @@ function drawGauge(cx, cy, percent, color) {
function writeCircleText(w, content) { function writeCircleText(w, content) {
if (content == undefined) return; if (content == undefined) return;
g.setFont(content.length < 4 ? circleFontBig : circleFont); const font = String(content).length > 4 ? circleFontSmall : String(content).length > 3 ? circleFont : circleFontBig;
g.setFont(font);
g.setFontAlign(0, 0); g.setFontAlign(0, 0);
g.setColor(colorFg); g.setColor(colorFg);
@ -585,33 +753,67 @@ function enableHRMSensor() {
} }
} }
let pressureLocked = false;
let pressureCache;
function getPressureValue(type) {
return new Promise((resolve) => {
if (Bangle.getPressure) {
if (!pressureLocked) {
pressureLocked = true;
if (pressureCache && pressureCache[type]) {
resolve(pressureCache[type]);
}
Bangle.getPressure().then(function(d) {
pressureLocked = false;
if (d) {
pressureCache = d;
if (d[type]) {
resolve(d[type]);
}
}
}).catch(() => {});
} else {
if (pressureCache && pressureCache[type]) {
resolve(pressureCache[type]);
}
}
}
});
}
Bangle.on('lock', function(isLocked) { Bangle.on('lock', function(isLocked) {
if (!isLocked) { if (!isLocked) {
draw();
if (isCircleEnabled("hr")) { if (isCircleEnabled("hr")) {
enableHRMSensor(); enableHRMSensor();
} }
draw();
} else { } else {
Bangle.setHRMPower(0, "circleclock"); Bangle.setHRMPower(0, "circleclock");
} }
}); });
let timerHrm;
Bangle.on('HRM', function(hrm) { Bangle.on('HRM', function(hrm) {
if (isCircleEnabled("hr")) { if (isCircleEnabled("hr")) {
if (hrm.confidence >= (settings.confidence || 0)) {
hrtValue = hrm.bpm; hrtValue = hrm.bpm;
if (Bangle.isLCDOn()) if (Bangle.isLCDOn()) {
drawHeartRate(); drawHeartRate();
} }
}
// Let us wait before we overwrite "good" HRM values:
if (Bangle.isLCDOn()) {
if (timerHrm) clearTimeout(timerHrm);
timerHrm = setTimeout(() => {
hrtValue = '...';
drawHeartRate();
}, settings.hrmValidity * 1000 || 30000);
}
}
}); });
Bangle.setUI("clock");
Bangle.loadWidgets();
draw();
setInterval(draw, 60000);
Bangle.on('charging', function(charging) { Bangle.on('charging', function(charging) {
if (isCircleEnabled("battery")) drawBattery(); if (isCircleEnabled("battery")) drawBattery();
}); });
@ -619,3 +821,10 @@ Bangle.on('charging', function(charging) {
if (isCircleEnabled("hr")) { if (isCircleEnabled("hr")) {
enableHRMSensor(); enableHRMSensor();
} }
Bangle.setUI("clock");
Bangle.loadWidgets();
draw();
setInterval(draw, 60000);

View File

@ -1,10 +1,10 @@
{ "id": "circlesclock", { "id": "circlesclock",
"name": "Circles clock", "name": "Circles clock",
"shortName":"Circles clock", "shortName":"Circles clock",
"version":"0.06", "version":"0.09",
"description": "A clock with circles for different data at the bottom in a probably familiar style", "description": "A clock with three or four circles for different data at the bottom in a probably familiar style",
"icon": "app.png", "icon": "app.png",
"screenshots": [{"url":"screenshot-dark.png"}, {"url":"screenshot-light.png"}], "screenshots": [{"url":"screenshot-dark.png"}, {"url":"screenshot-light.png"}, {"url":"screenshot-dark-4.png"}, {"url":"screenshot-light-4.png"}],
"type": "clock", "type": "clock",
"tags": "clock", "tags": "clock",
"supports" : ["BANGLEJS2"], "supports" : ["BANGLEJS2"],

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -7,65 +7,32 @@
storage.write(SETTINGS_FILE, settings); storage.write(SETTINGS_FILE, settings);
} }
const valuesCircleTypes = ["steps", "stepsDist", "hr", "battery", "weather", "sunprogress", "empty"]; const valuesCircleTypes = ["empty", "steps", "stepsDist", "hr", "battery", "weather", "sunprogress", "temperature", "pressure", "altitude"];
const namesCircleTypes = ["steps", "distance", "heart", "battery", "weather", "sun progress", "empty"]; const namesCircleTypes = ["empty", "steps", "distance", "heart", "battery", "weather", "sun", "temperature", "pressure", "altitude"];
const weatherData = ["humidity", "wind", "empty"]; const valuesColors = ["", "#ff0000", "#00ff00", "#0000ff", "#ffff00", "#ff00ff", "#00ffff", "#fff", "#000", "green-red", "red-green"];
const namesColors = ["default", "red", "green", "blue", "yellow", "magenta", "cyan", "white", "black", "green->red", "red->green"];
E.showMenu({ const weatherData = ["empty", "humidity", "wind"];
'': { 'title': 'circlesclock' },
'< Back': back, function showMainMenu() {
'min heartrate': { let menu ={
value: "minHR" in settings ? settings.minHR : 40, '': { 'title': 'Circles clock' },
min: 0, /*LANG*/'< Back': back,
max : 250, /*LANG*/'circle count': {
step: 5, value: "circleCount" in settings ? settings.circleCount : 3,
format: x => { min: 3,
return x; max : 4,
step: 1,
onchange: x => save('circleCount', x),
}, },
onchange: x => save('minHR', x), /*LANG*/'circle 1': ()=>showCircleMenu(1),
}, /*LANG*/'circle 2': ()=>showCircleMenu(2),
'max heartrate': { /*LANG*/'circle 3': ()=>showCircleMenu(3),
value: "maxHR" in settings ? settings.maxHR : 200, /*LANG*/'circle 4': ()=>showCircleMenu(4),
min: 20, /*LANG*/'heartrate': ()=>showHRMenu(),
max : 250, /*LANG*/'steps': ()=>showStepMenu(),
step: 5, /*LANG*/'battery warn': {
format: x => {
return x;
},
onchange: x => save('maxHR', x),
},
'step goal': {
value: "stepGoal" in settings ? settings.stepGoal : 10000,
min: 2000,
max : 50000,
step: 2000,
format: x => {
return x;
},
onchange: x => save('stepGoal', x),
},
'step length': {
value: "stepLength" in settings ? settings.stepLength : 0.8,
min: 0.1,
max : 1.5,
step: 0.01,
format: x => {
return x;
},
onchange: x => save('stepLength', x),
},
'step dist goal': {
value: "stepDistanceGoal" in settings ? settings.stepDistanceGoal : 8000,
min: 2000,
max : 30000,
step: 1000,
format: x => {
return x;
},
onchange: x => save('stepDistanceGoal', x),
},
'battery warn': {
value: "batteryWarn" in settings ? settings.batteryWarn : 30, value: "batteryWarn" in settings ? settings.batteryWarn : 30,
min: 10, min: 10,
max : 100, max : 100,
@ -75,34 +42,138 @@
}, },
onchange: x => save('batteryWarn', x), onchange: x => save('batteryWarn', x),
}, },
'show widgets': { /*LANG*/'show widgets': {
value: "showWidgets" in settings ? settings.showWidgets : false, value: "showWidgets" in settings ? settings.showWidgets : false,
format: () => (settings.showWidgets ? 'Yes' : 'No'), format: () => (settings.showWidgets ? 'Yes' : 'No'),
onchange: x => save('showWidgets', x), onchange: x => save('showWidgets', x),
}, },
'weather circle': { /*LANG*/'weather circle': {
value: settings.weatherCircleData ? weatherData.indexOf(settings.weatherCircleData) : 0, value: settings.weatherCircleData ? weatherData.indexOf(settings.weatherCircleData) : 1,
min: 0, max: 2, min: 0, max: 2,
format: v => weatherData[v], format: v => weatherData[v],
onchange: x => save('weatherCircleData', weatherData[x]), onchange: x => save('weatherCircleData', weatherData[x]),
},
'left': {
value: settings.circle1 ? valuesCircleTypes.indexOf(settings.circle1) : 0,
min: 0, max: 6,
format: v => namesCircleTypes[v],
onchange: x => save('circle1', valuesCircleTypes[x]),
},
'middle': {
value: settings.circle2 ? valuesCircleTypes.indexOf(settings.circle2) : 2,
min: 0, max: 6,
format: v => namesCircleTypes[v],
onchange: x => save('circle2', valuesCircleTypes[x]),
},
'right': {
value: settings.circle3 ? valuesCircleTypes.indexOf(settings.circle3) : 3,
min: 0, max: 6,
format: v => namesCircleTypes[v],
onchange: x => save('circle3', valuesCircleTypes[x]),
} }
}); };
E.showMenu(menu);
}
function showHRMenu() {
let menu = {
'': { 'title': /*LANG*/'Heartrate' },
/*LANG*/'< Back': ()=>showMainMenu(),
/*LANG*/'minimum': {
value: "minHR" in settings ? settings.minHR : 40,
min: 0,
max : 250,
step: 5,
format: x => {
return x + " bpm";
},
onchange: x => save('minHR', x),
},
/*LANG*/'maximum': {
value: "maxHR" in settings ? settings.maxHR : 200,
min: 20,
max : 250,
step: 5,
format: x => {
return x + " bpm";
},
onchange: x => save('maxHR', x),
},
/*LANG*/'min. confidence': {
value: "confidence" in settings ? settings.confidence : 0,
min: 0,
max : 100,
step: 10,
format: x => {
return x + "%";
},
onchange: x => save('confidence', x),
},
/*LANG*/'valid period': {
value: "hrmValidity" in settings ? settings.hrmValidity : 30,
min: 10,
max : 600,
step: 10,
format: x => {
return x + "s";
},
onchange: x => save('hrmValidity', x),
},
};
E.showMenu(menu);
}
function showStepMenu() {
let menu = {
'': { 'title': /*LANG*/'Steps' },
/*LANG*/'< Back': ()=>showMainMenu(),
/*LANG*/'goal': {
value: "stepGoal" in settings ? settings.stepGoal : 10000,
min: 2000,
max : 50000,
step: 2000,
format: x => {
return x;
},
onchange: x => save('stepGoal', x),
},
/*LANG*/'distance goal': {
value: "stepDistanceGoal" in settings ? settings.stepDistanceGoal : 8000,
min: 2000,
max : 30000,
step: 1000,
format: x => {
return x;
},
onchange: x => save('stepDistanceGoal', x),
},
/*LANG*/'step length': {
value: "stepLength" in settings ? settings.stepLength : 0.8,
min: 0.1,
max : 1.5,
step: 0.01,
format: x => {
return x;
},
onchange: x => save('stepLength', x),
}
};
E.showMenu(menu);
}
const defaultCircleTypes = ["steps", "hr", "battery", "weather"];
function showCircleMenu(circleId) {
const circleName = "circle" + circleId;
const colorKey = circleName + "color";
const colorizeIconKey = circleName + "colorizeIcon";
const menu = {
'': { 'title': /*LANG*/'Circle ' + circleId },
/*LANG*/'< Back': ()=>showMainMenu(),
/*LANG*/'data': {
value: settings[circleName]!=undefined ? valuesCircleTypes.indexOf(settings[circleName]) : valuesCircleTypes.indexOf(defaultCircleTypes[circleId -1]),
min: 0, max: valuesCircleTypes.length - 1,
format: v => namesCircleTypes[v],
onchange: x => save(circleName, valuesCircleTypes[x]),
},
/*LANG*/'color': {
value: settings[colorKey] ? valuesColors.indexOf(settings[colorKey]) : 0,
min: 0, max: valuesColors.length - 1,
format: v => namesColors[v],
onchange: x => save(colorKey, valuesColors[x]),
},
/*LANG*/'colorize icon': {
value: colorizeIconKey in settings ? settings[colorizeIconKey] : false,
format: () => (settings[colorizeIconKey] ? 'Yes' : 'No'),
onchange: x => save(colorizeIconKey, x),
},
};
E.showMenu(menu);
}
showMainMenu();
}); });

View File

@ -0,0 +1,27 @@
# Variable Analog Clock #
This app implements an analog clock with various faces, hands and colors to
choose from.
You have the choice between:
* 4 different clock faces ![](Screenshot_01.png) ![](Screenshot_02.png) ![](Screenshot_03.png) ![](Screenshot_04.png) and
* 3 different clock hands (optionally with or without second hands) ![](Screenshot_11.png) ![](Screenshot_12.png) ![](Screenshot_13.png)
Additionally, you may use the currently configured global theme or configure
your own colors for clock fore- and background and second hands.
Just swipe up or down to switch from clock display to configuration screen
![](Screenshot_21.png) ![](Screenshot_22.png) ![](Screenshot_23.png)
![](Screenshot_24.png) ![](Screenshot_25.png)
Chosen settings will be written to the Bangle.js's flash memory and restored
whenever the clock is started again.
This clock also acts as an example for the building blocks found in the author's
[GitHub repository](https://github.com/rozek/banglejs-2-activities)
## License ##
[MIT License](LICENSE)

View File

@ -0,0 +1,5 @@
0.01: New app
0.20: Settings menu, different fonts, inverse fonts
0.21: Fixed settings menu, four more fonts
0.22: Changed timing code, original "Nunito" Font is back!
0.23: Customizer! Unused fonts no longer take up precious memory.

View File

@ -1,49 +1,21 @@
const digits = [ var digits = [];
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVVqlVVVVVVVVVVVVVaqqqqpVVVVVVVVVVWqqqqqqqVVVVVVVVVWqqqAKqqpVVVVVVVVaqgAAAACqpVVVVVVVaqAAAAAACqlVVVVVVaoAAAAAAACqVVVVVVaoAAAAAAAAKpVVVVVaoAAAAAAAAAqlVVVVaoAAAAAAAAACqVVVVWoAAAAAAAAAAKlVVVWoAAAAAAAAAAAqVVVWqAAAAAAAAAAAKpVVVqAAAAACgAAAAAqVVVagAAAAKqgAAAAKlVVagAAAAqqqgAAAAqVVWoAAAAKpaoAAAAKlVVqAAAAKlVagAAAAqVVqAAAACpVWoAAAAKlVagAAACpVVagAAACpVWoAAAAqVVWoAAAAqVVqAAAAqVVVagAAAKlVqAAAAKlVVWoAAAAqVagAAACpVVVqAAAAKlWoAAAAqVVVagAAACpVqAAAAKlVVWoAAAAqVagAAACpVVVqAAAAKlWoAAAAqVVVWoAAACpVqAAAAKlVVVqAAAAqVagAAAKlVVVagAAAKlWoAAACpVVVWoAAACpVqAAAAqVVVVqAAAAqVagAAAKlVVVagAAAKlWoAAACpVVVWoAAACpVqAAAAqVVVVqAAAAqVagAAACpVVVagAAAKlWoAAAAqVVVWoAAACpVqAAAAKlVVWoAAAAqVagAAACpVVVqAAAAKlWoAAAAqVVVagAAACpVqAAAAKlVVWoAAAAqVagAAACpVVVqAAAAKlVqAAAAqVVVagAAACpVagAAACpVVWoAAACpVWoAAAAqVVWoAAAAqVVqAAAAKlVVqAAAAKlVagAAAAqVVqAAAAKlVVqAAAAKpVqgAAACpVVagAAAAqqqgAAAAqVVVqAAAACqqgAAAAKlVVagAAAACqAAAAAKlVVWoAAAAAAAAAAACpVVVagAAAAAAAAAACpVVVWqAAAAAAAAAACqVVVVagAAAAAAAAAAqVVVVVqAAAAAAAAAAqVVVVVaoAAAAAAAAAqlVVVVVqgAAAAAAAAqlVVVVVWqgAAAAAAAqlVVVVVVaqAAAAAACqlVVVVVVVaqgAAAAqqlVVVVVVVVqqqqqqqqVVVVVVVVVVqqqqqqpVVVVVVVVVVVaqqqqVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVVVVVVVVVVVVVVVVVVVaqqqVVVVVVVVVVVVVqqqqqVVVVVVVVVVVWqqqqqpVVVVVVVVVVaqgAAAqVVVVVVVVVVaqAAAACpVVVVVVVVVqoAAAAAqVVVVVVVVVqoAAAAAKlVVVVVVVWqgAAAAACpVVVVVVVaqgAAAAAAqVVVVVVVaqAAAAAAAKlVVVVVVaoAAAAAAACpVVVVVVqoAAAAAAAAqVVVVVVaoAAAAAAAAKlVVVVVagAAAAAAAACpVVVVVWoAAAAAAAAAqVVVVVVqAAAAAAAAAKlVVVVVagAAAAAAAACpVVVVVWoAAAAAAAAAqVVVVVVqAAAAAAAAAKlVVVVVagAAAgAAAACpVVVVVWoAACogAAAAqVVVVVVagAKqoAAAAKlVVVVVWqqqqagAAACpVVVVVVaqqpWoAAAAqVVVVVVVaqlVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVaqqqAAAAAqqqpVVVWqqqqgAAAAKqqqpVVWqqqqAAAAAAKqqqlVVqgAAAAAAAAAAACpVVqAAAAAAAAAAAAAKlVagAAAAAAAAAAAACpVWoAAAAAAAAAAAAAqVWoAAAAAAAAAAAAAKlVagAAAAAAAAAAAACpVWoAAAAAAAAAAAAAqVVqAAAAAAAAAAAAAKlVagAAAAAAAAAAAACpVWqAAAAAAAAAAAACqVVaqqqqqqqqqqqqqqVVVqqqqqqqqqqqqqqVVVWqqqqqqqqqqqqqVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVWqVVVVVVVVVVVVVaqqqqqlVVVVVVVVVaqqqqqqqqVVVVVVVVqqqqoAqqqqVVVVVVWqqgAAAAAKqpVVVVVaqgAAAAAAAAqpVVVVaqAAAAAAAAACqlVVVWoAAAAAAAAAACpVVVWoAAAAAAAAAAAKlVVVqAAAAAAAAAAACqVVVagAAAAAAAAAAAKlVVWoAAAAAAAAAAAAqVVVqAAAAAAAAAAAAKlVVagAAAAAAAAAAAAqVVWoAAAKqqAAAAAAKlVVagACqqqqAAAAACpVVWqqqqqqqqAAAAAqVVVaqqqlVVqgAAAAKlVVVaqpVVVVqAAAACpVVVVVVVVVVagAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVqAAAACpVVVVVVVVVVagAAAAqVVVVVVVVVVagAAAAqVVVVVVVVVVaoAAAAKlVVVVVVVVVaoAAAACpVVVVVVVVVaoAAAACpVVVVVVVVVWoAAAACqVVVVVVVVVWoAAAAAqVVVVVVVVVWqAAAAAqVVVVVVVVVWqAAAAAqlVVVVVVVVWqAAAAAKlVVVVVVVVWqAAAAAKlVVVVVVVVWqAAAAAKpVVVVVVVVWqAAAAAKpVVVVVVVVWqAAAAAKpVVVVVVVVWqAAAAAKpVVVVVVVVWqAAAAAKpVVVVVVVVWqAAAAAKpVVVVVVVVWqAAAAAKpVVVVVVVVWqAAAAAKpVVVVVVVVWqAAAAAqpVVVVVVVVWqAAAAACpVVVVVVVVWqAAAAAKlVVVVVVVVVqAAAAAACqqqqpVVVVqAAAAAAKqqqqqpVVVqgAAAAAAKqqqqqpVVagAAAAAAAAAAACqVVWoAAAAAAAAAAAACpVWoAAAAAAAAAAAAAqVVqAAAAAAAAAAAAAKlVagAAAAAAAAAAAACpVWoAAAAAAAAAAAAAqVVqAAAAAAAAAAAAAKlVWoAAAAAAAAAAAACpVVqAAAAAAAAAAAAAqVVaoAAAAAAAAAAAAqVVVqqqqqqqqqqqqqqlVVWqqqqqqqqqqqqqlVVVaqqqqqqqqqqqqVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVapVVVVVVVVVVVVVaqqqqqlVVVVVVVVVaqqqqqqqqVVVVVVVWqqqqgCqqqpVVVVVVaqqgAAAAAKqpVVVVVaqgAAAAAAACqpVVVVaoAAAAAAAAACqlVVVaoAAAAAAAAAACqVVVWoAAAAAAAAAAAKlVVVqAAAAAAAAAAAAqVVVagAAAAAAAAAAAKlVVWoAAAAAAAAAAAAqVVVqAAAAAAAAAAAAKlVVagAAAAAAAAAAAAqVVVqAAAKqqgAAAAAKlVVaoAKqqqqgAAAACpVVVqqqqqqqqAAAAAqVVVWqqqlVVaoAAAAKlVVVaqlVVVVqAAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVaoAAAAqVVVVVVVVaqqqAAAAKlVVVVVVaqqqoAAAAKlVVVVVVaqqqgAAAAKpVVVVVVaqgAAAAAAKpVVVVVVaoAAAAAAAKpVVVVVVWoAAAAAAACpVVVVVVVqAAAAAAACpVVVVVVVagAAAAAAAqVVVVVVVWoAAAAAAACpVVVVVVVqAAAAAAAAqpVVVVVVagAAAAAAACqlVVVVVWoAAAAAAAACqVVVVVVaoAAAAAAAAKpVVVVVWqqqqgAAAAAqVVVVVVWqqqqgAAAACpVVVVVVaqqqqgAAAAqVVVVVVVVVVaqAAAAKlVVVVVVVVVVagAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVlVVVVVVqAAAAKlVVaqqVVVVVqAAAACpVVaqqqpVVWqgAAAAqVVaqKqqqqqqgAAAAKlVaoAAqqqqqAAAAACpVaoAAACqqoAAAAACpVWoAAAAAAAAAAAAAqVVqAAAAAAAAAAAAAKlVagAAAAAAAAAAAAKlVWoAAAAAAAAAAAAKpVVqAAAAAAAAAAAACpVVagAAAAAAAAAAAKpVVVqAAAAAAAAAAAKqVVVaqAAAAAAAAAAKpVVVVqqAAAAAAAACqpVVVVVqqoAAAAACqqpVVVVVWqqqqqqqqqqlVVVVVVVqqqqqqqqpVVVVVVVVVWqqqqqpVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVVVVVVVVVVVVVVVVVVVVVaqqlVVVVVVVVVVVVVqqqqlVVVVVVVVVVVVqqqqqVVVVVVVVVVVVqgAAKpVVVVVVVVVVVqgAAAqVVVVVVVVVVVqgAAACpVVVVVVVVVVqgAAAAqVVVVVVVVVVagAAAAKlVVVVVVVVVagAAAACpVVVVVVVVVaoAAAAAqVVVVVVVVVWoAAAAAKlVVVVVVVVWoAAAAACpVVVVVVVVWqAAAAAAqVVVVVVVVVqAAAAAAKlVVVVVVVVqAAAAAACpVVVVVVVVqgAAAAAAqVVVVVVVVagAAAAAAKlVVVVVVVagAAAAAACpVVVVVVVaoAAAAAAAqVVVVVVVaoAAAAAAAKlVVVVVVWoAAAAAAACpVVVVVVWoAAAAAAAAqVVVVVVWqAAAAAAAAKlVVVVVVqAAAAAAAACpVVVVVVqAAAAAAAAAqVVVVVVqgAAAAAAAAKlVVVVVagAAAgAAAACpVVVVVagAACogAAAAqVVVVVaoAACqoAAAAKlVVVVWoAAAqagAAACpVVVVWoAAAqWoAAAAqVVVVWqAAAqlqAAAAKlVVVVqAAAKlagAAACpVVVVqAAAKlWoAAAAqVVVVqgAAKpVqAAAAKlVVVagAACpVagAAACpVVVagAACpVWoAAAAqVVVaoAAAqVVqAAAAKlVVWoAAACqqqAAAAAqpVVqAAAAqqqgAAAAKqpVqAAAAAqqAAAAAAKqpagAAAAAAAAAAAAACqWoAAAAAAAAAAAAAACpqAAAAAAAAAAAAAAAqagAAAAAAAAAAAAAAKmoAAAAAAAAAAAAAACpqAAAAAAAAAAAAAAAqagAAAAAAAAAAAAAAKlqAAAAAAAAAAAAAACpaqAAAAAAAAAAAAACpVqqqqqqqgAAAAACqqVVqqqqqqqgAAAAKqqVVVqqqqqqoAAAACqpVVVVVVVVVagAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAACpVVVVVVVVVVVqAAACpVVVVVVVVVVVagAAAqVVVVVVVVVVVVqgACqVVVVVVVVVVVVaqqqqlVVVVVVVVVVVVaqqqVVVVVVVVVVVVVVqqqVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVVVVVVVVVVVVVVVaqqqqqqqqpVVVVVVaqqqqqqqqqqqlVVVVaqqqqqqqqqqqqVVVVaqgAAAAAAAACqpVVVaoAAAAAAAAAAAqlVVWoAAAAAAAAAAACpVVVqAAAAAAAAAAAAqVVVagAAAAAAAAAAAKlVVWoAAAAAAAAAAAAqVVVqAAAAAAAAAAAAKlVVagAAAAAAAAAAAKlVVWoAAAAAAAAAAACpVVVqAAAAAAAAAAAAqVVVagAAAAAAAAAAKqVVVWoAAAACqqqqqqqlVVVqAAAAKqqqqqqqVVVVagAAACqqqqqqlVVVVWoAAACpVVVVVVVVVVVqAAAAqVVVVVVVVVVVagAAAKlVVVVVVVVVVWoAAACpVVVVVVVVVVVqAAAAqVVVVVVVVVVVagAAACqqqqqVVVVVVWoAAAAqqqqqqlVVVVVqAAAAAqqqqqqlVVVVagAAAAAAAAAqqVVVVWoAAAAAAAAAAKpVVVVqAAAAAAAAAAAqlVVVagAAAAAAAAAACqVVVWoAAAAAAAAAAAKpVVVqAAAAAAAAAAAAqlVVagAAAAAAAAAAACpVVWoAAAAAAAAAAAAKlVVqAAAAAAAAAAAACpVVagAAAACoAAAAAAKlVWoAAACqqqAAAAACpVVqAAAKqqqqAAAAAqVVWqgqqqpWqoAAAAKlVVqqqqpVVVqAAAACpVVWqqqlVVVWoAAAAqVVVVaVVVVVVqAAAACpVVVVVVVVVVWoAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAAKlVVWqpVVVVVagAAACpVVaqqqVVVVaoAAAAqVVaqqqqlVVqoAAAAKlVWoACqqqqqoAAAACpVWoAAAqqqqgAAAAAqVVqAAAAKqqAAAAAAqVVqAAAAAAAAAAAAAKlVagAAAAAAAAAAAAKlVWoAAAAAAAAAAAACpVVqAAAAAAAAAAAACpVVagAAAAAAAAAAACqVVVqAAAAAAAAAAACqVVVaoAAAAAAAAAAKqVVVVqgAAAAAAAAAKqVVVVWqoAAAAAAAAqpVVVVVaqqgAAAAAqqpVVVVVVaqqqqqqqqqlVVVVVVVWqqqqqqqqVVVVVVVVVVaqqqqqVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVVVVqVVVVVVVVVVVVVVqqqqqpVVVVVVVVVVqqqqqqqqVVVVVVVVWqqqqAqqqqlVVVVVVWqqAAAAACqqlVVVVVaqAAAAAAAAqpVVVVVaqAAAAAAAAAKlVVVVaoAAAAAAAAACqVVVVqoAAAAAAAAAAKlVVVaoAAAAAAAAAACpVVVagAAAAAAAAAAAqVVVaoAAAAAAAAAAAKlVVaoAAAAAAAAAAACpVVWoAAAAAAAAAAAAqVVWoAAAAACqqqAAAqVVVqAAAAAKqqqqoAqlVVqAAAAAqqqqqqqqlVVagAAAAqpVVVqqqlVVagAAAAqlVVVVWqVVVWoAAAAqlVVVVVVVVVVqAAAAKlVVVVVVVVVVagAAAKlVVVVVVVVVVagAAACpVaqqqVVVVVWoAAAAqVqqqqqVVVVVqAAAAqWqqqqqqVVVVagAAAImqgAAAqpVVVWoAAAAoqAAAAAqlVVVqAAAAIqAAAAACqlVVqAAAAAIAAAAAAKpVVagAAAAAAAAAAAAKlVWoAAAAAAAAAAAACqVVqAAAAAAAAAAAAAKlVagAAAAAAAAAAAAAqVWoAAAAAAAAAAAAAKlVqAAAAAACqgAAAACpVagAAAAAKqqgAAAAKlWoAAAAAKqqqAAAACpVagAAAACpVaoAAAAqVWoAAAACpVVqAAAAKlVqAAAAAqVVWoAAACpVagAAAAqVVVqAAAAKlWoAAAAKlVVagAAACpVqAAAACpVVWoAAAAqVagAAAAqVVVqAAAAKlVqAAAAKlVVagAAAKlVagAAACpVVWoAAACpVWoAAAAKlVVqAAAAqVVagAAACpVVqAAAAKlVWoAAAAKlVqgAAACpVVqAAAACqqqgAAAAqVVWoAAAAKqqgAAAAqVVVqAAAAAKqAAAAAKlVVWoAAAAAAAAAAAKlVVVqgAAAAAAAAAACpVVVWoAAAAAAAAAACpVVVVagAAAAAAAAACqVVVVWqAAAAAAAAACqVVVVVaqAAAAAAAACqVVVVVVqoAAAAAAACqVVVVVVVqoAAAAAAKqVVVVVVVWqqAAAACqqVVVVVVVVWqqqqqqqpVVVVVVVVVWqqqqqqlVVVVVVVVVVVqqqqpVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVVVVVVVVVVVVVVqqqqqqqqqqqlVVVVqqqqqqqqqqqqqqVVVqqqqqqqqqqqqqqpVVqqAAAAAAAAAAAKqlVqgAAAAAAAAAAAACqVagAAAAAAAAAAAAAKlWoAAAAAAAAAAAAAAqVqAAAAAAAAAAAAAAKlagAAAAAAAAAAAAACpWoAAAAAAAAAAAAAAqVqAAAAAAAAAAAAAAKlagAAAAAAAAAAAAACpWqAAAAAAAAAAAAAAqVaqgAAAAAAAAAAAAqVVqqqqqqqqAAAAAAKlVWqqqqqqqqAAAAACpVVVaqqqqqqAAAAACpVVVVVVVVVVqAAAAAqVVVVVVVVVVqAAAAAqVVVVVVVVVVqgAAAAKlVVVVVVVVVagAAAAKlVVVVVVVVVagAAAACpVVVVVVVVVWoAAAACpVVVVVVVVVWoAAAACqVVVVVVVVVVqAAAAAqVVVVVVVVVVqAAAAAqVVVVVVVVVVagAAAAKlVVVVVVVVVagAAAAKlVVVVVVVVVaoAAAACpVVVVVVVVVWoAAAACpVVVVVVVVVWoAAAAAqVVVVVVVVVVqAAAAAqVVVVVVVVVVqAAAAAKlVVVVVVVVVagAAAAKlVVVVVVVVVagAAAAKpVVVVVVVVVaoAAAACpVVVVVVVVVWoAAAACpVVVVVVVVVWoAAAAAqVVVVVVVVVVqAAAAAqVVVVVVVVVVqAAAAAKlVVVVVVVVVagAAAAKlVVVVVVVVVagAAAACpVVVVVVVVVWoAAAACpVVVVVVVVVWoAAAAAqVVVVVVVVVWqAAAAAqVVVVVVVVVVqAAAAAqlVVVVVVVVVqAAAAAKlVVVVVVVVVagAAAAKlVVVVVVVVVagAAAACpVVVVVVVVVWoAAAACpVVVVVVVVVWoAAAAAqVVVVVVVVVVqAAAAAqVVVVVVVVVVqAAAAAKlVVVVVVVVVagAAAAKlVVVVVVVVVWoAAAAKpVVVVVVVVVVqAAAACpVVVVVVVVVVqAAAACpVVVVVVVVVVWoAAACqVVVVVVVVVVVqAAACqVVVVVVVVVVVaoAACqVVVVVVVVVVVVqqqqqVVVVVVVVVVVVWqqqqVVVVVVVVVVVVVWqqpVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVVqVVVVVVVVVVVVVWqqqqqpVVVVVVVVVVqqqqqqqqlVVVVVVVWqqqqAqqqqlVVVVVVaqoAAAAACqqVVVVVVaqAAAAAAAAKqVVVVVaoAAAAAAAAAqpVVVVaoAAAAAAAAAAqlVVVaoAAAAAAAAAACqVVVaoAAAAAAAAAAAKlVVWoAAAAAAAAAAAAqVVWoAAAAAAAAAAAAKlVVqAAAAAAAAAAAAAqVVagAAAACqqAAAAAKlVagAAAAKqqqAAAACpVWoAAAAKqqqoAAAAqVVqAAAAKpVVqAAAAKlVagAAACpVVWoAAAAqVWoAAACpVVVqAAAAKlVqAAAAqVVVagAAAKlVagAAAKlVVWoAAACpVWoAAACpVVVqAAAAqVVagAAAKlVVagAAAKlVWoAAACqVVagAAACpVVqAAAAKqqqoAAACpVVWoAAAAqqqoAAAAqVVVqgAAAAqqgAAAAqVVVWqAAAAAAAAAAAqlVVVaoAAAAAAAAAAqlVVVVqAAAAAAAAAAqlVVVVWoAAAAAAAAAKlVVVVVqAAAAAAAAAKlVVVVVqAAAAAAAAAAKlVVVVqgAAAAAAAAAKqVVVWqgAAAAAAAAAAKpVVVqgAAAAAAAAAAAqlVVqAAAAAAAAAAAACqVVqgAAAAKqqAAAAAKlVagAAAAqqqqAAAAAqVWoAAAAqqqqqAAAAKlWoAAAAqlVVqoAAACpVqAAAAKlVVVqAAAAKlagAAAKlVVVWoAAACpWoAAACpVVVVqAAAAqVqAAACpVVVVagAAAKlqAAAAKlVVVWoAAACpagAAACpVVVVqAAAAqVqAAAAKlVVVqAAAAKlagAAACqVVWqgAAACpWoAAAAKqqqqgAAAAqVqAAAAAqqqqAAAAAKlagAAAAAqqoAAAAAKlVqAAAAAAAAAAAAACpVagAAAAAAAAAAAACpVVqAAAAAAAAAAAAAqVVaoAAAAAAAAAAAAqVVVqgAAAAAAAAAAAqlVVWqAAAAAAAAAACqlVVVaqAAAAAAAAACqlVVVVqqAAAAAAAAKqVVVVVVqqoAAAAAKqqVVVVVVVqqqqqqqqqpVVVVVVVVqqqqqqqqlVVVVVVVVVWqqqqqlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 52 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVValVVVVVVVVVVVVVWqqqqqVVVVVVVVVVVqqqqqqqVVVVVVVVVWqqqgKqqqVVVVVVVVWqoAAAAAqqVVVVVVVaqAAAAAAAqpVVVVVVaqAAAAAAAAqpVVVVVaoAAAAAAAACqVVVVVWoAAAAAAAAACpVVVVWoAAAAAAAAAAqlVVVWqAAAAAAAAAACqVVVVqAAAAAAAAAAAKpVVVqAAAAAAAAAAAAqVVVagAAAAKqgAAAACpVVagAAAAqqqgAAAAqVVWoAAAAKqqoAAAACpVVqAAAAKlVagAAAAqVVqAAAAKpVWqAAAAKlVagAAACpVVagAAACpVWoAAACpVVVqAAAAKlVqAAAAqVVVagAAACpVagAAAKlVVWoAAAAqVWoAAACpVVVqAAAACpVqAAAAqVVVagAAAAqVagAAACpVVagAAAAKlWoAAAAqVVWoAAAACpVqAAAACpVWoAAAAAqVagAAAAqlWqAAAAAKlVqAAAACqqqAAAAACpVagAAAAKqqAAAAAAqVWoAAAAAKoAAAAAAKlVagAAAAAAAAAAAACpVWoAAAAAAAAAAAAAqVVagAAAAAAAAAAAAKlVWqAAAAAAAAAAAACpVVagAAAAAACAAAAAqVVVqAAAAAAKiAAAAKlVVaqAAAAAKigAAACpVVVqoAAAAKpiAAAAqVVVVqoAAAqpagAAAKlVVVWqqqqqpagAAACpVVVVWqqqqlWoAAACpVVVVVWqqqVVqAAAAqVVVVVVVVVVVqAAAAKlVVVVVVVVVVqgAAACpVVVVVVVVVVqgAAACpVVVaqlVVVVqgAAAAqVVVqqqqVVWqgAAAAKlVVqqqqqqqqgAAAAKlVVagAKqqqqAAAAACpVVagAAAqqoAAAAACpVVWoAAAAAAAAAAACqVVVqAAAAAAAAAAAAqVVVagAAAAAAAAAAAqVVVWoAAAAAAAAAAAqlVVVqAAAAAAAAAAAqlVVVagAAAAAAAAAAqlVVVWoAAAAAAAAACqlVVVVagAAAAAAAACqlVVVVWqoAAAAAAAqqVVVVVVaqqAAAAAKqqVVVVVVVaqqqqqqqqpVVVVVVVVWqqqqqqqVVVVVVVVVVVqqqqqlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU= "))},
{width : 25 , height : 86 , bpp : 2, transparent : 1, buffer : E.toArrayBuffer(atob(" VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaqlVVVVWqqqlVVVWqqqqlVVWqgAKqVVWqAAAKlVWqAAAAqVVqAAAAKlVagAAAAqVWoAAAAKlVqAAAACpVagAAAAqVWoAAAAKlVqAAAACpVagAAACpVWqAAAAqVVagAAAqlVVqgAAqlVVaqqqqlVVVaqqqlVVVVaqqVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVqqqVVVVVqqqqVVVWqqqqpVVVqgAAqlVVqAAACqVVqgAAAKlVagAAAAqVWoAAAAKlVqAAAACpVagAAAAqVWoAAAAKlVqAAAACpVagAAAAqVWoAAAAqVVagAAAKlVWqAAAKlVVaqACqpVVVqqqqpVVVWqqqlVVVVVqpVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV "))}
];
var drawTimeout; var drawTimeout;
var fontName="";
function queueDraw() { var settings = require('Storage').readJSON("contourclock.json", true) || {};
if (drawTimeout) clearTimeout(drawTimeout); if (settings.fontIndex==undefined) {
drawTimeout = setTimeout(function() { settings.fontIndex=0;
drawTimeout = undefined; require('Storage').writeJSON("myapp.json", settings);
draw();
}, 60000 - (Date.now() % 60000));
} }
function draw() { function draw() {
var x = g.getWidth()/2;
var y = g.getHeight()/2-31;
g.reset();
var date = new Date(); var date = new Date();
var timeStr = require("locale").time(date,1);
// draw time
g.clearRect(0,y,g.getWidth()-1,y+73+24+18);
//use custom font spacing for overlapping digits
g.drawImage(digits[parseInt(date.getHours()/10)],0,y);
g.drawImage(digits[parseInt(date.getHours()%10)],37,y);
g.drawImage(digits[10],74,y);
g.drawImage(digits[parseInt(date.getMinutes()/10)],86,y);
g.drawImage(digits[parseInt(date.getMinutes()%10)],123,y);
// Draw day of the week // Draw day of the week
y += 73; g.setFont("Teletext10x18Ascii");
g.setFontAlign(0,-1).setFont("Teletext10x18Ascii"); g.clearRect(0,138,g.getWidth()-1,176);
g.drawString(require("locale").dow(date).toUpperCase(),x,y); g.setFontAlign(0,1).drawString(require("locale").dow(date).toUpperCase(),g.getWidth()/2,g.getHeight()-18);
// Draw Date // Draw Date
y += 24; g.setFontAlign(0,1).drawString(require('locale').date(new Date(),1),g.getWidth()/2,g.getHeight());
g.drawString(require('locale').date(new Date(),1),x,y); require('contourclock').drawClock(settings.fontIndex);
queueDraw();
} }
require("FontTeletext10x18Ascii").add(Graphics); require("FontTeletext10x18Ascii").add(Graphics);
@ -52,3 +24,6 @@ g.clear();
Bangle.loadWidgets(); Bangle.loadWidgets();
Bangle.drawWidgets(); Bangle.drawWidgets();
draw(); draw();
setTimeout(function() {
setInterval(draw,60000);
}, 60000 - Date.now() % 60000);

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,43 @@
(function(back) {
Bangle.removeAllListeners('drag');
Bangle.setUI("");
var settings = require('Storage').readJSON('contourclock.json', true) || {};
if (settings.fontIndex==undefined) {
settings.fontIndex=0;
require('Storage').writeJSON("myapp.json", settings);
}
savedIndex=settings.fontIndex;
saveListener = setWatch(function() { //save changes and return to settings menu
require('Storage').writeJSON('contourclock.json', settings);
Bangle.removeAllListeners('swipe');
Bangle.removeAllListeners('lock');
clearWatch(saveListener);
g.clear();
back();
}, BTN, { repeat:false, edge:'falling' });
lockListener = Bangle.on('lock', function () { //discard changes and return to clock
settings.fontIndex=savedIndex;
require('Storage').writeJSON('contourclock.json', settings);
Bangle.removeAllListeners('swipe');
Bangle.removeAllListeners('lock');
clearWatch(saveListener);
g.clear();
load();
});
swipeListener = Bangle.on('swipe', function (direction) {
var fontName = require('contourclock').drawClock(settings.fontIndex+direction);
if (fontName) {
settings.fontIndex+=direction;
g.clearRect(0,0,g.getWidth()-1,16);
g.setFont('6x8:2x2').setFontAlign(0,-1).drawString(fontName,g.getWidth()/2,0);
} else {
require('contourclock').drawClock(settings.fontIndex);
}
});
g.reset();
g.clear();
g.setFont('6x8:2x2').setFontAlign(0,-1);
g.drawString(require('contourclock').drawClock(settings.fontIndex),g.getWidth()/2,0);
g.drawString('Swipe - change',g.getWidth()/2,g.getHeight()-36);
g.drawString('BTN - save',g.getWidth()/2,g.getHeight()-18);
})

View File

@ -0,0 +1,70 @@
<html>
<head>
<link rel="stylesheet" href="../../css/spectre.min.css">
</head>
<body>
<form>
<input type="checkbox" id="BarlowCond">
<label for="BarlowCond">Barlow Condensed</label><br>
<input type="checkbox" id="BebasNeue">
<label for="BebasNeue">Bebas Neue</label><br>
<input type="checkbox" id="Dekko">
<label for="Dekko">Dekko</label><br>
<input type="checkbox" id="DinAlternate">
<label for="DinAlternate">Din Alternate</label><br>
<input type="checkbox" id="Dosis">
<label for="Dosis">Dosis</label><br>
<input type="checkbox" id="Impact">
<label for="Impact">Impact</label><br>
<input type="checkbox" id="Nunito">
<label for="Nunito">Nunito</label><br>
<input type="checkbox" id="OpenSansEC">
<label for="OpenSansEC">Open Sans Extra Condensed</label><br>
<input type="checkbox" id="Phosphate">
<label for="Phosphate">Phosphate</label><br>
<input type="checkbox" id="Quicksand">
<label for="Quicksand">Quicksand</label><br>
<input type="checkbox" id="SairaCond">
<label for="SairaCond">Saira Condensed</label><br>
<input type="checkbox" id="SairaEC">
<label for="SairaEC">Saira Extra Condensed</label><br>
<input type="checkbox" id="Teko">
<label for="Teko">Teko</label><br>
<input type="checkbox" id="Yumaro">
<label for="Yumaro">Yumaro</label><br>
<input type="checkbox" id="YuseiMagic">
<label for="YuseiMagic">Yusei Magic</label><br>
<p>Click <button id="upload" class="btn btn-primary">Upload</button></p>
<script src="../../core/lib/customize.js"></script>
<script>
FontList = ["BarlowCond", "BebasNeue", "Dekko", "DinAlternate", "Dosis",
"Impact", "Nunito", "OpenSansEC", "Phosphate", "Quicksand", "SairaCond", "SairaEC",
"Yumaro", "YuseiMagic"]
// When the 'upload' button is clicked...
document.getElementById("upload").addEventListener("click", function() {
var n=0;
var fonts = [];
for (fontName of FontList) {
if (document.getElementById(fontName).checked==true) {
var f = new Object();
f.name="contourclock-"+n+".json";
f.url="font-"+fontName+".json";
//fonts.push({name:"contourclock-"+n+".json", url:"font-"+fontName+".json"});
fonts.push(f);
//console.log("contourclock-"+n+".json <- font-"+fontName+".json");
n++;
}
}
//console.log(fonts[0]);
sendCustomizedApp(storage=fonts);
/*sendCustomizedApp({
storage:[
{name:"myapp.app.js", url:"app.js", content:app},
]
});*/
});
</script>
</body>
</html>

View File

@ -0,0 +1,17 @@
{
"name":"BarlowCond",
"size":"100",
"characters":[
{"width" : "61", "buffer":"VVVVVVX//////1VVVVVVVVVVVVf///////9VVVVVVVVVVX/wAAAAAA/9VVVVVVVVVX/AAAAAAAAP9VVVVVVVVfwAAAAAAAAAP9VVVVVVVfwAAAAAAAAAAP1VVVVVV/AAAAAAAAAAAAPVVVVVV/AAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAA/AAAAAAAAD3wAAAAAAAA/8AAAAAAAA98AAAAAAAA9XwAAAAAAAD/AAAAAAAAPV8AAAAAAAA/wAAAAAAAPVfAAAAAAAAP8AAAAAAAD1XwAAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAA9V8AAAAAAAA/wAAAAAAAPVfAAAAAAAAP8AAAAAAAA9XwAAAAAAAD/AAAAAAAAPXwAAAAAAAD3wAAAAAAAA/wAAAAAAAA9fAAAAAAAADwAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAAD1VVVVV8AAAAAAAAAAAAD1VVVVVXwAAAAAAAAAAAP1VVVVVVfwAAAAAAAAAAP1VVVVVVV/wAAAAAAAAA/VVVVVVVVV/wAAAAAAAD/VVVVVVVVVV/////////9VVVVVVVVVVV////////1VVVVVQ=="},
{"width" : "40", "buffer":"VVVVVVVVVVVVVVVVV/////////1VV///////////Vf/8AAAAAAAAD3/8AAAAAAAAAA//AAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD////wAAAAAAAA9f///AAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVXwAAAAAAAPVVVV8AAAAAAAD1VVVfAAAAAAAA9VVVX/////////VVVVf////////Q=="},
{"width" : "63", "buffer":"VVVVVVVV/////9VVVVVVVVVVVVVV///////9VVVVVVVVVVVV//AAAAAD/1VVVVVVVVVVf/AAAAAAAD/VVVVVVVVVX/AAAAAAAAAP9VVVVVVVV/wAAAAAAAAAA/VVVVVVVX8AAAAAAAAAAAD1VVVVVV/AAAAAAAAAAAAA/VVVVVV8AAAAAAAAAAAAAP1VVVVfwAAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAA9fAAAAAAAAD/AAAAAAAAA98AAAAAAAAP/wAAAAAAAA98AAAAAAAA9V8AAAAAAAA98AAAAAAAA9V8AAAAAAAA98AAAAAAAA9VfAAAAAAAA98AAAAAAAA9VfAAAAAAAA98AAAAAAAA9VfAAAAAAAA98AAAAAAAA9VfAAAAAAAA98AAAAAAAA9VfAAAAAAAA98AAAAAAAA9V8AAAAAAAA98AAAAAAAA9V8AAAAAAAA98AAAAAAAA9V8AAAAAAAA9f////////1XwAAAAAAAA9X////////VXwAAAAAAAA9VVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVfAAAAAAAAD1VVVVVVVVVVfAAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVXwAAAAAAAAPVVVVVVVVVVfAAAAAAAAAPVVVVVVVVVVfAAAAAAAAAPVVVVVVVVVV8AAAAAAAAA9VVVVVVVVVXwAAAAAAAAA9VVVVVVVVVXwAAAAAAAAD1VVVVVVVVVfAAAAAAAAAD1VVVVVVVVV8AAAAAAAAAPVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVfAAAAAAAAAD1VVVVVVVVV8AAAAAAAAAD1VVVVVVVVXwAAAAAAAAAPVVVVVVVVVfAAAAAAAAAA9VVVVVVVVV8AAAAAAAAAD1VVVVVVVVXwAAAAAAAAAD1VVVVVVVVfAAAAAAAAAAPVVVVVVVVV8AAAAAAAAAA9VVVVVVVVV8AAAAAAAAAD1VVVVVVVVXwAAAAAAAAAD1VVVVVVVVfAAAAAAAAAAPVVVVVVVVV8AAAAAAAAAA9VVVVVVVVXwAAAAAAAAAD1VVVVVVVVfAAAAAAAAAAPVVVVVVVVV8AAAAAAAAAA9VVVVVVVVXwAAAAAAAAAD1VVVVVVVVfAAAAAAAAAAPVVVVVVVVVfAAAAAAAAAA9VVVVVVVVV8AAAAAAAAAD1VVVVVVVVXwAAAAAAAAAPVVVVVVVVVfAAAAAAAAAA9VVVVVVVVV8AAAAAAAAAD1VVVVVVVVXwAAAAAAAAAD1VVVVVVVVfAAAAAAAAAAA////////VfAAAAAAAAAAAP///////9fAAAAAAAAAAAAAAAAAAA/fAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAPf////////////////////X///////////////////9"},
{"width" : "61", "buffer":"VVVVVVVVVVVVVVVVVVVVVf//////////////////Vf//////////////////9XwAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9f///////AAAAAAAAAAA9V///////8AAAAAAAAAAPVVVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAD1VVVVVVVXwAAAAAAAAAA9VVVVVVVXwAAAAAAAAAA9VVVVVVVXwAAAAAAAAAA9VVVVVVVXwAAAAAAAAAAD1VVVVVVV8AAAAAAAAAAAP1VVVVVVXwAAAAAAAAAAA/1VVVVVV8AAAAAAAAAAAA/VVVVVVXwAAAAAAAAAAAA9VVVVVVfAAAAAAAAAAAAD1VVVVVV8AAAAAAAAAAAAPVVVVVVXwAAAAAAAAAAAA9VVVVVVfAAAAAAAAAAAAD1VVVVVV8AAAAAAAAAAAA9VVVVVVXwAAAAAAAAAAAD1VVVVVVfAAD8AAAAAAAA9VVVVVVV8AD/wAAAAAAAPVVVVVVVXwP1fAAAAAAAA9VVVVVVVf/1V8AAAAAAAPVVVVVVVV/VVXwAAAAAAD1VVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVXwAAAAAAA9VVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVXwAAAAAAA9VVVVVVVVVVV8AAAAAAAPf////////VVfAAAAAAAD/////////9VXwAAAAAAA/wAAAAAAAPVV8AAAAAAAP8AAAAAAAD1VfAAAAAAAD/AAAAAAAA9VXwAAAAAAA/wAAAAAAAPVV8AAAAAAAP8AAAAAAAD1VfAAAAAAAD/AAAAAAAA9VXwAAAAAAA/wAAAAAAAD1XwAAAAAAAP8AAAAAAAA9V8AAAAAAAD/AAAAAAAAD/8AAAAAAAD3wAAAAAAAAP8AAAAAAAA98AAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAA9VVVV/AAAAAAAAAAAAAD9VVVVX8AAAAAAAAAAAAD9VVVVVX8AAAAAAAAAAAD1VVVVVVfwAAAAAAAAAAP1VVVVVVVf8AAAAAAAAA/1VVVVVVVV//AAAAAAAP/VVVVVVVVVVf////////9VVVVVVVVVVVX///////VVVVVVQ=="},
{"width" : "73", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf////////9VVVVVVVVVVVVVVf/////////VVVVVVVVVVVVVVXwAAAAAAAD1VVVVVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVVVVV8AAAAAAAAPVVVVVVVVVVVVVVfAAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVVVVV8AAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAD1VVVVVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVVVVV8AAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVVVXwAAAAAAAAPV////////9VVVV8AAAAAAAAPV/////////1VVV8AAAAAAAAD1fAAAAAAAA9VVVfAAAAAAAAA9XwAAAAAAAPVVVXwAAAAAAAAPV8AAAAAAAD1VVXwAAAAAAAAPVfAAAAAAAA9VVV8AAAAAAAAD1XwAAAAAAAPVVVfAAAAAAAAA9V8AAAAAAAD1VVfAAAAAAAAA9VfAAAAAAAA9VVXwAAAAAAAAPVXwAAAAAAAPVVV8AAAAAAAAD1V8AAAAAAAD1VVfAAAAAAAAA9VfAAAAAAAA9VVfAAAAAAAAAD//AAAAAAAAD/9XwAAAAAAAAAP/AAAAAAAAAP/18AAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAP////////////8AAAAAAAAA//V////////////wAAAAAAAA//VVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVVVVf////////1VVVVVVVVVVVVVVV////////1VVQ=="},
{"width" : "61", "buffer":"VVVVVVVVVVVVVVVVVVVVX///////////////////3////////////////////8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAA///////////8AAAAAAAA///////////fAAAAAAAA9VVVVVVVVVVXwAAAAAAAPVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVfAAAAAAAA9VVVVVVVVVVXwAAAAAAAPVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVfAAAAAAAA9VVVVVVVVVVXwAAAAAAAPVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVfAAAAAAAA9VVVVVVVVVVXwAAAAAAAPVVVVVVVVVVV8AAAAAAAD1VVf1VVVVVVfAAAAAAAA9V/////VVVVXwAAAAAAAPX//A///VVVV8AAAAAAAA/8AAAAD/VVVfAAAAAAAADwAAAAAD9VVXwAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAPwAAAAAAAAP8AAAAAAAAP/AAAAAAAAD/AAAAAAAAPV8AAAAAAAA//////////VXwAAAAAAAPf////////VV8AAAAAAAD1VVVVVVVVVVfAAAAAAAA9VVVVVVVVVVXwAAAAAAAPVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVfAAAAAAAA9VVVVVVVVVVXwAAAAAAAPX///////9VV8AAAAAAAD3////////9VfAAAAAAAA/wAAAAAAAPVXwAAAAAAAP8AAAAAAAD1V8AAAAAAAD/AAAAAAAAPVfAAAAAAAA/wAAAAAAAD1XwAAAAAAAP8AAAAAAAA9XwAAAAAAAD/AAAAAAAAD/wAAAAAAAA/wAAAAAAAAPwAAAAAAAAPfAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAA/VVVVX8AAAAAAAAAAAAA/VVVVVfwAAAAAAAAAAAD9VVVVVVfwAAAAAAAAAAD9VVVVVVV/wAAAAAAAAA/1VVVVVVVV/8AAAAAAAD/1VVVVVVVVV/////////9VVVVVVVVVVVf///////1VVVVVQ=="},
{"width" : "62", "buffer":"VVVVVVVf/////VVVVVVVVVVVVVX///////9VVVVVVVVVVVf/8AAAAAP/1VVVVVVVVVf/AAAAAAAA/9VVVVVVVVX8AAAAAAAAAD/VVVVVVVX8AAAAAAAAAAA/VVVVVVV/AAAAAAAAAAAAPVVVVVV/AAAAAAAAAAAAAP1VVVVXwAAAAAAAAAAAAAP1VVVV8AAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAA9fAAAAAAAAA8AAAAAAAAD18AAAAAAAAP8AAAAAAAAPXwAAAAAAAD18AAAAAAAA9fAAAAAAAAPV8AAAAAAAD18AAAAAAAA9XwAAAAAAAPXwAAAAAAAPVfAAAAAAAA9fAAAAAAAA9V8AAAAAAAD18AAAAAAAD1XwAAAAAAAPXwAAAAAAAPVfAAAAAAAA9fAAAAAAAA9V8AAAAAAAD18AAAAAAAD1X/////////XwAAAAAAAPVV////////1fAAAAAAAA9VVVVVVVVVVV8AAAAAAAD1VVX1VVVVVVXwAAAAAAAPVf////1VVVVfAAAAAAAA9f//D//9VVVV8AAAAAAAD38AAAAD/VVVXwAAAAAAAD8AAAAAA/1VVfAAAAAAAADAAAAAAAP1VV8AAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAD3wAAAAAAAAPwAAAAAAAAPfAAAAAAAAD/wAAAAAAAA98AAAAAAAA9XwAAAAAAAD3wAAAAAAAD1XwAAAAAAAPfAAAAAAAAPVfAAAAAAAA98AAAAAAAD1V8AAAAAAAD3wAAAAAAAPVXwAAAAAAAD/AAAAAAAA9VfAAAAAAAAP8AAAAAAAD1V8AAAAAAAA/wAAAAAAAPVXwAAAAAAAD/AAAAAAAA9VfAAAAAAAAP8AAAAAAAD1V8AAAAAAAA/wAAAAAAAPVXwAAAAAAAD/AAAAAAAA9VfAAAAAAAAP8AAAAAAAD1V8AAAAAAAA/wAAAAAAAPVXwAAAAAAAD/AAAAAAAA9VfAAAAAAAAP8AAAAAAAD1V8AAAAAAAA/wAAAAAAAPVXwAAAAAAAD/AAAAAAAAPVfAAAAAAAAPfAAAAAAAA9XwAAAAAAAA98AAAAAAAA/8AAAAAAAAD3wAAAAAAAA/AAAAAAAAA9fAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAA9VVVVX8AAAAAAAAAAAAA/VVVVVX8AAAAAAAAAAAAP1VVVVVV/AAAAAAAAAAAP1VVVVVVV/wAAAAAAAAAP9VVVVVVVVf/AAAAAAAA/9VVVVVVVVVX/////////9VVVVVVVVVVVf///////1VVVVVU="},
{"width" : "60", "buffer":"VVVVVVVVVVVVVVVVVVVVf//////////////////9////////////////////8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAD//AAAAAAAAAP8AAAAAAP//wAAAAAAAAP8AAAAAA9VV8AAAAAAAAP8AAAAAA9VV8AAAAAAAAP8AAAAAA9VV8AAAAAAAAP8AAAAAA9VV8AAAAAAAA98AAAAAA9VXwAAAAAAAA9///////9VXwAAAAAAAA9f//////1VfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAA9VVVVVVVVVV8AAAAAAAA9VVVVVVVVVV/////////1VVVVVVVVVVf////////VVVVVVVV"},
{"width" : "60", "buffer":"VVVVVVf//////9VVVVVVVVVVVf////////9VVVVVVVVVX/wAAAAAAD/1VVVVVVVVfwAAAAAAAAD/VVVVVVVX8AAAAAAAAAAP1VVVVVVfwAAAAAAAAAAA/VVVVVV8AAAAAAAAAAAAP1VVVVXwAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAD8AAAAAAAAP8AAAAAAAAP/AAAAAAAAP8AAAAAAAA9XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAPfAAAAAAAD1XwAAAAAAAPfAAAAAAAD1XwAAAAAAA9fAAAAAAAD1XwAAAAAAA9fAAAAAAAA9fAAAAAAAA9XwAAAAAAAP8AAAAAAAA9XwAAAAAAADwAAAAAAAD1XwAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1XwAAAAAAADwAAAAAAAD1fAAAAAAAAP8AAAAAAAA9fAAAAAAAA9fAAAAAAAA9fAAAAAAAA9XwAAAAAAA9fAAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAD1XwAAAAAAAP8AAAAAAAA9XwAAAAAAAP8AAAAAAAAP/AAAAAAAAPfAAAAAAAAD8AAAAAAAAPfAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAA/VVVVfAAAAAAAAAAAAAD1VVVVX8AAAAAAAAAAAAP1VVVVV/AAAAAAAAAAAA/VVVVVVXwAAAAAAAAAAD1VVVVVVV/AAAAAAAAAA/VVVVVVVVf8AAAAAAAAP9VVVVVVVVV/8AAAAAAP/VVVVVVVVVVX////////1VVVVVVVVVVVX//////1VVVVVV"},
{"width" : "62", "buffer":"VVVVVVVf/////1VVVVVVVVVVVVX////////VVVVVVVVVVVX/8AAAAAD/9VVVVVVVVVf/AAAAAAAAP/VVVVVVVVX/AAAAAAAAAA/1VVVVVVX8AAAAAAAAAAAP9VVVVVV/AAAAAAAAAAAAD9VVVVVfAAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAD3wAAAAAAAADwAAAAAAAAPfAAAAAAAAA/wAAAAAAAA98AAAAAAAAPXwAAAAAAAD3wAAAAAAAA9XwAAAAAAAPfAAAAAAAAPVfAAAAAAAA98AAAAAAAA9V8AAAAAAAD3wAAAAAAAD1XwAAAAAAAPfAAAAAAAAPVfAAAAAAAAP8AAAAAAAA9V8AAAAAAAA/wAAAAAAAD1XwAAAAAAAD/AAAAAAAAPVfAAAAAAAAP8AAAAAAAA9V8AAAAAAAA/wAAAAAAAD1XwAAAAAAAD/AAAAAAAAPVfAAAAAAAAP8AAAAAAAA9V8AAAAAAAA/wAAAAAAAD1XwAAAAAAAD/AAAAAAAAPVfAAAAAAAAP8AAAAAAAA9V8AAAAAAAA/wAAAAAAAD1XwAAAAAAAD/AAAAAAAAPVfAAAAAAAAPfAAAAAAAA9V8AAAAAAAA98AAAAAAAA9fAAAAAAAAD3wAAAAAAAA/wAAAAAAAAPfAAAAAAAAA8AAAAAAAAA98AAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAPVV/AAAAAAAAAAAAAAAAA9VV/AAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAPVVVfwAAAAAPAAAAAAAAA9VVVf/AAAAP/AAAAAAAAD1VVVX//wP/9fAAAAAAAAPVVVVVf///9V8AAAAAAAA9VVVVVVX9VVXwAAAAAAAD1VVVVVVVVVVfAAAAAAAAPV////////9V8AAAAAAAA9f////////9XwAAAAAAAD18AAAAAAAD1fAAAAAAAAPfAAAAAAAAPV8AAAAAAAA98AAAAAAAA9XwAAAAAAAD3wAAAAAAAD1fAAAAAAAAPfAAAAAAAAPV8AAAAAAAA98AAAAAAAA9XwAAAAAAAD3wAAAAAAAD1fAAAAAAAAPfAAAAAAAAD3wAAAAAAAA9fAAAAAAAAD8AAAAAAAAD18AAAAAAAADAAAAAAAAAPXwAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAD1VVVV/AAAAAAAAAAAAAA9VVVVV/AAAAAAAAAAAAA/VVVVVVfwAAAAAAAAAAAP1VVVVVVfwAAAAAAAAAAP1VVVVVVVX/AAAAAAAAAP9VVVVVVVVX/wAAAAAAA/9VVVVVVVVVVf////////9VVVVVVVVVVVX///////1VVVVVU="},
{"width" : "27", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf//VVVVVf////VVVV/wAA/1VVfwAAAA/VV/AAAAAP1V8AAAAAD1XwAAAAAA9fAAAAAAAPfAAAAAAAPfAAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAPfAAAAAAAPfAAAAAAAPXwAAAAAA9XwAAAAAA9V8AAAAAD1VfwAAAA/VVX/AAAP9VVVf////VVVVV///1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV///1VVVVf////VVVX/AAAP9VVfwAAAA/VV8AAAAAD1XwAAAAAA9XwAAAAAAPfAAAAAAAPfAAAAAAAPfAAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAP8AAAAAAAPfAAAAAAAPfAAAAAAAPfAAAAAAAPXwAAAAAA9V8AAAAAD1V/AAAAAP1VXwAAAA/VVV/wAA/1VVVf////VVVVVf//VVV"}
]
}

View File

@ -0,0 +1,17 @@
{
"name":"BebasNeue",
"size":"98",
"characters":[
{"width" : "47", "buffer":"VVVVf//////VVVVVVVVf///////1VVVVVVf8AAAAAAP9VVVVVX8AAAAAAAD9VVVVV8AAAAAAAAA/VVVV/AAAAAAAAAA/VVVXwAAAAAAAAAAPVVV8AAAAAAAAAAA9VVfAAAAAAAAAAAA9VXwAAAAAAAAAAAA9VfAAAAAAAAAAAAD1V8AAAAAAAAAAAAPVfAAAAAAAAAAAAAPV8AAAAAP/wAAAAA9fAAAAAD//wAAAAA98AAAAA9VXwAAAAD3wAAAAPVVXwAAAAPfAAAAD1VVXwAAAA98AAAA9VVVXwAAAA/wAAAD1VVVfAAAAD/AAAAPVVVV8AAAAP8AAAA9VVVXwAAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAPVVVVXwAAAD/AAAA9VVVVfAAAAP8AAAD1VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVV8AAAAP8AAAA9VVVXwAAAA/wAAAD1VVVfAAAAD/AAAAD1VVXwAAAA98AAAAPVVVfAAAAD3wAAAAP1VfwAAAAPfAAAAAP//8AAAAA9fAAAAAD/8AAAAAD18AAAAAAAAAAAAA9XwAAAAAAAAAAAAD1XwAAAAAAAAAAAA9VfAAAAAAAAAAAAD1VfAAAAAAAAAAAA9VVfAAAAAAAAAAAPVVV8AAAAAAAAAAA9VVV8AAAAAAAAAAPVVVV/AAAAAAAAAP1VVVV/AAAAAAAAD9VVVVVfwAAAAAAD9VVVVVVf////////VVVVVVVX///////VVVVQ" },
{"width" : "33", "buffer":"VVVVVVV///9VVVVVVX////VVVVVVXwAAPVVVVVVfAAAPVVVVVVfAAAPVVVVVV8AAAPVVVVVV8AAAPVVVVVXwAAAPVVVVVfAAAAPVVVVX8AAAAPVVVVfwAAAAPVVVf8AAAAAPf///wAAAAAP///wAAAAAAP8AAAAAAAAAP8AAAAAAAAAP8AAAAAAAAAP8AAAAAAAAAP8AAAAAAAAAP8AAAAAAAAAP8AAAAAAAAAP8AAAAAAAAAP8AAAAAAAAAP/////AAAAAP/////wAAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV8AAAAPVVVVV//////VVVVVf////9A=" },
{"width" : "47", "buffer":"VVVVX//////1VVVVVVVX///////9VVVVVVX/AAAAAAD/VVVVVV/AAAAAAAA/VVVVV/AAAAAAAAAPVVVVfwAAAAAAAAAPVVVV8AAAAAAAAAAPVVVfAAAAAAAAAAAPVVXwAAAAAAAAAAAPVVfAAAAAAAAAAAA9VXwAAAAAAAAAAAA9VfAAAAAAAAAAAAD1XwAAAAAAAAAAAAPVfAAAAAP/wAAAAAPV8AAAAD//8AAAAA9fAAAAA9VX8AAAAD18AAAAPVVV8AAAAPXwAAAD1VVV8AAAAPfAAAAPVVVXwAAAA98AAAD1VVVfAAAAD3wAAAPVVVVfAAAAPfAAAA9VVVV8AAAA98AAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVV8AAAAP8AAAA9VVVXwAAAA/wAAAD1VVVfAAAAPf/////VVVV8AAAA9/////9VVVfAAAAD1VVVVVVVVV8AAAAPVVVVVVVVVXwAAAD1VVVVVVVVV8AAAAPVVVVVVVVVXwAAAA9VVVVVVVVV8AAAAPVVVVVVVVVfAAAAA9VVVVVVVVV8AAAAD1VVVVVVVVfAAAAA9VVVVVVVVXwAAAAD1VVVVVVVVfAAAAA9VVVVVVVVXwAAAAPVVVVVVVVV8AAAAA9VVVVVVVVfAAAAAPVVVVVVVVV8AAAAA9VVVVVVVVfAAAAAPVVVVVVVVXwAAAAD1VVVVVVVV8AAAAA9VVVVVVVVfAAAAAD1VVVVVVVXwAAAAA9VVVVVVVV8AAAAAPVVVVVVVVfAAAAAD1VVVVVVVXwAAAAA9VVVVVVVV8AAAAAD1VVVVVVVXwAAAAA9VVVVVVVV8AAAAAPVVVVVVVVfAAAAAD1VVVVVVVXwAAAAA9VVVVVVVVfAAAAAPVVVVVVVVXwAAAAD1VVVVVVVV8AAAAA9VVVVVVVVXwAAAAPVVVVVVVVV8AAAAD1VVVVVVVVXwAAAAPVVVVVVVVV8AAAAD1VVVVVVVVXwAAAA9VVVVVVVVV8AAAAPVVVVVVVVVXwAAAA9VVVVVVVVVfAAAAPVVVVVVVVVXwAAAA9VVVVVVVVVfAAAAPVVVVVVVVVV8AAAA9VVVVVVVVVfAAAAPVVVVVVVVVV8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAPVVVVVVVVVV8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAA9VVVVVVVVVV8AAAA/////////9XwAAAA/////////9fAAAAAAAAAAAAAD3wAAAAAAAAAAAAAPfAAAAAAAAAAAAAA98AAAAAAAAAAAAAD3wAAAAAAAAAAAAAPfAAAAAAAAAAAAAA98AAAAAAAAAAAAAD3wAAAAAAAAAAAAAPfAAAAAAAAAAAAAA98AAAAAAAAAAAAAD3wAAAAAAAAAAAAAPfAAAAAAAAAAAAAA9///////////////1//////////////9Q" },
{"width" : "47", "buffer":"VVVVf//////VVVVVVVVf///////1VVVVVVf8AAAAAAP9VVVVVX8AAAAAAAD9VVVVV8AAAAAAAAA9VVVVfAAAAAAAAAA9VVVXwAAAAAAAAAA9VVV8AAAAAAAAAAA9VVXwAAAAAAAAAAA9VV8AAAAAAAAAAAD1VXwAAAAAAAAAAAD1V8AAAAAAAAAAAAPVXwAAAAAAAAAAAAPVfAAAAAP/AAAAAA9XwAAAAP//wAAAAD1fAAAAD9VfwAAAAPV8AAAA9VVXwAAAA9XwAAAD1VVXwAAAA98AAAA9VVVfAAAAD3wAAAD1VVV8AAAAPfAAAAPVVVV8AAAA98AAAA9VVVXwAAAD3wAAAPVVVVfAAAAPfAAAA9VVVV8AAAA98AAAD1VVVXwAAAD3wAAAPVVVVfAAAAPfAAAA9VVVV8AAAA98AAAD1VVVXwAAAD3/////VVVVfAAAAPX////9VVVV8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAPVVVVVVVVVV8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVV8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVV8AAAAPVVVVVVVVVfAAAAA9VVVVVVVVXwAAAAPVVVVVV///8AAAAA9VVVVVX///AAAAAPVVVVVVfAAAAAAAA9VVVVVV8AAAAAAAPVVVVVVXwAAAAAAP1VVVVVVfAAAAAAD9VVVVVVV8AAAAAA9VVVVVVVXwAAAAAPVVVVVVVVfAAAAAAP1VVVVVVV8AAAAAAP1VVVVVVXwAAAAAAD1VVVVVVfAAAAAAAD1VVVVVV8AAAAAAAD1VVVVVXwAAAAAAAD1VVVVVf//wAAAAAPVVVVVV///8AAAAAPVVVVVVVVX8AAAAA9VVVVVVVVV8AAAAD1VVVVVVVVV8AAAAD1VVVVVVVVV8AAAAPVVVVVVVVVXwAAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAPVVVVVVVVVV8AAAAPVVVVVVVVVXwAAAA9VVVVVVVVVfAAAAD1VVVVVVVVV8AAAAP/////1VVVXwAAAA//////VVVVfAAAAD/AAAA9VVVV8AAAAP8AAAD1VVVXwAAAA/wAAAPVVVVfAAAAD/AAAA9VVVV8AAAAP8AAAD1VVVXwAAAA/wAAAPVVVVfAAAAD/AAAA9VVVV8AAAAP8AAAD1VVVXwAAAA/wAAAPVVVVfAAAAD/AAAA9VVVV8AAAAP8AAAA9VVVXwAAAA/wAAAD1VVVfAAAAPfAAAAPVVVXwAAAA98AAAAPVVV8AAAAD18AAAAPVVfAAAAAPXwAAAAP//wAAAAD1fAAAAAP/8AAAAAPV8AAAAAAAAAAAAA9V8AAAAAAAAAAAAD1XwAAAAAAAAAAAA9VXwAAAAAAAAAAAD1VfAAAAAAAAAAAA9VVfAAAAAAAAAAAPVVVfAAAAAAAAAAA9VVV/AAAAAAAAAAPVVVV/AAAAAAAAAD1VVVVfwAAAAAAAD9VVVVVf8AAAAAAD/VVVVVVX////////VVVVVVVV///////VVVVQ" },
{"width" : "54", "buffer":"VVVVVVVVVf/////VVVVVVVVVVVV//////1VVVVVVVVVVV8AAAAD1VVVVVVVVVVV8AAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVV8AAAAAD1VVVVVVVVVV8AAAAAD1VVVVVVVVVV8AAAAAD1VVVVVVVVVXwAAAAAD1VVVVVVVVVXwAAAAAD1VVVVVVVVVfAAAAAAD1VVVVVVVVVfAAAAAAD1VVVVVVVVVfAAAAAAD1VVVVVVVVV8AAAAAAD1VVVVVVVVV8AAAAAAD1VVVVVVVVXwAAAAAAD1VVVVVVVVXwAAAAAAD1VVVVVVVVXwAAAAAAD1VVVVVVVVfAAAAAAAD1VVVVVVVVfAAAAAAAD1VVVVVVVV8AAAAAAAD1VVVVVVVV8AAAAAAAD1VVVVVVVXwAAAAAAAD1VVVVVVVXwAAAAAAAD1VVVVVVVfAAAAAAAAD1VVVVVVVfAAAAAAAAD1VVVVVVVfAAAAAAAAD1VVVVVVV8AAAAAAAAD1VVVVVVV8AAAAAAAAD1VVVVVVXwAAAAAAAAD1VVVVVVXwAAAAAAAAD1VVVVVVfAAAAMAAAAD1VVVVVVfAAAA/AAAAD1VVVVVVfAAAD3wAAAD1VVVVVV8AAAD3wAAAD1VVVVVV8AAAPXwAAAD1VVVVVXwAAAPXwAAAD1VVVVVXwAAAPXwAAAD1VVVVVXwAAA9XwAAAD1VVVVVfAAAA9XwAAAD1VVVVVfAAAD1XwAAAD1VVVVV8AAAD1XwAAAD1VVVVV8AAAD1XwAAAD1VVVVXwAAAPVXwAAAD1VVVVXwAAAPVXwAAAD1VVVVXwAAA9VXwAAAD1VVVVfAAAA9VXwAAAD1VVVVfAAAA9VXwAAAD1VVVV8AAAD1VXwAAAD1VVVV8AAAD1VXwAAAD1VVVV8AAAPVVXwAAAD1VVVXwAAAPVVXwAAAD1VVVXwAAA9VVXwAAAD1VVVfAAAA9VVXwAAAD1VVVfAAAA9VVXwAAAD1VVV8AAAD1VVXwAAAD1VVV8AAAD1VVXwAAAD1VVXwAAAD1VVXwAAAD1VVXwAAAPVVVXwAAAD1VVXwAAAPVVVXwAAAD1VVfAAAA9VVVXwAAAD1VVfAAAA9VVVXwAAAD1VV8AAAAP////AAAAA//98AAAAD///8AAAAAP/98AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAA9/////////8AAAAAP/9f/////////AAAAA//1VVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVXwAAAD1VVVVVVVVVVVX/////1VVVVVVVVVVVV/////1VV" },
{"width" : "47", "buffer":"V/////////////1Vf/////////////1V8AAAAAAAAAAAAPVXwAAAAAAAAAAAA9VfAAAAAAAAAAAAD1V8AAAAAAAAAAAAPVXwAAAAAAAAAAAA9VfAAAAAAAAAAAAD1V8AAAAAAAAAAAAPVXwAAAAAAAAAAAA9VfAAAAAAAAAAAAD1V8AAAAAAAAAAAAPVXwAAAAAAAAAAAA9VfAAAAAAAAAAAAD1V8AAAAP////////VXwAAAD////////9VfAAAA9VVVVVVVVVV8AAAD1VVVVVVVVVXwAAAPVVVVVVVVVV8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAPVVVVVVVVVV8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAPVVVVVVVVVV8AAAD1VVVVVVVVVXwAAAPVVVVVVVVVVfAAAA9VVVVVVVVVV8AAAD1VVVVVVVVVXwAAAPVVVVVVVVVVfAAAA9VX///1VVVV8AAAD1X/////VVVXwAAAPX/AAAD/1VVfAAAA9/AAAAAP1VV8AAAA/AAAAAAD1VXwAAAAwAAAAAAD1VfAAAAAAAAAAAAD1V8AAAAAAAAAAAAPVXwAAAAAAAAAAAAPVfAAAAAAAAAAAAA9XwAAAAAAAAAAAAA9fAAAAAAAAAAAAAD18AAAAAAAAAAAAAPXwAAAAAAAAAAAAAPfAAAAAD//AAAAAA98AAAAA///AAAAAD3wAAAAPVVfAAAAAPfAAAAD1VVfAAAAA98AAAA9VVVfAAAAA/wAAAD1VVVfAAAAD/AAAAPVVVV8AAAAP8AAAD1VVVXwAAAA/wAAAPVVVVfAAAAD/AAAA9VVVV8AAAAP/////1VVVXwAAAA//////VVVVfAAAAD1VVVVVVVVV8AAAAPVVVVVVVVVXwAAAA9VVVVVVVVVfAAAAD1VVVVVVVVV8AAAAPVVVVVVVVVXwAAAA9VVVVVVVVVfAAAAD1VVVVVVVVV8AAAAPVVVVVVVVVXwAAAA9VVVVVVVVVfAAAAD1VVVVVVVVV8AAAAP/////1VVVXwAAAA//////VVVVfAAAAD/AAAA9VVVV8AAAAP8AAAD1VVVXwAAAA/wAAAPVVVVfAAAAD/AAAA9VVVV8AAAAP8AAAD1VVVXwAAAA/wAAAPVVVVfAAAAD/AAAA9VVVV8AAAAP8AAAD1VVVXwAAAA/wAAAPVVVVfAAAAD/AAAA9VVVV8AAAAP8AAAA9VVVXwAAAD3wAAAD1VVVfAAAAPfAAAAPVVVXwAAAA98AAAAPVVV8AAAAD18AAAAPVVfAAAAAPXwAAAAP//wAAAAD1fAAAAAP/8AAAAAPV8AAAAAAAAAAAAA9V8AAAAAAAAAAAAPVXwAAAAAAAAAAAA9VXwAAAAAAAAAAAD1VfAAAAAAAAAAAA9VVfAAAAAAAAAAAPVVVfAAAAAAAAAAA9VVVfAAAAAAAAAAPVVVVfAAAAAAAAAP1VVVVfwAAAAAAAD9VVVVVf8AAAAAAD9VVVVVVX////////VVVVVVVV///////VVVVQ" },
{"width" : "47", "buffer":"VVVVf//////1VVVVVVVf///////9VVVVVVf8AAAAAAD/VVVVVX8AAAAAAAA/VVVVV8AAAAAAAAAPVVVVfAAAAAAAAAAPVVVXwAAAAAAAAAAPVVV8AAAAAAAAAAAPVVfAAAAAAAAAAAA9VV8AAAAAAAAAAAA9VfAAAAAAAAAAAAD1V8AAAAAAAAAAAAD1XwAAAAAAAAAAAAPV8AAAAAD/8AAAAAPXwAAAAD///AAAAA9fAAAAA/VV/AAAAD3wAAAAPVVVfAAAAPfAAAAD1VVV8AAAAP8AAAAPVVVV8AAAA/wAAAA9VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVVfAAAA/wAAAD1VVVV8AAAD/AAAAPVVVVXwAAAP8AAAA9VVVVfAAAA/wAAAD1VVVV//////AAAAPVVVVX/////8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAPVVVVVVVVVV8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAPVVVVVVVVVV8AAAA9VVVVVVVVVXwAAAD1VVf//VVVVfAAAAPVV////9VVV8AAAA9V/8AAP/VVXwAAAD1/wAAAA/VVfAAAAPfwAAAAAPVV8AAAAPwAAAAAAPVXwAAAAMAAAAAAAPVfAAAAAAAAAAAAAPV8AAAAAAAAAAAAA9XwAAAAAAAAAAAAA9fAAAAAAAAAAAAAD18AAAAAAAAAAAAAD3wAAAAAAAAAAAAAPfAAAAAAAAAAAAAA98AAAAAA/8AAAAAA/wAAAAA///AAAAAD/AAAAAP1V/AAAAAP8AAAAD1VVfAAAAA/wAAAA9VVVfAAAAD/AAAAD1VVV8AAAAP8AAAAPVVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAD1VVVXwAAAD/AAAAPVVVVfAAAAP8AAAA9VVVV8AAAA/wAAAA9VVVfAAAAD/AAAAD1VVV8AAAAP8AAAAD1VVfAAAAA98AAAAD1VXwAAAAPXwAAAAD//8AAAAA9fAAAAAD//AAAAAD18AAAAAAAAAAAAA9V8AAAAAAAAAAAAD1XwAAAAAAAAAAAAPVXwAAAAAAAAAAAD1VfAAAAAAAAAAAAPVVfAAAAAAAAAAAD1VVfAAAAAAAAAAA9VVVfAAAAAAAAAAPVVVVfAAAAAAAAAD1VVVVfwAAAAAAAD9VVVVVf8AAAAAAD/VVVVVVX////////VVVVVVVV///////VVVVQ" },
{"width" : "48", "buffer":"f//////////////9f///////////////8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP//////////AAAAAPf/////////wAAAAPVVVVVVVVVV8AAAA9VVVVVVVVVV8AAAA9VVVVVVVVVV8AAAA9VVVVVVVVVXwAAAD1VVVVVVVVVXwAAAD1VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAA9VVVVVVVVVV8AAAA9VVVVVVVVVV8AAAD1VVVVVVVVVXwAAAD1VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVV8AAAA9VVVVVVVVVV8AAAA9VVVVVVVVVV8AAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAD1VVVVVVVVVXwAAAD1VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAA9VVVVVVVVVV8AAAA9VVVVVVVVVV8AAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAD1VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAA9VVVVVVVVVV8AAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAD1VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAA9VVVVVVVVVV8AAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAD1VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAAPVVVVVVVVVV8AAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAA9VVVVVVVVVXwAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVfAAAAD1VVVVVVVVVf/////1VVVVVVVVVX/////VVVVVVVV" },
{"width" : "49", "buffer":"VVVVX//////9VVVVVVVVf///////9VVVVVVV/wAAAAAAP9VVVVVV/AAAAAAAAP1VVVVV8AAAAAAAAAPVVVVV8AAAAAAAAAA9VVVV8AAAAAAAAAAD1VVV8AAAAAAAAAAAPVVV8AAAAAAAAAAAA9VVfAAAAAAAAAAAAPVVfAAAAAAAAAAAAA9VXwAAAAAAAAAAAAPVXwAAAAAAAAAAAAA9V8AAAAAD/wAAAAAPVfAAAAAP//wAAAAD1fAAAAAP1V/AAAAAPXwAAAAPVVV8AAAAD18AAAAPVVVXwAAAA9fAAAAD1VVV8AAAAPXwAAAD1VVVXwAAAD18AAAA9VVVV8AAAA9fAAAAPVVVVfAAAAPXwAAAD1VVVXwAAAD18AAAA9VVVV8AAAAPfAAAAPVVVVfAAAAD3wAAAD1VVVXwAAAA98AAAA9VVVV8AAAAPfAAAAPVVVVfAAAAD3wAAAD1VVVXwAAAA98AAAA9VVVV8AAAA9fAAAAPVVVVfAAAAPXwAAAD1VVVXwAAAD18AAAA9VVVV8AAAA9fAAAAPVVVVfAAAAPXwAAAD1VVVXwAAAD18AAAAPVVVXwAAAA9XwAAAD1VVV8AAAA9V8AAAAPVVV8AAAAPVfAAAAA9VX8AAAAD1V8AAAAD//8AAAAD1VfAAAAAP/wAAAAA9VV8AAAAAAAAAAAA9VVfAAAAAAAAAAAA9VVV8AAAAAAAAAAA/VVVX8AAAAAAAAAA/VVVVfwAAAAAAAAA9VVVVVfAAAAAAAAA9VVVVV/AAAAAAAAAD9VVVV/AAAAAAAAAAP1VVV8AAAAAAAAAAAPVVV8AAAAAAAAAAAA9VVfAAAAAAAAAAAAPVVfAAAAAAAAAAAAA9VfAAAAAA/8AAAAAD1XwAAAAD//8AAAAA9V8AAAAD9VfwAAAAPV8AAAAD1VVfAAAAA9fAAAAD1VVV8AAAAPXwAAAD1VVVfAAAAD18AAAA9VVVV8AAAA98AAAAPVVVVfAAAAD/AAAAPVVVVXwAAAA/wAAAD1VVVV8AAAAP8AAAA9VVVVfAAAAD/AAAAPVVVVV8AAAA/wAAAD1VVVVfAAAAP8AAAA9VVVVXwAAAD/AAAAPVVVVV8AAAA/wAAAD1VVVVfAAAAP8AAAA9VVVVXwAAAD/AAAAPVVVVV8AAAA/wAAAD1VVVVfAAAAP8AAAA9VVVVXwAAAD/AAAAPVVVVV8AAAA/wAAAD1VVVVfAAAAP8AAAA9VVVVfAAAAD/AAAAPVVVVXwAAAA/wAAAA9VVVV8AAAAP8AAAAPVVVVfAAAAD/AAAAD1VVVXwAAAA/wAAAAPVVVXwAAAAPfAAAAA9VVXwAAAAPXwAAAAD1VXwAAAAD18AAAAAP//wAAAAA9fAAAAAA//wAAAAAPV8AAAAAAAAAAAAAPVfAAAAAAAAAAAAAD1V8AAAAAAAAAAAAD1VfAAAAAAAAAAAAA9VV8AAAAAAAAAAAA9VVfAAAAAAAAAAAAPVVV8AAAAAAAAAAAPVVVXwAAAAAAAAAAPVVVVfwAAAAAAAAA/VVVVV/AAAAAAAAD/VVVVVV/wAAAAAAP9VVVVVVX////////1VVVVVVVV///////VVVVUA==" },
{"width" : "48", "buffer":"VVVVX//////1VVVVVVVV////////VVVVVVVf8AAAAAAP9VVVVVV/AAAAAAAA/1VVVVXwAAAAAAAAD9VVVVfAAAAAAAAAAPVVVV8AAAAAAAAAAD1VVXwAAAAAAAAAAD1VVfAAAAAAAAAAAA9VVfAAAAAAAAAAAAPVV8AAAAAAAAAAAAPVV8AAAAAAAAAAAAD1XwAAAAAAAAAAAAD1XwAAAAA//AAAAAA9XwAAAAD//8AAAAA9fAAAAAPVV/AAAAA9fAAAAA9VVXwAAAA9fAAAAD1VVXwAAAAPfAAAAPVVVV8AAAAPfAAAAPVVVV8AAAAPfAAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVVfAAAAP8AAAAPVVVV8AAAAP8AAAAPVVVV8AAAAPfAAAAD1VVXwAAAAPfAAAAA9VVXwAAAAPfAAAAAPVV/AAAAAPfAAAAAD//8AAAAAPfAAAAAA//AAAAAAPfAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAPXwAAAAAAAAAAAAAPXwAAAAAAAAAAAAAPV8AAAAAAAAAAAAAPV8AAAAAAAAAAAAAPVfAAAAAAAAAAAAAPVfAAAAAAAAwAAAAPVXwAAAAAAD8AAAAPVV/AAAAAA/fAAAAPVVfwAAAAD9fAAAAPVVV/wAAD/VfAAAAPVVVf////9VfAAAAPVVVVf//9VVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPVVVVVVVVVVfAAAAPf////1VVVVfAAAAPf////9VVVVfAAAAPfAAAA9VVVVfAAAAPfAAAA9VVVVfAAAAPfAAAA9VVVVfAAAAPfAAAA9VVVVfAAAAPfAAAA9VVVV8AAAAPfAAAAPVVVV8AAAAPfAAAAPVVVV8AAAAPfAAAAPVVVXwAAAAPfAAAAD1VVXwAAAA9XwAAAA9VV/AAAAA9XwAAAAP//8AAAAA9XwAAAAD//AAAAAA9XwAAAAAAAAAAAAD1V8AAAAAAAAAAAAD1V8AAAAAAAAAAAAPVVfAAAAAAAAAAAAPVVfAAAAAAAAAAAAPVVXwAAAAAAAAAAA9VVV8AAAAAAAAAAD1VVV/AAAAAAAAAAPVVVVfwAAAAAAAAA9VVVVV/AAAAAAAAP1VVVVVf8AAAAAAD/VVVVVVV////////1VVVVVVVX//////9VVVV" },
{"width" : "15", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/////////8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP//////////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/////////8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAAP/////f////A=" }
]
}

View File

@ -0,0 +1,17 @@
{
"name":"Dekko",
"size":"100",
"characters":[
{"width" : "72", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/1VVVVVVVVVVVVVVVVVVVf/////9VVVVVVVVVVVVVVVV///wAP//9VVVVVVVVVVVVVVf/wAAAAAD/1VVVVVVVVVVVVX/AAAAAAAAD/VVVVVVVVVVVV/wAAAAAAAAAP9VVVVVVVVVVX8AAAAAAAAAAA/VVVVVVVVVVfAAAAAAAAAAAAD1VVVVVVVVX8AAAAAAAAAAAAA9VVVVVVVVfwAAAAAAAAAAAAAP1VVVVVVV8AAAAAAAAAAAAAAD1VVVVVVXwAAAAAAAAAAAAAAA9VVVVVVfAAAAAAAAAAAAAAAAPVVVVVVfAAAAAAAAAAAAAAAAD1VVVVV8AAAAAAAAAAAAAAAAD1VVVVXwAAAAAAAADAAAAAAAA9VVVVXwAAAAAAD///8AAAAAAPVVVVfAAAAAAP//9//8AAAAAPVVVV8AAAAAD/9VVVX/wAAAAPVVVV8AAAAA/1VVVVVX8AAAAD1VVXwAAAAP9VVVVVVVfwAAAD1VVXwAAAA/VVVVVVVVX8AAAA9VVfAAAAD1VVVVVVVVVfAAAA9VVfAAAAPVVVVVVVVVVXwAAAPVVfAAAA9VVVVVVVVVVV8AAAPVV8AAAD1VVVVVVVVVVV8AAAPVV8AAAPVVVVVVVVVVVVfAAAPVV8AAA9VVVVVVVVVVVVXwAAD1XwAAA9VVVVVVVVVVVVXwAAD1XwAAD1VVVVVVVVVVVVV8AAD1XwAAPVVVVVVVVVVVVVV8AAD1XwAAPVVVVVVVVVVVVVVfAAA9fAAA9VVVVVVVVVVVVVVfAAA9fAAA9VVVVVVVVVVVVVVfAAA9fAAA9VVVVVVVVVVVVVVXwAA9fAAD1VVVVVVVVVVVVVVXwAA9fAAD1VVVVVVVVVVVVVVXwAA9fAAD1VVVVVVVVVVVVVVV8AA98AAPVVVVVVVVVVVVVVVV8AA98AAPVVVVVVVVVVVVVVVV8AAP8AAPVVVVVVVVVVVVVVVV8AAP8AAPVVVVVVVVVVVVVVVV8AAP8AAPVVVVVVVVVVVVVVVV8AAP8AAPVVVVVVVVVVVVVVVVfAAP8AAPVVVVVVVVVVVVVVVVfAAP8AAPVVVVVVVVVVVVVVVVfAAP8AAPVVVVVVVVVVVVVVVVfAAP8AAPVVVVVVVVVVVVVVVVfAAP8AAPVVVVVVVVVVVVVVVVfAAP8AAPVVVVVVVVVVVVVVVVfAAP8AAPVVVVVVVVVVVVVVVV8AAP8AAPVVVVVVVVVVVVVVVV8AAP8AAPVVVVVVVVVVVVVVVV8AAP8AAPVVVVVVVVVVVVVVVV8AAP8AAPVVVVVVVVVVVVVVVV8AA98AAD1VVVVVVVVVVVVVVV8AA98AAD1VVVVVVVVVVVVVVXwAA98AAD1VVVVVVVVVVVVVVXwAA98AAA9VVVVVVVVVVVVVVXwAA9fAAA9VVVVVVVVVVVVVVXwAA9fAAA9VVVVVVVVVVVVVVfAAA9fAAAPVVVVVVVVVVVVVVfAAD1fAAAD1VVVVVVVVVVVVV8AAD1fAAAD1VVVVVVVVVVVVV8AAD1XwAAA9VVVVVVVVVVVVXwAAD1XwAAA9VVVVVVVVVVVVXwAAPVXwAAAPVVVVVVVVVVVVfAAAPVV8AAAD1VVVVVVVVVVV8AAAPVV8AAAD1VVVVVVVVVVV8AAA9VVfAAAA9VVVVVVVVVVXwAAA9VVfAAAAPVVVVVVVVVVfAAAA9VVfAAAAD1VVVVVVVVV8AAAD1VVXwAAAA/VVVVVVVVfwAAAD1VVXwAAAAP1VVVVVVV/AAAAPVVVV8AAAAA9VVVVVVfwAAAAPVVVV8AAAAAP9VVVVf/AAAAA9VVVVfAAAAAD/9VV//wAAAAD1VVVVXwAAAAAD////wAAAAAD1VVVVXwAAAAAAD//AAAAAAAPVVVVVV8AAAAAAAAAAAAAAAA9VVVVVVfAAAAAAAAAAAAAAAA9VVVVVVXwAAAAAAAAAAAAAAD1VVVVVVV8AAAAAAAAAAAAAAPVVVVVVVVfAAAAAAAAAAAAAA9VVVVVVVVfwAAAAAAAAAAAAD1VVVVVVVVV8AAAAAAAAAAAA/VVVVVVVVVVfwAAAAAAAAAAD9VVVVVVVVVVX8AAAAAAAAAA/VVVVVVVVVVVVfwAAAAAAAAP9VVVVVVVVVVVVX/wAAAAAAD/VVVVVVVVVVVVVVf/8AAAA//1VVVVVVVVVVVVVVVf//////9VVVVVVVVVVVVVVVVVX////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV" },
{"width" : "22", "buffer":"VVVVVVVVVVV//VVVVV///VVVV8AD9VVX8AAD1VX8AAA9VXwAAAD1XwAAAA9XwAAAAPV8AAAAD18AAAAA98AAAAAPfAAAAAD/AAAAAA/wAAAAAP8AAAAAD3/AAAAA9f/8AAAPVX/wAAD1VVfAAA9VVXwAAPVVV8AAD1VVfAAA9VVXwAAPVVV8AAD1VVfAAA9VVXwAA9VVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVV8AAD1VVfAAA9VVXwAAPVVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVVfAAD1VVfAAA9VVXwAAPVVV8AAD1VVfAAA9VVXwAAPVVV8AAD1VVfAAA9VVXwAAPVVV8AAD1VVfAAD1VVXwAA9VVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVVfAAD1VVXwAA9VVV8AAPVVV8AAD1VVfAAA9VVXwAAPVVV8AAD1VVfAAA9VVXwAAD1VV8AAA9VVfAAAPVVXwAAD1VVfAAA9VVXwAAPVVV8AAD1VVfAAA9VVXwAAPVVV8AAD1VVfAAA9VVXwAAPVVVfAAPVVVXwAD1VVVfwD1VVVV//9VVVVV/1VVVVVVVVVVVVVVVVVVVVVVVQ==" },
{"width" : "53", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVf///1VVVVVVVVVVVV/////9VVVVVVVVVVV/8AAAD/VVVVVVVVVV/wAAAAA/1VVVVVVVV/wAAAAAAP1VVVVVVVfwAAAAAAAD9VVVVVVXwAAAAAAAAD9VVVVVV8AAAAAAAAAD1VVVVVfAAAAAAAAAAD1VVVVXwAAAAAAAAAAD1VVVVfAAAAAAAAAAAD1VVVXwAAAAAAAAAAAPVVVVfAAAAAAAAAAAAPVVVXwAAAAAAAAAAAA9VVVfAAAAAAAAAAAAA9VVV8AAAAA//wAAAAD1VVfAAAAD////AAAAPVVV8AAAA/1VX/AAAA9VVXwAAAPVVVVfAAAD1VVfAAAD1VVVVfAAAD1VV8AAA9VVVVVfAAAPVVXwAAPVVVVVVfAAA9VVfAAD1VVVVVV8AAD1VVfAAPVVVVVVXwAAPVVV8AD1VVVVVVfAAA9VVXwA9VVVVVVV8AAD1VVXwD1VVVVVVXwAA9VVVf/9VVVVVVVfAAD1VVVf/VVVVVVVXwAAPVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVV8AAD1VVVVVVVVVVVVXwAA9VVVVVVVVVVVVVfAAD1VVVVVVVVVVVVXwAAPVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVV8AAD1VVVVVVVVVVVVfAAA9VVVVVVVVVVVVV8AAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVXwAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAD1VVVVVV/1VVVV8AAAPVVVVVf//1VVVXwAAD1VVV///wD1VVV8AAAPVf///8AAPVVVfAAAAP///wAAAAPVVV8AAAAP8AAAAAAA9VVfAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAD1VV8AAAAAAAAAAAAA/VVXwAAAAA////////VVVX/D///////////1VVVX/////1VVVVVVVVVVVVfVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=" },
{"width" : "58", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV////1VVVVVVVVVVVVV//////1VVVVVVVVVVVf/8AAAA/1VVVVVVVVVX/8AAAAAA/1VVVVVVVVf/AAAAAAAA/VVVVVVVV/wAAAAAAAAD1VVVVVVX/AAAAAAAAAAPVVVVVVX8AAAAAAAAAAA9VVVVVXwAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAD1VVVXwAAAAAD///wAAA9VVVV8AAAAA/////AAAPVVVVfAAAAP/1VVV8AAD1VVVXwAAA/9VVVVfAAA9VVVVfAAD/VVVVVfAAAPVVVVXwAP9VVVVVXwAAPVVVVVfwP1VVVVVXwAAD1VVVVV//VVVVVVV8AAD1VVVVVV/VVVVVVV8AAD1VVVVVVVVVVVVVVfAAD1VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVV/AAA9VVVVVVVVVVVVVV/AAA9VVVVVVVVVVVVVf8AAA9VVVVVVVVVVVVV/8AAAPVVVVVVVVVVVVX/AAAAA/VVVVVVVVVVVf8AAAAAD/VVVVVVVVVVfwAAAAAAD/VVVVVVVVVfAAAAAAAAD9VVVVVVVVfAAAAAAAAAD1VVVVVVVfAAAAAAAAAAPVVVVVVVfAAAAAAAAAAA9VVVVVVXwAAAAAAAAAAPVVVVVVV8AAAAAAAAAAA9VVVVVV8AAAAAAAAAAAD1VVVVVfAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAPVVVVVV8AAAAAAAAAAAA9VVVVVfAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAA9VVVVVfAAAD//wAAAAAPVVVVVXwAAP///8AAAAD1VVVVVf///1VV/wAAAA9VVVVVV///VVVVfAAAAPVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVfAAAD1VVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVV8AAAPVVVVVVVVVVVVVV8AAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVX8AAAA9VVVVVVVVVVVVf8AAAAPVV//1VVVVVVX/wAAAAPVV///9VVVVX//AAAAAD1VfAA///////wAAAAAA9VXwAAP////wAAAAAAA9VXwAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAP1VVXwAAAAAAAAAAAAAP1VVV8AAAAAAAAAAAAA/VVVVfAAAAAAAAAAAAD/VVVVV8AAAAAAAAAAD/9VVVVVfAAAAAAAAAP//1VVVVVX8AAAAA/////1VVVVVVVf/////////VVVVVVVVVVf////9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==" },
{"width" : "51", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/9VVVVVVVVVVVVVVX//VVVVVVVVVVVVVVfAD1VVVVVVVVVVVVV8AA9VVVVVVVVVVVVV8AA9VVVVVVVVVVVVV8AA9VVVVVVVVVVVVV8AAPVVVVVVVVVVVVXwAAPVVVVVVVVVVVVXwAAPVVVVVVVVVVVVXwAAPVVVVVVVVVVVVXwAAPVVVVVVVVVVVVXwAAPVVVVVVVVVVVVXwAAPVX/1VVVVVVVVXwAAPV//9VVVVVVVVXwAAPX8A9VVVVVVVVXwAAPXwAPVVVVVVVVXwAAPXwAPVVVVVVVVXwAAPfAAPVVVVVVVVXwAAPfAAPVVVVVVVVXwAAPfAAD1VVVVVVVXwAAPfAAD1VVVVVVVXwAAPfAAD1VVVVVVVXwAA9fAAD1VVVVVVVXwAA9fAAD1VVVVVVVXwAA9fAAD1VVVVVVVXwAA9fAAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAPVVVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAD1VVVVVVVXwAA98AAA9VVVVVVVXwAA98AAA9VVVVVVVXwAA9fAAAPVVVVVVVfAAA9fAAAD9VVVVVVfAAA9fAAAA/1VVVVVfAAA9fAAAAD/1VVVVfAAA9fAAAAAP/////8AAA9XwAAAAAP////wAAA9XwAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVVfAAAAAAAAAAAAAPVVX8AAAAAAAAAAAAPVVV/wAAAAAAAAAAA9VVVX/wAAAAAAAAAA9VVVVf///AAAAAAAD1VVVVVf//////AAAD1VVVVVVVV////wAAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVV8AAA9VVVVVVVVVVVV8AAA9VVVVVVVVVVVV8AAA9VVVVVVVVVVVV8AAA9VVVVVVVVVVVV8AAA9VVVVVVVVVVVV8AAA9VVVVVVVVVVVV8AAA9VVVVVVVVVVVV8AAA9VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAD1VVVVVVVVVVVV8AAPVVVVVVVVVVVVVfAAPVVVVVVVVVVVVVfAD9VVVVVVVVVVVVVX//1VVVVVVVVVVVVVV/9VVVVVVVVVVVVVVVVVVV" },
{"width" : "61", "buffer":"VVVVVVVVVVVVVVVX//1VVVVVVVX////////////1VVVVX///////////wAA/VVVVX//wAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVfAAAD////////wAAAPVVXwAAD//////////AAPVVV8AAD1VVVVVVVV////VVVfAAA9VVVVVVVVVX//1VVXwAAPVVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVVXwAA9VVVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVVfAAD1VVVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVVfAAD1VVVVVVVVVVVVVVVXwAA9VVVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVVfAAD1VVVVVVVVVVVVVVVXwAA9VX///1VVVVVVVVVV8AAPVf/////VVVVVVVVVfAAD1/wAAA//VVVVVVVVXwAAP/AAAAAD/VVVVVVVV8AAA8AAAAAAD9VVVVVVVfAAAAAAAAAAAD1VVVVVVXwAAAAAAAAAAAPVVVVVVV8AAAAAAAAAAAA9VVVVVVfAAAAAAAAAAAAD1VVVVVXwAAAAAAAAAAAAPVVVVVV8AAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAAPVVVVVfAAAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAD1VVVV8AAAAA///AAAAAA9VVVVXwAAAP////AAAAAD1VVVV8AAA/9VVX8AAAAA9VVVVf8AD/VVVVXwAAAAPVVVVVf//9VVVVVfAAAAD1VVVVVf/1VVVVVV8AAAA9VVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVVfAAAA9VVVVVVVVVVVVVVV8AAAPVVVVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVVfAAD1VVVVVVVVVVVVVVVXwAA9VVVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVVfAAD1VVVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVV8AAA9VVVV/VVVVVVVVVV8AAAPVVVX//VVVVVVVVV8AAAD1VVX8D/VVVVVVVX8AAAA9VVXwAD/VVVVVV/8AAAA9VVV8AAD/VVVX//wAAAAPVVVfAAAD/////8AAAAAD1VVfAAAAD///wAAAAAAD1VVXwAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAPVVVVVfAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAPVVVVVVfAAAAAAAAAAAA/VVVVVVV/AAAAAAAAAAD/VVVVVVVX/wAAAAAAAA/9VVVVVVVVX/8AAAAAAP/1VVVVVVVVVV///AAD//9VVVVVVVVVVVVf//////VVVVVVVVVVVVVVVX//1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==" },
{"width" : "66", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/VVVVVVVVVVVVVVVVVVVV//1VVVVVVVVVVVVVVVVVVXwA9VVVVVVVVVVVVVVVVVVfAA9VVVVVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVVVVfAAAPVVVVVVVVVVVVVVVVVfAAAPVVVVVVVVVVVVVVVVV8AAAPVVVVVVVVVVVVVVVVV8AAAPVVVVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVfAAAA9VVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVfAAAA9VVVVVVVVVVVVVVVVfAAAA9VVVVVVVVVVVVVVVV8AAAD1VVVVVVVVVVVVVVVV8AAAD1VVVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVVVVVfAAAA9VVVVVVVVVVVVVVVVfAAAD1VVVVVVVVVVVVVVVVfAAAD1VVVVVVVVVVVVVVVVfAAAPVVVVVVVVVVVVVVVVV8AAAPVVVVVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVVVXwAAD1VVVVVVVVX///1VVVXwAAD1VVVVVVVX/////1VVXwAAPVVVVVVVV/8AAAP9VVXwAAPVVVVVVVX8AAAAAP1VfAAA9VVVVVVV/AAAAAAD9VfAAA9VVVVVVX8AAAAAAAPVfAAA9VVVVVVfAAAAAAAAPVfAAD1VVVVVV8AAAAAAAAD1fAAD1VVVVVXwAAAAAAAAA98AAD1VVVVVXwAAAAAAAAA98AAD1VVVVVfAAAAAAAAAA98AAPVVVVVV8AAAAAAAAAAP8AAPVVVVVV8AAAAAAAAAAP8AAPVVVVVXwAAAAAAAAAAP8AAPVVVVVXwAAAAAAAAAAP8AAPVVVVVfAAAAA//8AAAP8AAPVVVVVfAAAAP///AAAP8AAPVVVVV8AAAA/VVXwAAP8AAPVVVVV8AAAD1VVV8AAP8AAPVVVVV8AAAPVVVV8AAP8AAD1VVVXwAAA9VVVV8AAP8AAD1VVVXwAAD1VVVV8AAP8AAD1VVVXwAAPVVVVV8AAP8AAD1VVVXwAAPVVVVXwAAPfAAA9VVVfAAA9VVVVXwAAPfAAA9VVVfAAA9VVVVfAAA9fAAA9VVVfAAD1VVVVfAAA9fAAAPVVVfAAD1VVVV8AAA9fAAAPVVVfAAPVVVVXwAAA9fAAAPVVVfAAPVVVVfAAAD1fAAAD1VVfAA9VVVV8AAAD1XwAAA9VVfAA9VVVXwAAAD1XwAAAPVVfAA9VVV/AAAAPVXwAAAD1VfAA9VVf8AAAAPVXwAAAA/VfAD1VX/AAAAA9VV8AAAAP9fAA///wAAAAA9VV8AAAAA/8AAP/8AAAAAD1VV8AAAAADwAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAAAPVVVVVVXwAAAAAAAAAAAAA9VVVVVVV8AAAAAAAAAAAAP1VVVVVVVfAAAAAAAAAAAA/VVVVVVVVX8AAAAAAAAAAP1VVVVVVVVV/wAAAAAAAAD/VVVVVVVVVVX/wAAAAAAD/1VVVVVVVVVVVf//8AAA//9VVVVVVVVVVVVVf//////9VVVVVVVVVVVVVVVVX///VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV" },
{"width" : "53", "buffer":"VVVVVVVVVVVVVVV/1Vf///////////////9X//////////////wD1fAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAPX8AAAAAAAAAAAAAAA9X/wAAAAAAAAPwAAAD1V///////////wAAA9VVX////////9XwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVfAAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAD1VVVVVVVVVVVV8AAAPVVVVVVVVVVVVfAAAD1VVVVVVVVVVVV8AAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVV8AAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVfAAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAD1VVVVVVVVVVVV8AAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVXwAAD1VVVVVVVVVVVVfAAAPVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVXwAAPVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVfAAPVVVVVVVVVVVVVV8AD1VVVVVVVVVVVVVV///VVVVVVVVVVVVVVV//VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=" },
{"width" : "52", "buffer":"VVVVVVVVVV///9VVVVVVVVVVVf/////9VVVVVVVVVX//8AAAP1VVVVVVVVf/AAAAAAPVVVVVVVX/wAAAAAAA9VVVVVVf/AAAAAAAAD1VVVVVfwAAAAAAAAAPVVVVVfAAAAAAAAAAD1VVVV/AAAAAAAAAAAPVVVVfAAAAAAAAAAAD1VVVfAAAAAAAAAAAAPVVVfAAAAAAAAAAAAD1VVXwAAAAAAAAAAAA9VVXwAAAAAAAAAAAAD1VV8AAAAAAAAAAAAA9VV8AAAAAAAA/8AAAPVVfAAAAAAD///wAAD1VXwAAAAA//9VfAAAPVV8AAAAD/1VVV8AAD1V8AAAAD9VVVV8AAA9VfAAAAP1VVVVfAAAPVXwAAAP1VVVVfAAAD1V8AAAPVVVVVfAAAA9VfAAAPVVVVVXwAAAPVXwAAD1VVVVXwAAAPVV8AAD1VVVVXwAAAD1VfAAA9VVVVV8AAAA9VXwAAD1VVVV8AAAA9VVfAAA9VVVV8AAAAPVVXwAAD1VVVfAAAAPVVV8AAA9VVVfAAAA/VVVfAAAD1VVfAAAA/VVVXwAAA9VVXwAAA9VVVVfAAAD1VXwAAAPVVVVXwAAA9VXwAAAPVVVVV8AAAD1V8AAAPVVVVVXwAAA9V8AAAPVVVVVV8AAAD38AAAD1VVVVVXwAAAP8AAAD1VVVVVV8AAAAwAAAD1VVVVVVXwAAAAAAAA9VVVVVVV8AAAAAAAA9VVVVVVVXwAAAAAAA9VVVVVVVV8AAAAAAA9VVVVVVVVfAAAAAAAPVVVVVVVVfAAAAAAAPVVVVVVVVXwAAAAAAPVVVVVVVVXwAAAAAAPVVVVVVVVXwAAAAAAPVVVVVVVVXwAAAAAAPVVVVVVVVV8AAAAAAA9VVVVVVVV8AAAAAAAPVVVVVVVVfAAA/AAAD1VVVVVVVfAAA/8AAAPVVVVVVVXwAA9XwAAA9VVVVVVV8AAPVfAAAPVVVVVVV8AAPVV8AAA9VVVVVVfAAD1VfAAAPVVVVVVfAAD1VV8AAD1VVVVVXwAA9VVXwAAPVVVVVV8AAPVVV8AAD1VVVVV8AAPVVVXwAAPVVVVVfAAD1VVV8AAD1VVVVXwAA9VVVXwAAPVVVVV8AAPVVVV8AAD1VVVV8AAD1VVVXwAA9VVVVfAAD1VVVV8AAD1VVVXwAA9VVVVfAAA9VVVV8AAPVVVVXwAAPVVVVfAAD1VVVVfAAA9VVVfAAA9VVVVXwAAPVVVXwAAPVVVVV8AAD1VVV8AAPVVVVVfAAA9VVVfAAD1VVVVXwAAPVVVXwAA9VVVVV8AAD1VVV8AAPVVVVVfAAA9VVVfAAD1VVVVXwAAPVVVXwAAPVVVVXwAAD1VVV8AAD1VVVXwAAA9VVVfAAAPVVVfwAAAPVVVXwAAA/1f/wAAAD1VVV8AAAD///AAAAA9VVVfAAAAA/AAAAAA9VVVXwAAAAAAAAAAAPVVVV8AAAAAAAAAAAD1VVVfAAAAAAAAAAAD1VVVXwAAAAAAAAAAA9VVVVfAAAAAAAAAAA9VVVVXwAAAAAAAAAAPVVVVV8AAAAAAAAAAPVVVVVXwAAAAAAAAAD1VVVVV8AAAAAAAAAD1VVVVVXwAAAAAAAAD1VVVVVVfAAAAAAAAP1VVVVVVV/AAAAAAA/1VVVVVVVX/AAAAAD/VVVVVVVVVX//8AD/9VVVVVVVVVVX/////1VVVVVVVVVVVVVf/1VVVVVVVVVVVVVVVVVVVVVVVVVVQ==" },
{"width" : "58", "buffer":"VVVVVVVVVX1VVVVVVVVVVVVVVVV////9VVVVVVVVVVVVVf//w///VVVVVVVVVVVV/8AAAAP/VVVVVVVVVVX/AAAAAAD9VVVVVVVVVf8AAAAAAAD1VVVVVVVV/wAAAAAAAAP1VVVVVVV/AAAAAAAAAA/VVVVVVX8AAAAAAAAAAD1VVVVVX8AAAAAAAAAAAPVVVVVXwAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAA9VVV8AAAAAAP//wAAAAPVVV8AAAAAD////wAAAA9VVfAAAAA//VVV/wAAAPVVfAAAAA/1VVVV/AAAD1VXwAAAD9VVVVVV8AAA9VV8AAAD9VVVVVVXwAAPVV8AAAD1VVVVVVVfAAA9VfAAAD1VVVVVVVXwAAPVXwAAA9VVVVVVVVfAAD1V8AAA9VVVVVVVVXwAA9VfAAAPVVVVVVVVVfAAPVXwAAPVVVVVVVVVXwAD1V8AAD1VVVVVVVVVfAAPVfAAAPVVVVVVVVVXwAA9XwAAD1VVVVVVVVV8AAD18AAA9VVVVVVVVVfAAA9XwAAD1VVVVVVVVXwAAD18AAAPVVVVVVVVVfAAA9fAAAA/VVVVVVVVXwAAPXwAAAD/VVVVVVVV8AAD1fAAAAD/VVVVVVV8AAAPXwAAAAD/1VVVVX8AAAD18AAAAAD//VVX/8AAAA9XwAAAAAA/////wAAAAPV8AAAAAAAD//wAAAAAD1XwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAPVVVfwAAAAAAAAAAAAAD1VVV/AAAAAAAAAAAAAA9VVVV/AAAAAAAAAAAAAPVVVVX/AAAAAAAAAAAAD1VVVVX/wAAAAAAD8AAA9VVVVVX/8AAAAA//wAAPVVVVVVV///////1fAAD1VVVVVVVf////9VXwAA9VVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVfAAD1VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVXwAA9VVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVfAAD1VVVVVVVVVVVVVVXwAA9VVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVXwAAPVVVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVfAAAPVVVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVfAAAPVVVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVfAAAPVVVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVfAAAPVVVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVfAAAPVVVVVVVVVVVVVVXwAAD1VVVVVVVVVVVVVV8AAD1VVVVVVVVVVVVVVfAAA9VVVVVVVVVVVVVVV8AAPVVVVVVVVVVVVVVVfAAD1VVVVVVVVVVVVVVXwAA9VVVVVVVVVVVVVVVfAA9VVVVVVVVVVVVVVVV8APVVVVVVVVVVVVVVVVX//VVVVVVVVVVVVVVVVVf/1VQ==" },
{"width" : "15", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf9VVX//VVfwD1V8AD1XwAA9fAAA9fAAA98AAA98AAAP8AAAP8AAAP8AAAP8AAAP8AAAP8AAA9fAAA9fAAA9fAAA9XwAD1V///VVf/9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV9VVV//1VX/D9VfAAPVfAAD18AAD18AAA98AAA98AAA98AAA98AAA98AAA98AAA98AAA98AAA98AAD18AAD1fAAPVfwA9VX//1VVf/VVVVVVVVVVVV" }
]
}

View File

@ -0,0 +1,18 @@
{
"name":"DIN Alternate",
"size":"100",
"characters":[
{"width" : "42" , "buffer":"VVVVX////9VVVVVVVV//////1VVVVVVf8AAAAD/VVVVVX/AAAAAAP1VVVVfwAAAAAAA9VVVV8AAAAAAAAP1VVXwAAAAAAAAD1VVfAAAAAAAAAA9VVfAAAAAAAAAAPVV8AAAAAAAAAAD1V8AAAAAAAAAAD1XwAAAAAAAAAAA9XwAAAA//wAAAA9fAAAAD//8AAAA9fAAAAPVVfAAAAPfAAAA9VVXwAAAPfAAAD1VVV8AAAP8AAAPVVVVfAAAP8AAAPVVVVfAAAP8AAAPVVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAAPVVVVfAAAP8AAAPVVVVfAAAP8AAAPVVVV8AAAPfAAAD1VVV8AAAPfAAAA9VVXwAAAPfAAAAPVVfAAAAPfAAAAD//8AAAA9XwAAAA//wAAAA9XwAAAAAAAAAAA9V8AAAAAAAAAAD1V8AAAAAAAAAAPVVfAAAAAAAAAAPVVXwAAAAAAAAA9VVXwAAAAAAAAD1VVV/AAAAAAAAP1VVVfwAAAAAAA9VVVVV/AAAAAAP1VVVVVf/AAAAP/VVVVVVV//wA//1VVVVVVVV////1VVVVVVVVVVf/VVVVVV" },
{"width" : "28" , "buffer":"VVVVf////1VVVf////9VVVfAAAAPVVV/AAAAD1VV/AAAAA9VV8AAAAAPVX8AAAAAD1X8AAAAAA9XwAAAAAAPfwAAAAAAD/wAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAADwAAAP8AAD/AAAD/AAD18AAA/wAP1fAAAP8AP1XwAAD/A/VV8AAA/w/VVfAAAP89VVXwAAD/9VVV8AAA/9VVVfAAAP1VVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV8AAA9VVVVfAAAPVVVVXwAAD1VVVV////9VVVVf////VVVVVVVVVQ==" },
{"width" : "42" , "buffer":"VVVVX////9VVVVVVVV//////1VVVVVVf8AAAAD9VVVVVX/AAAAAAP1VVVVfwAAAAAAD9VVVV8AAAAAAAAPVVVXwAAAAAAAAD1VVfAAAAAAAAAA9VVfAAAAAAAAAA9VV8AAAAAAAAAAPVXwAAAAAAAAAAPVXwAAAAAAAAAAD1fAAAAD//wAAAD1fAAAAP//8AAAD1fAAAA9VVfAAAA98AAAD1VVXwAAA98AAAPVVVXwAAA98AAAPVVVV8AAA98AAA9VVVV8AAA98AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP////9VVVVfAAAP////9VVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVV8AAAPVVVVVVVVV8AAA9VVVVVVVVV8AAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAPVVVVVVVVXwAAAPVVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVXwAAAPVVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVXwAAAPVVVVVVVVfAAAAPVVVVVVVVfAAAA9VVVVVVVV8AAAA9VVVVVVVV8AAAD1VVVVVVVXwAAAD1VVVVVVVXwAAAPVVVVVVVVfAAAAPVVVVVVVVfAAAA9VVVVVVVV8AAAA9VVVVVVVV8AAAAP////////8AAAAD////////8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP////////////////////////////VVVVVVVVVVVVVV" },
{"width" : "42" , "buffer":"VVVVX////1VVVVVVVV//////VVVVVVVf8AAAAP9VVVVVX/AAAAAA/1VVVVfwAAAAAAD9VVVV8AAAAAAAAPVVVXwAAAAAAAAD1VVfAAAAAAAAAD1VV8AAAAAAAAAA9VV8AAAAAAAAAAPVXwAAAAAAAAAAPVXwAAAAAAAAAAD1fAAAAD//AAAAD1fAAAAP//8AAAA9fAAAA9VV/AAAA98AAAD1VVXwAAA98AAAPVVVXwAAA98AAAPVVVV8AAA98AAA9VVVV8AAA98AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP////9VVVVfAAAP////9VVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVV8AAAPVVVVVVVVV8AAA9VVVVVVVVV8AAA9VVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVX/8AAAD1VVVVVX//wAAAD1VVVVVX8AAAAAPVVVVVVXwAAAAD9VVVVVVXwAAAAP1VVVVVVXwAAAA9VVVVVVVXwAAAD1VVVVVVVXwAAAD1VVVVVVVXwAAAA/VVVVVVVXwAAAAP1VVVVVVXwAAAAA9VVVVVVX/wAAAAPVVVVVVX//wAAAD1VVVVVVVf8AAAD1VVVVVVVVfAAAA9VVVVVVVVXwAAA9VVVVVVVVV8AAA9VVVVVVVVV8AAA9VVVVVVVVV8AAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAP////1VVVVfAAAP////9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVV8AAAP8AAA9VVVV8AAA98AAAPVVVV8AAA98AAAPVVVXwAAA98AAAD1VVfAAAA98AAAA/VV8AAAA9fAAAAP//wAAAA9fAAAAA//AAAAD1fAAAAAAAAAAAD1XwAAAAAAAAAAPVXwAAAAAAAAAAPVV8AAAAAAAAAA9VVfAAAAAAAAAD1VVfAAAAAAAAAD1VVX8AAAAAAAA/VVVV/AAAAAAAD9VVVVX8AAAAAAPVVVVVV/8AAAAP9VVVVVVX//AA//1VVVVVVVX////1VVVVVVVVVV//VVVVVV" },
{"width" : "49" , "buffer":"VVVVVVX////9VVVVVVVVVVV/////VVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAD1VVVVVVVVVVXwAAA9VVVVVVVVVVV8AAAPVVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAD1VVVVVVVVVVXwAAA9VVVVVVVVVVXwAAA9VVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAD1VVVVVVVVVVXwAAD1VVVVVVVVVVXwAAA9VVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAD1VVVVVVVVVVfAAAD1VVVVVVVVVVXwAAA9VVVVVVVVVVV8AAAPVVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAD1VVVVVVVVVVXwAAA9VVVVVVVVVVV8AAA9VVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAD1VVVVVVVVVVXwAAA9VVVVVVVVVVV8AAA9VVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAD1VVVVVVVVVVXwAAD1VVVVVVVVVVXwAAA9VVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAPVVVVVVVVVVVXwAAD1VVVVVVVVVVXwAAA9VVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAPVVVVVVVVVVVfAAAD1VVVVVVVVVVXwAAA9VVVVVVVVVVV8AAA9VVVVVVVVVVV8AAAPVVVVVVVVVVVfAAAD1VVVVVVVVVVXwAAD1VVVVVVVVVVV8AAA9VX////1VVVV8AAAPVV////9VVVVfAAAD1VfAAAPVVVVXwAAD1VXwAAD1VVVXwAAA9VV8AAA9VVVV8AAAPVVfAAAPVVVVfAAAPVVXwAAD1VVVXwAAD1VV8AAA9VVVXwAAA9VVfAAAPVVVV8AAA9VVXwAAD1VVVfAAAPVVV8AAA9VVVfAAAD1VVfAAAPVVVXwAAA9VVXwAAD1VVV8AAA9VVV8AAA9VVVfAAAPVVVfAAAPVVVfAAAD1VVXwAAD1VVXwAAD1VVV8AAA9VVV8AAA9VVVfAAAPVVV8AAAPVVVXwAAD1VVfAAAPVVVV8AAA9VVXwAAD1VVVfAAAPVVV8AAA9VVVXwAAD1VV8AAAPVVVV8AAA9VVfAAAPVVVVfAAAPVVXwAAD1VVVXwAAD1VXwAAA9VVVV8AAA9VV8AAA9VVVVfAAAPVVfAAAPVVVVXwAAD1VXwAAA/////wAAAP//8AAAD////wAAAA///AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAD/////////8AAAAP///////////wAAAP//VVVVVVVVVfAAAPVVVVVVVVVVVXwAAD1VVVVVVVVVVV8AAA9VVVVVVVVVVVfAAAPVVVVVVVVVVVXwAAD1VVVVVVVVVVV8AAA9VVVVVVVVVVVfAAAPVVVVVVVVVVVXwAAD1VVVVVVVVVVV8AAA9VVVVVVVVVVVfAAAPVVVVVVVVVVVXwAAD1VVVVVVVVVVV8AAA9VVVVVVVVVVVfAAAPVVVVVVVVVVVX////1VVVVVVVVVVV////9VVVVVVVVVVVVVVVVVVQ==" },
{"width" : "42" , "buffer":"X/////////////X/////////////XwAAAAAAAAAAAPXwAAAAAAAAAAAPXwAAAAAAAAAAAPXwAAAAAAAAAAAPXwAAAAAAAAAAAPXwAAAAAAAAAAAPXwAAAAAAAAAAAPXwAAAAAAAAAAAPXwAAAAAAAAAAAPXwAAAAAAAAAAAPXwAAD/////////XwAAP/////////XwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VVVVVVVVVXwAA9VX////VVVXwAA9V/////9VVXwAA9f8AAAA/VVXwAAP/AAAAAD9VXwAADwAAAAAA9VXwAAAAAAAAAAPVXwAAAAAAAAAAD1XwAAAAAAAAAAD1XwAAAAAAAAAAA9XwAAAAAAAAAAA9XwAAAAP/AAAAAPXwAAAD//wAAAAPXwAAAP1V/AAAAPXwAAA9VVfwAAAPXwAAD1VVV8AAAPX////VVVV8AAAPX////VVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVVfAAAP////9VVVVfAAAP////9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAAPVVVVfAAAP8AAAPVVVVfAAAP8AAAPVVVV8AAAPfAAAD1VVV8AAAPfAAAA9VVXwAAAPfAAAAPVVfAAAAPfAAAAD//8AAAA9XwAAAA//wAAAA9XwAAAAAAAAAAA9V8AAAAAAAAAAD1V8AAAAAAAAAAPVVfAAAAAAAAAAPVVfAAAAAAAAAA9VVXwAAAAAAAAD1VVV/AAAAAAAAPVVVVfwAAAAAAA9VVVVV/AAAAAAP1VVVVVf/AAAAP/VVVVVVV//wA//1VVVVVVVV////1VVVVVVVVVVf/VVVVVV" },
{"width" : "42" , "buffer":"VVVVVVV/////1VVVVVVVV/////1VVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAPVVVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAPVVVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAPVVVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAA///9VVVVXwAAAAP///9VVVXwAAAAAAAD/VVVXwAAAAAAAAD1VVfAAAAAAAAAA9VVfAAAAAAAAAAPVVfAAAAAAAAAAD1V8AAAAAAAAAAD1V8AAAAAAAAAAA9XwAAAAAAAAAAA9XwAAAAP/AAAAA9XwAAAD//wAAAA9XwAAAP1V8AAAAPfAAAA9VVfAAAAPfAAAD1VVXwAAAPfAAAPVVVV8AAAPfAAAPVVVVfAAAPfAAAPVVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAAPVVVVfAAAPfAAAPVVVV8AAAPfAAAD1VVV8AAAPfAAAA9VVXwAAAPfAAAAPVV/AAAA9fAAAAD//8AAAA9XwAAAA//AAAAA9XwAAAAAAAAAAD1V8AAAAAAAAAAD1V8AAAAAAAAAAPVVfAAAAAAAAAAPVVXwAAAAAAAAA9VVXwAAAAAAAAD1VVV/AAAAAAAAPVVVVfwAAAAAAA9VVVVV/AAAAAAP1VVVVVf8AAAAP/VVVVVVV//AAP/1VVVVVVVX////1VVVVVVVVVV//1VVVVV" },
{"width" : "42" , "buffer":"////////////////////////////8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAA/////AAAAP8AAD/////wAAAP8AAPVVVVV8AAAP8AAPVVVVV8AAAP8AAPVVVVV8AAA98AAPVVVVXwAAA98AAPVVVVXwAAA98AAPVVVVXwAAD18AAPVVVVXwAAD18AAPVVVVfAAAD18AAPVVVVfAAAD1////VVVVfAAAPV////VVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVV8AAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAD1VVVVVVVVXwAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAPVVVVVVVVVfAAAPVVVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVV8AAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAD1VVVVVVVVXwAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAPVVVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVV8AAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAPVVVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVV8AAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAPVVVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVV8AAAPVVVVVVVVV8AAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVV8AAAPVVVVVVVVV/////VVVVVVVVV/////VVVVVVVVVVVVVVVVVVVVVV" },
{"width" : "42" , "buffer":"VVVVX////1VVVVVVVX//////VVVVVVVf8AAAAP9VVVVVX8AAAAAA/VVVVVfwAAAAAAD1VVVV8AAAAAAAA9VVVXwAAAAAAAAPVVVfAAAAAAAAAD1VVfAAAAAAAAAA9VV8AAAAAAAAAA9VXwAAAAAAAAAAPVXwAAAAAAAAAAD1XwAAAD//AAAAD1fAAAAP//wAAAD1fAAAA9VV8AAAA98AAAD1VVfAAAA98AAAPVVVXwAAA98AAAPVVVV8AAA98AAA9VVVV8AAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAA98AAA9VVVV8AAA98AAAPVVVV8AAA98AAAPVVVXwAAA9fAAAD1VVfAAAA9fAAAA9VV8AAAD1XwAAAP9fwAAAD1XwAAAD//AAAAPVV8AAAADwAAAA9VVfAAAAAAAAAD1VVXwAAAAAAAAPVVVV8AAAAAAAA9VVVV8AAAAAAAAPVVVXwAAAAAAAAD1VVfAAAAAAAAAA9VV8AAAADwAAAA9VXwAAAD//AAAAPVXwAAAP9f8AAAD1fAAAA9VV/AAAD1fAAAD1VVXwAAD1fAAAPVVVXwAAA98AAA9VVVV8AAA98AAA9VVVV8AAA98AAA9VVVVfAAA98AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVV8AAAP8AAA9VVVV8AAA98AAAPVVVV8AAA98AAAPVVVXwAAA98AAAD1VVfAAAA9fAAAA/VV8AAAA9fAAAAP//wAAAA9fAAAAA//AAAAD1XwAAAAAAAAAAD1XwAAAAAAAAAAPVV8AAAAAAAAAAPVV8AAAAAAAAAA9VVfAAAAAAAAAD1VVXwAAAAAAAAD1VVV8AAAAAAAA/VVVVfAAAAAAAD9VVVVX8AAAAAA/VVVVVV/8AAAAP9VVVVVVX/8AA//VVVVVVVVX////1VVVVVVVVVX//VVVVVV" },
{"width" : "42" , "buffer":"VVVVf////9VVVVVVVX//////1VVVVVVfwAAAAD/VVVVVX8AAAAAAP1VVVVfwAAAAAAA9VVVV8AAAAAAAAPVVVXwAAAAAAAAD1VVfAAAAAAAAAA9VVfAAAAAAAAAAPVV8AAAAAAAAAAPVXwAAAAAAAAAAD1XwAAAAAAAAAAD1XwAAAA//wAAAA9fAAAAP//8AAAA9fAAAA/VVfAAAA9fAAAD1VVXwAAAPfAAAD1VVV8AAAPfAAAPVVVV8AAAP8AAAPVVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAA9VVVVfAAAP8AAAPVVVVfAAAP8AAAPVVVV8AAAPfAAAPVVVV8AAA9fAAAD1VVXwAAA9fAAAA9VVfAAAA9fAAAAP9X8AAAA9fAAAAD//wAAAA9fAAAAAD8AAAAD1XwAAAAAAAAAAD1XwAAAAAAAAAAD1XwAAAAAAAAAAPVV8AAAAAAAAAAPVVfAAAAAAAAAA9VVfwAAAAAAAAA9VVX8AAAAAAAAA9VVVfwAAAAAAAD1VVVX////AAAAD1VVVVf///wAAAD1VVVVVVVV8AAAPVVVVVVVVXwAAAPVVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAPVVVVVVVVXwAAAPVVVVVVVVXwAAA9VVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAPVVVVVVVVXwAAAPVVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAPVVVVVVVVXwAAAPVVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV8AAAD1VVVVVVVXwAAAPVVVVVVVVXwAAAPVVVVVVVVXwAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAA9VVVVVVVVfAAAD1VVVVVVVV8AAAD1VVVVVVVV/////1VVVVVVVV/////VVVVVVVVVVVVVVVVVVVVV" },
{"width" : "14" , "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/////////wAAD/AAAP8AAA/wAAD/AAAP8AAA/wAAD/AAAP8AAA/wAAD/////////9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/////////8AAA/wAAD/AAAP8AAA/wAAD/AAAP8AAA/wAAD/AAAP8AAA//////////VVVVU=" }
]
}

View File

@ -0,0 +1,18 @@
{
"name":"Dosis",
"size":"100",
"characters":[
{"width" : "67", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf//////VVVVVVVVVVVVVVf////////1VVVVVVVVVVVX//AAAAAAD//VVVVVVVVVVf/AAAAAAAAA//VVVVVVVVV/wAAAAAAAAAAD/VVVVVVVX/AAAAAAAAAAAAD9VVVVVVX8AAAAAAAAAAAAAD1VVVVVXwAAAAAAAAAAAAAAP1VVVVXwAAAAAAAAAAAAAAA/VVVVXwAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAAAD1V8AAAAAAAAP/AAAAAAAAA9V8AAAAAAAD///wAAAAAAAPVfAAAAAAAD/VX/wAAAAAAA9XwAAAAAAP1VVV/AAAAAAAPXwAAAAAAP1VVVV8AAAAAAD18AAAAAAPVVVVVXwAAAAAA9fAAAAAAD1VVVVVfAAAAAAD3wAAAAAD1VVVVVXwAAAAAA98AAAAAA9VVVVVVfAAAAAAPfAAAAAA9VVVVVVXwAAAAAD3wAAAAAPVVVVVVV8AAAAAA98AAAAAD1VVVVVVXwAAAAAP8AAAAAA9VVVVVVV8AAAAAD/AAAAAAPVVVVVVVfAAAAAA/wAAAAAD1VVVVVVXwAAAAAP8AAAAAA9VVVVVVV8AAAAAD/AAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVV8AAAAAD/AAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVV8AAAAAD/AAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVV8AAAAAD/AAAAAA9VVX/9VVfAAAAAA/wAAAAAPVVf//9VXwAAAAAP8AAAAAD1VfwAP1V8AAAAAD/AAAAAA9VfAAA9VfAAAAAA/wAAAAAPVXwAAD1XwAAAAAP8AAAAAD1V8AAA9V8AAAAAD/AAAAAA9V8AAAPVfAAAAAA/wAAAAAPVfAAAD1XwAAAAAP8AAAAAD1V8AAA9V8AAAAAD/AAAAAA9VfAAAPVfAAAAAA/wAAAAAPVXwAAD1XwAAAAAP8AAAAAD1V8AAD1V8AAAAAD/AAAAAA9VX8AD1VfAAAAAA/wAAAAAPVVf//1VXwAAAAAP8AAAAAD1VVf/1VV8AAAAAD/AAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVV8AAAAAD/AAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVV8AAAAAD/AAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVV8AAAAAD/AAAAAAPVVVVVVVfAAAAAA/wAAAAAD1VVVVVVXwAAAAAP8AAAAAA9VVVVVVV8AAAAAD/AAAAAAPVVVVVVVfAAAAAA98AAAAAD1VVVVVVfAAAAAAPfAAAAAA9VVVVVVXwAAAAAD3wAAAAAPVVVVVVV8AAAAAA98AAAAAA9VVVVVVfAAAAAAPfAAAAAAPVVVVVVfAAAAAAD3wAAAAAA9VVVVVXwAAAAAA98AAAAAAD1VVVVXwAAAAAA9fAAAAAAAPVVVVfwAAAAAAPV8AAAAAAA/VVVfwAAAAAAD1fAAAAAAAD////AAAAAAAA9XwAAAAAAAD///AAAAAAAA9VfAAAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAAAPVVVVV/AAAAAAAAAAAAAAAPVVVVVX8AAAAAAAAAAAAAAPVVVVVVXwAAAAAAAAAAAAA/VVVVVVVfwAAAAAAAAAAAD/VVVVVVVV/8AAAAAAAAAA/9VVVVVVVVV//wAAAAAAAP/1VVVVVVVVVVf//AAAAA//9VVVVVVVVVVVVV////////VVVVVVVVVVVVVVVX////9VVVVVVVVQ=="},
{"width" : "36", "buffer":"VVVVVVVX/1VVVVVVVVV///1VVVVVVVf8AP/VVVVVVX/AAAP1VVVVVfwAAAA9VVVVX8AAAAA9VVVV/wAAAAA9VVVX8AAAAAAPVVV/AAAAAAAPVVf8AAAAAAAPVV/AAAAAAAAPVfwAAAAAAAAPV/AAAAAAAAAPXwAAAAAAAAAPfAAAAAAAAAAP8AAAAAAAAAAP8AAAAAAAAAAP8AAAAAAAAAAP8AAAAAAAAAAP8AAAAAAAAAAP8AAAAAAAAAAP8AAAAAAAAAAP8AAAAAAAAAAP8AAAAAAAAAAPfAAAwAAAAAAPfAAP8AAAAAAPX///fAAAAAAPV//1fAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAAPVVVVfAAAAAA9VVVVXwAAAAA9VVVVXwAAAAD9VVVVV/wAAA/1VVVVVf////9VVVVVVVf///VVVVVVVVVVVVVV"},
{"width" : "65", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/////1VVVVVVVVVVVVVVf///////1VVVVVVVVVVVV//AAAAAD//VVVVVVVVVVV/8AAAAAAAD/1VVVVVVVVV/wAAAAAAAAAP1VVVVVVVVfwAAAAAAAAAAD9VVVVVVVfwAAAAAAAAAAAD/VVVVVVX8AAAAAAAAAAAAA/VVVVVV8AAAAAAAAAAAAAAPVVVVVfAAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAAPVXwAAAAAAAP//AAAAAAAA9VfAAAAAAAP///wAAAAAAA9V8AAAAAAD9VVfwAAAAAAD1fAAAAAAA9VVVXwAAAAAAPV8AAAAAAPVVVVXwAAAAAA9XwAAAAAD1VVVVXwAAAAAA9fAAAAAAPVVVVVfAAAAAAD18AAAAAD1VVVVVfAAAAAAPXwAAAAAPVVVVVV8AAAAAA9fAAAAAA9VVVVVXwAAAAAD18AAAAAD1VVVVVfAAAAAAPXwAAAAAPVVVVVV8AAAAAA9fAAAAAA9VVVVVXwAAAAAD1fAAAAAPVVVVVVfAAAAAAPV8AAAAA9VVVVVXwAAAAAD1V8AAAAPVVVVVVfAAAAAAPVV8AAAP1VVVVVXwAAAAAA9VV////9VVVVVVfAAAAAAD1VV///9VVVVVVXwAAAAAAPVVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVV/AAAAAAAAPVVVVVVVVVVVfwAAAAAAAD1VVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV/AAAAAAAAA9VVVVVVVVVVfwAAAAAAAAPVVVVVVVVVVXwAAAAAAAAD1VVVVVVVVVX8AAAAAAAAA9VVVVVVVVVV/AAAAAAAAAPVVVVVVVVVVfAAAAAAAAAD1VVVVVVVVVfwAAAAAAAAA9VVVVVVVVVX8AAAAAAAAA/VVVVVVVVVV8AAAAAAAAAP1VVVVVVVVVfAAAAAAAAAD1VVVVVVVVVfwAAAAAAAAD9VVVVVVVVVX8AAAAAAAAA/VVVVVVVVVV8AAAAAAAAA/VVVVVVVVVVfAAAAAAAAAP1VVVVVVVVVXwAAAAAAAAD1VVVVVVVVVV8AAAAAAAAD9VVVVVVVVVVfAAAAAAAAA/VVVVVVVVVVXwAAAAAAAA/VVVVVVVVVVVfAAAAAAAAP1VVVVVVVVVVXwAAAAAAAP1VVVVVVVVVVV8AAAAAAAD9VVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVVfAAAAAAA////////////1V8AAAAAAA////////////9XwAAAAAAAAAAAAAAAAAAD9fAAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAD1X/AAAAAAAAAAAAAAAAAAPVV///////////////////1VVf/////////////////9VVVVVVVVVVVVVVVVVVVVVVU="},
{"width" : "67", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//////9VVVVVVVVVVVVVV/////////9VVVVVVVVVVVX/8AAAAAAP/9VVVVVVVVVVf8AAAAAAAAAP9VVVVVVVVV/wAAAAAAAAAAP9VVVVVVVX/AAAAAAAAAAAAP9VVVVVVX8AAAAAAAAAAAAAP1VVVVVXwAAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAAA9VV8AAAAAAAP//wAAAAAAAPVVfAAAAAAA////wAAAAAAD1VfAAAAAAA/VVV/wAAAAAA9VXwAAAAAA9VVVV/AAAAAAPVV8AAAAAA9VVVVV8AAAAAD1VfAAAAAAPVVVVVfAAAAAAPVXwAAAAAD1VVVVV8AAAAAD1V8AAAAAD1VVVVVfAAAAAA9VfAAAAAA9VVVVVXwAAAAAPVXwAAAAAPVVVVVV8AAAAAPVV8AAAAAD1VVVVVfAAAAAD1VfAAAAAA9VVVVVXwAAAAA9VV8AAAAA9VVVVVV8AAAAAPVVXwAAAA9VVVVVVfAAAAAD1VVf////9VVVVVVXwAAAAA9VVV////9VVVVVVV8AAAAAPVVVVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVf//AAAAAAD1VVVVVVVVVVV///AAAAAAD1VVVVVVVVVVV/AAAAAAAAA9VVVVVVVVVVV8AAAAAAAAA9VVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVfAAAAAAAAA/VVVVVVVVVVVXwAAAAAAAA/VVVVVVVVVVVV8AAAAAAAA9VVVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVVVXwAAAAAAAA/VVVVVVVVVVVV8AAAAAAAAD/VVVVVVVVVVVfAAAAAAAAAD9VVVVVVVVVVXwAAAAAAAAAD1VVVVVVVVVVfAAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAAD1VVVVVVVVVV//8AAAAAAAA9VVVVVVVVVVX///AAAAAAAD1VVVVVVVVVVVVf/AAAAAAA9VVVVVVVVVVVVVX8AAAAAAD1VVVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVVVXwAAAAAPVX////VVVVVVVVV8AAAAAD1f/////VVVVVVVVfAAAAAA9fwAAAD9VVVVVVVXwAAAAAPfAAAAAPVVVVVVVV8AAAAAD3wAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVXwAAAAAD/AAAAAA9VVVVVVV8AAAAAA/wAAAAAPVVVVVVVfAAAAAAP8AAAAAA9VVVVVVXwAAAAAD/AAAAAAPVVVVVVXwAAAAAD3wAAAAAA9VVVVVV8AAAAAA98AAAAAAD1VVVVX8AAAAAAPXwAAAAAAP1VVVX8AAAAAAD18AAAAAAA//1f/wAAAAAAA9fAAAAAAAA////wAAAAAAA9XwAAAAAAAAA/AAAAAAAAAPVfAAAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAAAPVVVVX8AAAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAAA/VVVVVVfwAAAAAAAAAAAAD/VVVVVVV/wAAAAAAAAAAAP9VVVVVVVV/wAAAAAAAAAA/1VVVVVVVVV/8AAAAAAAA//VVVVVVVVVVV//wAAAAD//9VVVVVVVVVVVVf///////9VVVVVVVVVVVVVVV/////1VVVVVVVVQ=="},
{"width" : "73", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX//9VVVVVVVVVVVVVVVVVVVVf///9VVVVVVVVVVVVVVVVVVVfwAAP9VVVVVVVVVVVVVVVVVVfAAAAP1VVVVVVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVVVVVV8AAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVfAAAAAAD1VVV/VVVVVVVVVVVXwAAAAAD1VX////VVVVVVVVVXwAAAAAA9Vf/8D//VVVVVVVVV8AAAAAA9VfwAAAD9VVVVVVVV8AAAAAAPVfAAAAAD1VVVVVVVfAAAAAAPVXwAAAAA9VVVVVVVfAAAAAAD1XwAAAAAPVVVVVVVXwAAAAAD1V8AAAAAA9VVVVVVXwAAAAAA9VfAAAAAAPVVVVVVV8AAAAAA9VXwAAAAAD1VVVVVV8AAAAAAPVV8AAAAAA9VVVVVVfAAAAAAPVVfAAAAAAPVVVVVVfAAAAAAD1VXwAAAAAD1VVVVVXwAAAAAD1VV8AAAAAA9VVVVVXwAAAAAA9VVfAAAAAAPVVVVVV8AAAAAA9VVXwAAAAAD1VVVVV8AAAAAAD///wAAAAAAP/9VVVfAAAAAAAP//wAAAAAAA//9VVfAAAAAAAAAAAAAAAAAAAAP1VXwAAAAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAAAAA9V/wAAAAAAAAAAAAAAAAAAAD9VX///////////wAAAAAAA//9VVV///////////AAAAAAA//1VVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVVVVVX8AAAAD9VVVVVVVVVVVVVVVVVf8AAAP9VVVVVVVVVVVVVVVVVVf////1VVVVVVVVVVVVVVVVVVVf///VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ=="},
{"width" : "67", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVX////////////////VVVVVV////////////////9VVVVV8AAAAAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAA9VVVVfAAAAAA//////////9VVVVXwAAAAA//////////9VVVVV8AAAAA9VVVVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVVVXwAAAAA9VVVVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVVVXwAAAAAP///VVVVVVVVVVVV8AAAAAA//////VVVVVVVVVfAAAAAAAAAD///9VVVVVVVXwAAAAAAAAAAAD//VVVVVVV8AAAAAAAAAAAAAP/1VVVVVfAAAAAAAAAAAAAAD/VVVVVXwAAAAAAAAAAAAAAA/VVVVV8AAAAAAAAAAAAAAAD9VVVVfAAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAAAPVVVfwAAAAAAAAAAAAAAAAD1VVV/////////wAAAAAAAAPVVVV/////////8AAAAAAAD1VVVVVVVVVVVV/8AAAAAAA9VVVVVVVVVVVVVfwAAAAAAD1VVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVV8AAAAAD1VVVVVVVVVVVVVVfAAAAAA9VX///9VVVVVVVVXwAAAAAPVf////9VVVVVVVV8AAAAAD1/wAAAP1VVVVVVVfAAAAAA9fAAAAA9VVVVVVVXwAAAAAPfAAAAAD1VVVVVVV8AAAAAD3wAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVXwAAAAAD/AAAAAAPVVVVVVV8AAAAAA/wAAAAAD1VVVVVVfAAAAAAP8AAAAAA9VVVVVVfAAAAAAPfAAAAAAD1VVVVVXwAAAAAD3wAAAAAAPVVVVVXwAAAAAA9fAAAAAAA9VVVVfwAAAAAAPXwAAAAAAD9VVVfwAAAAAAD18AAAAAAAP////AAAAAAAD1fAAAAAAAAP///AAAAAAAA9V8AAAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAAAAPVVVVVX8AAAAAAAAAAAAAAPVVVVVVfwAAAAAAAAAAAAA/VVVVVVVfwAAAAAAAAAAAD/VVVVVVVV/8AAAAAAAAAA/9VVVVVVVVV//AAAAAAAAP/1VVVVVVVVVVf//AAAAA//9VVVVVVVVVVVVX////////VVVVVVVVVVVVVVVX////9VVVVVVVVQ=="},
{"width" : "67", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf//////VVVVVVVVVVVVVVX////////9VVVVVVVVVVVX//AAAAAAD//VVVVVVVVVVf/wAAAAAAAAP/VVVVVVVVV/wAAAAAAAAAAD/VVVVVVVX/AAAAAAAAAAAAD9VVVVVVX8AAAAAAAAAAAAAD9VVVVVXwAAAAAAAAAAAAAAP1VVVVXwAAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAAAD1XwAAAAAAAAP/8AAAAAAAA9V8AAAAAAAD////AAAAAAAD18AAAAAAAP/VVf8AAAAAAA9fAAAAAAAP1VVVXwAAAAAAPXwAAAAAAPVVVVVfAAAAAAD18AAAAAAPVVVVVV8AAAAAA98AAAAAAPVVVVVVXwAAAAAPfAAAAAAD1VVVVVV8AAAAAA/wAAAAAD1VVVVVVXwAAAAAP8AAAAAA9VVVVVVV8AAAAAD/AAAAAAPVVVVVVVfAAAAAD3wAAAAAPVVVVVVVXwAAAAA98AAAAAD1VVVVVVV8AAAAAPfAAAAAA9VVVVVVVXwAAAAD3wAAAAAPVVVVVVVVfwAAAP18AAAAAD1VVVVVVVV//8//1fAAAAAA9VVVVVVVVV////VXwAAAAAPVVVVVVVVVVVdVVV8AAAAAD1VVVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVVVXwAAAAAPVVVf///9VVVVVVV8AAAAAD1Vf//////1VVVVVfAAAAAA9X//AAAAP/9VVVVXwAAAAAPX/AAAAAAA/9VVVV8AAAAAA/wAAAAAAAAP9VVVfAAAAAADwAAAAAAAAAP1VVXwAAAAAAAAAAAAAAAAAP1VV8AAAAAAAAAAAAAAAAAA/VVfAAAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAAAD18AAAAAAAAD//8AAAAAAAA9fAAAAAAAAP///8AAAAAAAPXwAAAAAAA/1VVfwAAAAAAA98AAAAAAA/VVVVfAAAAAAAPfAAAAAAA9VVVVV8AAAAAAD3wAAAAAA9VVVVVXwAAAAAA98AAAAAAPVVVVVVfAAAAAAPfAAAAAAPVVVVVVXwAAAAAD3wAAAAAD1VVVVVVfAAAAAA98AAAAAD1VVVVVVXwAAAAAPfAAAAAA9VVVVVVV8AAAAAA/wAAAAAPVVVVVVVfAAAAAAP8AAAAAD1VVVVVVXwAAAAAD/AAAAAA9VVVVVVV8AAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVV8AAAAAD/AAAAAA9VVVVVVV8AAAAAA/wAAAAAPVVVVVVVfAAAAAA98AAAAAD1VVVVVVXwAAAAAPfAAAAAAPVVVVVVV8AAAAAD3wAAAAAD1VVVVVVfAAAAAA98AAAAAA9VVVVVVXwAAAAAPXwAAAAAD1VVVVVXwAAAAAD18AAAAAA9VVVVVXwAAAAAA9fAAAAAAD1VVVVV8AAAAAAPXwAAAAAAPVVVVX8AAAAAAPV8AAAAAAA/VVVX8AAAAAAD1XwAAAAAAD/1V/wAAAAAAA9V8AAAAAAAD///wAAAAAAA9VfAAAAAAAAA/8AAAAAAAAPVV8AAAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAAAAPVVVVVX8AAAAAAAAAAAAAA/VVVVVVfwAAAAAAAAAAAAA/VVVVVVVfwAAAAAAAAAAAD9VVVVVVVV/8AAAAAAAAAA/9VVVVVVVVV//AAAAAAAA//1VVVVVVVVVVf//AAAAA//9VVVVVVVVVVVVX///////9VVVVVVVVVVVVVVVX////9VVVVVVVVQ=="},
{"width" : "67", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVV//////////////////9VVX///////////////////9VX8AAAAAAAAAAAAAAAAAAP9XwAAAAAAAAAAAAAAAAAAAP3wAAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAP8AAAAAAP//////8AAAAAAD/AAAAAAP///////wAAAAAA/wAAAAAPVVVVVVVfAAAAAAP8AAAAAD1VVVVVVV8AAAAAD/AAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAAP8AAAAAD1VVVVVVV8AAAAAD/AAAAAA9VVVVVVVfAAAAAA/wAAAAAPVVVVVVVXwAAAAA98AAAAAD1VVVVVVXwAAAAAPfAAAAAA9VVVVVVV8AAAAAD3wAAAAAPVVVVVVVfAAAAAA98AAAAAPVVVVVVVfAAAAAA9XwAAAAD1VVVVVVXwAAAAAPVfwAAA/1VVVVVVXwAAAAAD1V/////1VVVVVVXwAAAAAD1VV///9VVVVVVVV8AAAAAA9VVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVVVV/AAAAD1VVVVVVVVVVVVVVVX/AAAA9VVVVVVVVVVVVVVVVX/AAD9VVVVVVVVVVVVVVVVVX///9VVVVVVVVVVVVVVVVVVX//1VVVVVVVVVVVVQ=="},
{"width" : "67", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//////9VVVVVVVVVVVVVVf////////1VVVVVVVVVVVX/8AAAAAAP/9VVVVVVVVVVf/AAAAAAAAA/9VVVVVVVVV/wAAAAAAAAAAP9VVVVVVVX/AAAAAAAAAAAAP1VVVVVVX8AAAAAAAAAAAAAPVVVVVVXwAAAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAAPVVV8AAAAAAAP//AAAAAAAA9VVfAAAAAAAP///AAAAAAAPVVXwAAAAAAPVVX8AAAAAAD1VXwAAAAAAPVVVXwAAAAAA9VV8AAAAAAPVVVVfAAAAAAPVVfAAAAAAPVVVVV8AAAAAD1VXwAAAAAPVVVVVfAAAAAAPVV8AAAAAD1VVVVXwAAAAAD1VfAAAAAA9VVVVVfAAAAAA9VXwAAAAAPVVVVVXwAAAAAPVV8AAAAAD1VVVVV8AAAAAPVVfAAAAAA9VVVVVfAAAAAD1VXwAAAAAPVVVVVXwAAAAA9VVfAAAAAD1VVVVXwAAAAAPVVXwAAAAA9VVVVV8AAAAAD1VV8AAAAAD1VVVVfAAAAAA9VVfAAAAAA9VVVVfAAAAAA9VVV8AAAAAD1VVVfAAAAAAPVVVfAAAAAAP1VV/AAAAAAD1VVXwAAAAAA////AAAAAAD1VVVfAAAAAAA//8AAAAAAA9VVVV8AAAAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAAAAA9VVVVVX8AAAAAAAAAAAAAA9VVVVVVf8AAAAAAAAAAAAD9VVVVVVVfwAAAAAAAAAAAD9VVVVVVVVfAAAAAAAAAAAD1VVVVVVVVXwAAAAAAAAAAA9VVVVVVVVXwAAAAAAAAAAAD1VVVVVVVfwAAAAAAAAAAAAP1VVVVVVfwAAAAAAAAAAAAA/VVVVVV/AAAAAAAAAAAAAAA/VVVVV/AAAAAAAAAAAAAAAD9VVVV8AAAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAA9VVV8AAAAAAAP//wAAAAAAD1VVfAAAAAAA////wAAAAAAPVVfAAAAAAD/VVV/AAAAAAD1VXwAAAAAD9VVVV8AAAAAAPVXwAAAAAD1VVVVXwAAAAAD1V8AAAAAD1VVVVVfAAAAAAPV8AAAAAA9VVVVVV8AAAAAD1fAAAAAA9VVVVVVfAAAAAAPXwAAAAAPVVVVVVV8AAAAAD18AAAAAPVVVVVVVfAAAAAA98AAAAAD1VVVVVVXwAAAAAPfAAAAAA9VVVVVVV8AAAAAD3wAAAAAPVVVVVVVfAAAAAA98AAAAAD1VVVVVVXwAAAAAD/AAAAAA9VVVVVVV8AAAAAA/wAAAAAPVVVVVVVfAAAAAAP8AAAAAD1VVVVVVXwAAAAAD/AAAAAA9VVVVVVV8AAAAAA/wAAAAAPVVVVVVVfAAAAAAP8AAAAAD1VVVVVVXwAAAAAD/AAAAAA9VVVVVVV8AAAAAA/wAAAAAD1VVVVVVfAAAAAAP8AAAAAA9VVVVVVfAAAAAAD/AAAAAAPVVVVVVXwAAAAAD3wAAAAAA9VVVVVXwAAAAAA98AAAAAAD1VVVVV8AAAAAAPXwAAAAAAPVVVVX8AAAAAAD18AAAAAAA/VVVX8AAAAAAA9fAAAAAAAD/VV/wAAAAAAAPXwAAAAAAAD///wAAAAAAAPVfAAAAAAAAD/8AAAAAAAAD1XwAAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAP1VVVXwAAAAAAAAAAAAAAAP1VVVVfwAAAAAAAAAAAAAAPVVVVVV/wAAAAAAAAAAAAA/VVVVVVV/wAAAAAAAAAAAD/VVVVVVVV/wAAAAAAAAAAP9VVVVVVVVV//AAAAAAAAP/1VVVVVVVVVV//8AAAAA///VVVVVVVVVVVVX////////VVVVVVVVVVVVVVVf////9VVVVVVVVQ=="},
{"width" : "67", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//////9VVVVVVVVVVVVVVf////////1VVVVVVVVVVVf/8AAAAAAP/9VVVVVVVVVV//AAAAAAAAA/9VVVVVVVVX/AAAAAAAAAAAP9VVVVVVVX8AAAAAAAAAAAAP9VVVVVVXwAAAAAAAAAAAAAP1VVVVVfwAAAAAAAAAAAAAAPVVVVVfwAAAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAAA9VfAAAAAAAAP//wAAAAAAAPVXwAAAAAAA////AAAAAAAA9V8AAAAAAD/VVV/AAAAAAAPV8AAAAAAD9VVVX8AAAAAAD1fAAAAAAD1VVVVXwAAAAAAPXwAAAAAD1VVVVVfAAAAAAD18AAAAAA9VVVVVV8AAAAAA9fAAAAAA9VVVVVVfAAAAAAPfAAAAAAPVVVVVVV8AAAAAD3wAAAAAD1VVVVVVfAAAAAA98AAAAAD1VVVVVVXwAAAAAD/AAAAAA9VVVVVVV8AAAAAA/wAAAAAPVVVVVVVfAAAAAAP8AAAAAD1VVVVVVXwAAAAAD/AAAAAA9VVVVVVV8AAAAAA/wAAAAAPVVVVVVVfAAAAAAP8AAAAAD1VVVVVVXwAAAAAD/AAAAAA9VVVVVVV8AAAAAA/wAAAAAPVVVVVVVfAAAAAAP8AAAAAD1VVVVVVXwAAAAAD/AAAAAAPVVVVVVV8AAAAAA/wAAAAAD1VVVVVVfAAAAAAP8AAAAAA9VVVVVVfAAAAAAD/AAAAAAD1VVVVVXwAAAAAA/wAAAAAAPVVVVVXwAAAAAAPfAAAAAAA9VVVVXwAAAAAAD3wAAAAAAD1VVVfwAAAAAAA98AAAAAAAP9VX/wAAAAAAAPfAAAAAAAA////AAAAAAAAD18AAAAAAAAP/wAAAAAAAAA9fAAAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAAD1VX8AAAAAAAAAAAAAAAAAA9VVfwAAAAAAAAAAAAAAAAAPVVVfwAAAAAAAAA8AAAAAAD1VVV/wAAAAAAAD/wAAAAAA9VVVV//AAAAAAP9fAAAAAAPVVVVV///8AD//1XwAAAAAD1VVVVVX//////VV8AAAAAA9VVVVVVVVf/1VVVfAAAAAAPVVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVV8AAAAAA9VX//9VVVVVVVVVfAAAAAAPVf////VVVVVVVVXwAAAAAD1/wAAP9VVVVVVVV8AAAAAA9/AAAAD1VVVVVVVfAAAAAAPfAAAAAPVVVVVVVXwAAAAAD/AAAAAD1VVVVVVV8AAAAAA/wAAAAA9VVVVVVVfAAAAAAP8AAAAAD1VVVVVVXwAAAAAD/AAAAAA9VVVVVVV8AAAAAD3wAAAAAPVVVVVVV8AAAAAA98AAAAAD1VVVVVVfAAAAAAPfAAAAAAPVVVVVVfAAAAAAD3wAAAAAA9VVVVVfAAAAAAA98AAAAAAD1VVVVfAAAAAAAPfAAAAAAAP1VVV/AAAAAAAPV8AAAAAAA/////AAAAAAAD1fAAAAAAAA///8AAAAAAAA9XwAAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAAAA9VVVVVfwAAAAAAAAAAAAAA9VVVVVV/AAAAAAAAAAAAAD9VVVVVVV/AAAAAAAAAAAAP9VVVVVVVX/wAAAAAAAAAD/1VVVVVVVVX/8AAAAAAAD//VVVVVVVVVVV//wAAAAD//1VVVVVVVVVVVVf///////1VVVVVVVVVVVVVVV/////1VVVVVVVVQ=="},
{"width" : "21", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf//VVVX///9VVfwAA/VV8AAAD1XwAAAA9fAAAAAPfAAAAAPfAAAAAP8AAAAAP8AAAAAD8AAAAAD8AAAAAD8AAAAADfAAAAAPfAAAAAPfAAAAAPXwAAAA9XwAAAD1V/AAAP1Vf/AP9VVV///1VVVV/1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/1VVVV///1VVf/AP/VV/AAAP1XwAAAA9XwAAAA9fAAAAAPfAAAAAPfAAAAAP8AAAAAD8AAAAAD8AAAAAD8AAAAAD8AAAAAPfAAAAAPfAAAAAPfAAAAA9XwAAAA9V8AAAD1VfwAA/VVX///9VVVf//VV"},
]
}

View File

@ -0,0 +1,17 @@
{
"name":"Impact",
"size":"98",
"characters":[
{"width" : "57", "buffer":"VVVVVf///////1VVVVVVVVVf/////////1VVVVVVVX/wAAAAAAAP/VVVVVVVfwAAAAAAAAAP9VVVVVX8AAAAAAAAAAA/VVVVVfwAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAA/VVVXwAAAAAAAAAAAAAP1VVfAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAD1XwAAAAAAA/AAAAAAAD1XwAAAAAAD/wAAAAAAD1fAAAAAAAPV8AAAAAAA9fAAAAAAA9VfAAAAAAA9fAAAAAAA9VXwAAAAAA9fAAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAPfAAAAAAD1VfAAAAAAA9fAAAAAAA9VfAAAAAAA9fAAAAAAAPV8AAAAAAA9XwAAAAAAD/wAAAAAAA9XwAAAAAAA/AAAAAAAD1XwAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAD1VVV/AAAAAAAAAAAAAPVVVVfwAAAAAAAAAAAD9VVVVV8AAAAAAAAAAAP1VVVVVfwAAAAAAAAAD9VVVVVVX/wAAAAAAAD/1VVVVVVVf/////////9VVVVVVVVVf///////9VVVVVA="},
{"width" : "42", "buffer":"VVVVVVVVV////9VVVVVVVVf/////VVVVVVVVfAAAAPVVVVVVVV8AAAAPVVVVVVVXwAAAAPVVVVVVVfAAAAAPVVVVVVX8AAAAAPVVVVVVfwAAAAAPVVVVVV8AAAAAAPVVVVVfwAAAAAAPVVVVV/AAAAAAAPVVVVfwAAAAAAAPVVVf/AAAAAAAAPVVX/wAAAAAAAAPVX/wAAAAAAAAAPf/8AAAAAAAAAAP/8AAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP//wAAAAAAAAAAP////wAAAAAAAAPVVf//AAAAAAAAPVVVVfwAAAAAAAPVVVVV8AAAAAAAPVVVVV8AAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVfAAAAAAAPVVVVVf////////VVVVVV///////9"},
{"width" : "56", "buffer":"VVVVV////////1VVVVVVVVX/////////9VVVVVVVV/wAAAAAAAD/VVVVVVV/AAAAAAAAAA/1VVVVVfwAAAAAAAAAAP1VVVVXwAAAAAAAAAAAD9VVVV8AAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAPVfAAAAAAAP8AAAAAAA9V8AAAAAAD/8AAAAAAA9fAAAAAAA9V8AAAAAAD18AAAAAAPVV8AAAAAAPXwAAAAAD1VXwAAAAAAPfAAAAAAPVVXwAAAAAA98AAAAAD1VVfAAAAAAD/AAAAAAPVVV8AAAAAAP8AAAAAA9VVXwAAAAAA/wAAAAAD1VVfAAAAAAD/AAAAAAPVVV8AAAAAAP8AAAAAA9VVXwAAAAAA/wAAAAAD1VV8AAAAAAD/AAAAAAPVVXwAAAAAAP8AAAAAA9VVfAAAAAAA/wAAAAAD1VV8AAAAAAD/AAAAAAPVVfAAAAAAAP8AAAAAA9VV8AAAAAAA/wAAAAAD1VfAAAAAAAD/AAAAAAPVV8AAAAAAA9///////9VXwAAAAAAD1///////VV8AAAAAAAPVVVVVVVVVXwAAAAAAA9VVVVVVVVV8AAAAAAAPVVVVVVVVVXwAAAAAAA9VVVVVVVVV8AAAAAAAD1VVVVVVVVXwAAAAAAA9VVVVVVVVV8AAAAAAAD1VVVVVVVVXwAAAAAAA9VVVVVVVVV8AAAAAAAD1VVVVVVVVfAAAAAAAA9VVVVVVVVV8AAAAAAAD1VVVVVVVVfAAAAAAAA9VVVVVVVVV8AAAAAAAD1VVVVVVVVfAAAAAAAA9VVVVVVVVXwAAAAAAAD1VVVVVVVVfAAAAAAAA9VVVVVVVVXwAAAAAAAD1VVVVVVVVfAAAAAAAA9VVVVVVVVXwAAAAAAAPVVVVVVVVVfAAAAAAAA9VVVVVVVVXwAAAAAAAPVVVVVVVVV8AAAAAAAA9VVVVVVVVXwAAAAAAAPVVVVVVVVV8AAAAAAAD1VVVVVVVVXwAAAAAAAPVVVVVVVVV8AAAAAAAD1VVVVVVVVfAAAAAAAA9VVVVVVVVV8AAAAAAAD1VVVVVVVVfAAAAAAAA9VVVVVVVVV8AAAAAAAPVVVVVVVVVfAAAAAAAA9VVVVVVVVXwAAAAAAAPVVVVVVVVVfAAAAAAAA9VVVVVVVVXwAAAAAAAPVVVVVVVVVfAAAAAAAD1VVVVVVVVXwAAAAAAAPVVVVVVVVV8AAAAAAAD1VVVVVVVVXwAAAAAAA9VVVVVVVVV8AAAAAAAD1VVVVVVVVXwAAAAAAA9VVVVVVVVV8AAAAAAAPVVVVVVVVVfAAAAAAAA9VVVVVVVVV8AAAAAAAPVVVVVVVVVfAAAAAAAD1VVVVVVVVV8AAAAAAAPVVVVVVVVVfAAAAAAAAP///////1XwAAAAAAAAP///////1fAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAD1//////////////////V/////////////////1Q=="},
{"width" : "57", "buffer":"VVVV//////////VVVVVVVV////////////VVVVVVf/AAAAAAAAAA/9VVVVV/AAAAAAAAAAAA/VVVVXwAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAPV8AAAAAAAA/AAAAAAAD18AAAAAAAD/wAAAAAAD18AAAAAAAPV8AAAAAAD18AAAAAAA9VfAAAAAAA98AAAAAAD1VfAAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA98AAAAAAD1VXwAAAAAA9////////1VXwAAAAAA9////////1VXwAAAAAA9VVVVVVVVVVXwAAAAAA9VVVVVVVVVVXwAAAAAA9VVVVVVVVVVfAAAAAAA9VVVVVVVVVVfAAAAAAD1VVVVVVVVVV8AAAAAAD1VVVVVVVVV/wAAAAAAPVVVVVVV////AAAAAAAPVVVVVVV///AAAAAAAA9VVVVVVV8AAAAAAAAAP1VVVVVVV8AAAAAAAAA/VVVVVVVV8AAAAAAAAD1VVVVVVVV8AAAAAAAAPVVVVVVVVV8AAAAAAAAD9VVVVVVVV8AAAAAAAAA/VVVVVVVV8AAAAAAAAAD9VVVVVVV8AAAAAAAAAA9VVVVVVV8AAAAAAAAAAPVVVVVVV8AAAAAAAAAAD1VVVVVV8AAAAAAAAAAD1VVVVVV8AAAAAAAAAAA9VVVVVV///AAAAAAAAA9VVVVVV///8AAAAAAAA9VVVVVVVVV/AAAAAAAA9VVVVVVVVVXwAAAAAAAPVVVVVVVVVV8AAAAAAAPVVVVVVVVVVfAAAAAAAPVVVVVVVVVVfAAAAAAAP////////1VfAAAAAAAP////////1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VXwAAAAAAP8AAAAAAD1VfAAAAAAAP8AAAAAAD1VfAAAAAAA98AAAAAAA9VfAAAAAAA9fAAAAAAAPV8AAAAAAA9fAAAAAAAD/wAAAAAAA9fAAAAAAAA/AAAAAAAD1fAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAPVVVV/AAAAAAAAAAAAA9VVVVfwAAAAAAAAAAAP1VVVVV/AAAAAAAAAAD/VVVVVVf/AAAAAAAAA/1VVVVVVV//////////9VVVVVVVVV/////////VVVVVA="},
{"width" : "61", "buffer":"VVVVVVVf/////////9VVVVVVVVVf//////////1VVVVVVVVXwAAAAAAAAA9VVVVVVVVXwAAAAAAAAAPVVVVVVVVV8AAAAAAAAAD1VVVVVVVVfAAAAAAAAAA9VVVVVVVVfAAAAAAAAAAPVVVVVVVVXwAAAAAAAAAD1VVVVVVVV8AAAAAAAAAA9VVVVVVVV8AAAAAAAAAAPVVVVVVVVfAAAAAAAAAAD1VVVVVVVXwAAAAAAAAAA9VVVVVVVXwAAAAAAAAAAPVVVVVVVV8AAAAAAAAAAD1VVVVVVVfAAAAAAAAAAA9VVVVVVVfAAAAAAAAAAAPVVVVVVVXwAAAAAAAAAAD1VVVVVVV8AAAAAAAAAAA9VVVVVVV8AAAAAAAAAAAPVVVVVVVfAAAAAAAAAAAD1VVVVVVXwAAAAAAAAAAA9VVVVVVXwAAAAAAAAAAAPVVVVVVV8AAAAAAAAAAAD1VVVVVVfAAAAAAAAAAAA9VVVVVVfAAAAAAAAAAAAPVVVVVVXwAAAAAAAAAAAD1VVVVVV8AAAAAAAAAAAA9VVVVVV8AAAAAAAAAAAAPVVVVVVfAAAAAAAAAAAAD1VVVVVXwAAAAAAAAAAAA9VVVVVXwAAAAMAAAAAAAPVVVVVV8AAAAPwAAAAAAD1VVVVVfAAAAPfAAAAAAA9VVVVVfAAAAD3wAAAAAAPVVVVVXwAAAA98AAAAAAD1VVVVV8AAAA9fAAAAAAA9VVVVV8AAAAPXwAAAAAAPVVVVVfAAAAD18AAAAAAD1VVVVXwAAAA9fAAAAAAA9VVVVXwAAAA9XwAAAAAAPVVVVV8AAAAPV8AAAAAAD1VVVVfAAAAD1fAAAAAAA9VVVVfAAAAD1XwAAAAAAPVVVVXwAAAA9V8AAAAAAD1VVVV8AAAAPVfAAAAAAA9VVVV8AAAAD1XwAAAAAAPVVVVfAAAAA9V8AAAAAAD1VVVXwAAAA9VfAAAAAAA9VVVXwAAAAPVXwAAAAAAPVVVV8AAAAD1V8AAAAAAD1VVVfAAAAA9VfAAAAAAA9VVVfAAAAA9VXwAAAAAAPVVVXwAAAAPVV8AAAAAAD1VVV8AAAAD1VfAAAAAAA9VVV8AAAAD1VXwAAAAAAPVVVfAAAAA9VV8AAAAAAD1VVXwAAAAPVVfAAAAAAA9VVXwAAAAD1VXwAAAAAAPVVV8AAAAA9VV8AAAAAAD1VVfAAAAA9VVfAAAAAAA9VVXwAAAAPVVXwAAAAAAPVVXwAAAAD1VV8AAAAAAD1VV8AAAAD1VVfAAAAAAA9VV8AAAAAP///AAAAAAAD///AAAAAA///AAAAAAAAP//wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD//////////AAAAAAAAP/9/////////8AAAAAAAP//VVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVX////////VVVVVVVVVVVVf///////VVUA=="},
{"width" : "59", "buffer":"V/////////////////VVf////////////////9VV8AAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAD1VfAAAAAAAP/////////VV8AAAAAAD/////////9VXwAAAAAA9VVVVVVVVVVVfAAAAAAD1VVVVVVVVVVV8AAAAAAPVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVfAAAAAAD1VVVVVVVVVVV8AAAAAAPVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVfAAAAAAD1VVVVVVVVVVV8AAAAAAPVVVf/9VVVVVXwAAAAAA9VX/////VVVVfAAAAAAD1X/8AA//1VVV8AAAAAAPX/AAAAAP9VVXwAAAAAA9/AAAAAAD9VVfAAAAAAA/AAAAAAAA9VV8AAAAAAAwAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD18AAAAAAAA/wAAAAAAAPXwAAAAAAAP/wAAAAAAA9fAAAAAAAD1XwAAAAAAA98AAAAAAA9VXwAAAAAAD3wAAAAAAPVVfAAAAAAAPfAAAAAAA9VV8AAAAAAA98AAAAAAD1VV8AAAAAAD3wAAAAAAPVVXwAAAAAAPf///////9VVfAAAAAAA9////////1VV8AAAAAAD1VVVVVVVVVVXwAAAAAAPVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVV8AAAAAAD1VVVVVVVVVVXwAAAAAAPVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVV8AAAAAAD1VVVVVVVVVVXwAAAAAAPVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVV8AAAAAAD1VVVVVVVVVVXwAAAAAAPf///////9VVfAAAAAAA/////////1VV8AAAAAAD/AAAAAAAPVVXwAAAAAAP8AAAAAAA9VVfAAAAAAA/wAAAAAAD1VV8AAAAAAD/AAAAAAAPVVXwAAAAAAP8AAAAAAA9VVfAAAAAAA/wAAAAAAD1VV8AAAAAAD/AAAAAAAPVVXwAAAAAAPfAAAAAAA9VVfAAAAAAA98AAAAAAD1VV8AAAAAAD3wAAAAAAPVVXwAAAAAAPfAAAAAAA9VVfAAAAAAA98AAAAAAD1VV8AAAAAAD3wAAAAAAPVVXwAAAAAAPfAAAAAAA9VVfAAAAAAA98AAAAAAD1VV8AAAAAAD3wAAAAAAPVVXwAAAAAAPfAAAAAAAPVVfAAAAAAA9fAAAAAAA9VV8AAAAAAD18AAAAAAD1VfAAAAAAA9XwAAAAAAPVV8AAAAAAD1fAAAAAAAP1fAAAAAAAPVfAAAAAAAP/wAAAAAAA9V8AAAAAAAD8AAAAAAAPVXwAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAPVVVV/AAAAAAAAAAAAAD1VVVV/AAAAAAAAAAAAA9VVVVVfwAAAAAAAAAAA/VVVVVVf8AAAAAAAAAA/1VVVVVVX/wAAAAAAAD/1VVVVVVVV//////////1VVVVVVVVVX////////VVVVVQ"},
{"width" : "59", "buffer":"VVVVVf////////1VVVVVVVVVf//////////VVVVVVVVf8AAAAAAAAD/1VVVVVVf8AAAAAAAAAAP1VVVVVX8AAAAAAAAAAAD9VVVVV8AAAAAAAAAAAAD9VVVVfAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAPVfAAAAAAAD/AAAAAAAA9V8AAAAAAA//AAAAAAAD1fAAAAAAAPVfAAAAAAAD18AAAAAAD1VfAAAAAAAPXwAAAAAAPVVfAAAAAAA9fAAAAAAA9VV8AAAAAAD18AAAAAAD1VXwAAAAAAD3wAAAAAAPVVfAAAAAAAPfAAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVf////////8AAAAAAA9VVX///////3wAAAAAAD1VVVVVVVVVVfAAAAAAAPVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVXwAAAAAAD1VVVVVVVVVVfAAAAAAAPVVX///VVVVV8AAAAAAA9V/////9VVVXwAAAAAAD1f/AAAP/VVVfAAAAAAAPfwAAAAA/1VV8AAAAAAAP8AAAAAAP1VXwAAAAAAAMAAAAAAAD1VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAD3wAAAAAAAAMAAAAAAAAPfAAAAAAAAP/AAAAAAAA98AAAAAAAD9/AAAAAAAD3wAAAAAAA9VfAAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA98AAAAAAD1VXwAAAAAAD3wAAAAAAPVVfAAAAAAAPfAAAAAAA9VV8AAAAAAA98AAAAAAD1VXwAAAAAAPXwAAAAAAPVVfAAAAAAA9fAAAAAAAPVXwAAAAAAD18AAAAAAAPV8AAAAAAAPV8AAAAAAAP/AAAAAAAD1XwAAAAAAAPwAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAD9VVVVV/AAAAAAAAAAAA/VVVVVV/wAAAAAAAAAA/VVVVVVVf/AAAAAAAAD/1VVVVVVVX//////////1VVVVVVVVVf////////VVVVVQ"},
{"width" : "48", "buffer":"f//////////////9////////////////8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP////////AAAAAAAP////////wAAAAAAPVVVVVVVV8AAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAA9VVVVVVVXwAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAD1VVVVVVVfAAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVXwAAAAAAD1VVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVV8AAAAAAA9VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVV8AAAAAAA9VVVVVVV8AAAAAAA9VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVXwAAAAAAD1VVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVfAAAAAAAPVVVVVVVfAAAAAAAPVVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVV8AAAAAAA9VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVXwAAAAAAD1VVVVVVXwAAAAAAD1VVVVVVXwAAAAAAD1VVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVfAAAAAAAPVVVVVVVfAAAAAAAPVVVVVVVf///////9VVVVVVVX///////1VVVVV"},
{"width" : "58", "buffer":"VVVVV/////////1VVVVVVVVX//////////9VVVVVVVf8AAAAAAAAA/9VVVVVV/wAAAAAAAAAAP1VVVVV/AAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAD1V8AAAAAAAP8AAAAAAAPVfAAAAAAAP/wAAAAAAD1XwAAAAAAPVfAAAAAAA9XwAAAAAAD1V8AAAAAAD18AAAAAAD1VfAAAAAAA9fAAAAAAA9VXwAAAAAAPXwAAAAAAPVV8AAAAAAD18AAAAAAD1VfAAAAAAA9fAAAAAAA9VXwAAAAAAPXwAAAAAAPVV8AAAAAAD18AAAAAAD1VfAAAAAAA9fAAAAAAA9VXwAAAAAAPXwAAAAAAPVV8AAAAAAD18AAAAAAD1VfAAAAAAA9fAAAAAAA9VXwAAAAAAPXwAAAAAAPVV8AAAAAAD18AAAAAAD1VfAAAAAAA9fAAAAAAA9VXwAAAAAAPXwAAAAAAPVV8AAAAAAD1fAAAAAAD1VfAAAAAAA9XwAAAAAA9VXwAAAAAA9V8AAAAAAD1V8AAAAAAPVXwAAAAAAPV8AAAAAAD1V8AAAAAAA/8AAAAAAD1VXwAAAAAAD8AAAAAAD1VV8AAAAAAAAAAAAAAD9VVXwAAAAAAAAAAAAAD9VVVfAAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAA/VVVXwAAAAAAAAAAAAAD9VVXwAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAPXwAAAAAAAP8AAAAAAAD18AAAAAAAP/wAAAAAAA9fAAAAAAAPVfAAAAAAAPXwAAAAAAPVV8AAAAAAD3wAAAAAAD1VfAAAAAAA98AAAAAAD1VXwAAAAAAD/AAAAAAA9VV8AAAAAAA/wAAAAAAPVVXwAAAAAAP8AAAAAAD1VV8AAAAAAD/AAAAAAA9VVfAAAAAAA/wAAAAAAPVVXwAAAAAAP8AAAAAAD1VV8AAAAAAD/AAAAAAA9VVfAAAAAAA/wAAAAAAPVVXwAAAAAAP8AAAAAAD1VV8AAAAAAD/AAAAAAA9VVfAAAAAAA/wAAAAAAPVVXwAAAAAAP8AAAAAAD1VV8AAAAAAD/AAAAAAA9VVfAAAAAAA/wAAAAAAPVVXwAAAAAAP8AAAAAAD1VV8AAAAAAD/AAAAAAA9VVfAAAAAAA/wAAAAAAPVVXwAAAAAAP8AAAAAAD1VV8AAAAAAD/AAAAAAA9VVfAAAAAAA/wAAAAAAPVVXwAAAAAAP8AAAAAAD1VXwAAAAAAD3wAAAAAAPVV8AAAAAAD18AAAAAAD1VfAAAAAAA9fAAAAAAAPVXwAAAAAAPXwAAAAAAA9XwAAAAAAD18AAAAAAAD/wAAAAAAA9XwAAAAAAAPwAAAAAAAPV8AAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAA/VVVV8AAAAAAAAAAAAA/VVVVX8AAAAAAAAAAAD9VVVVVf8AAAAAAAAAAP9VVVVVVf/AAAAAAAAD/1VVVVVVVf//////////VVVVVVVVVX////////1VVVVU="},
{"width" : "59", "buffer":"VVVVVf////////1VVVVVVVVV//////////9VVVVVVVV/8AAAAAAAAD/VVVVVVV/wAAAAAAAAAA/1VVVVVfwAAAAAAAAAAAP1VVVVXwAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAA/AAAAAAAA9XwAAAAAAAP/AAAAAAAD1fAAAAAAAD1fAAAAAAAPV8AAAAAAA9VfAAAAAAAPXwAAAAAAPVVfAAAAAAA9fAAAAAAA9VV8AAAAAAD18AAAAAAD1VXwAAAAAAPfAAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAD1VfAAAAAAAPfAAAAAAAPVXwAAAAAAA98AAAAAAAP/8AAAAAAAD3wAAAAAAAP/AAAAAAAAPfAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVV8AAAAAAAPAAAAAAAA9VV/AAAAAAD/AAAAAAAD1VV/wAAAAD9fAAAAAAAPVVVf/wAD//V8AAAAAAA9VVVX/////VXwAAAAAAD1VVVVX//VVVfAAAAAAAPVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVXwAAAAAAD1VVVVVVVVVVfAAAAAAAPVVVVVVVVVVV8AAAAAAA9////////VVXwAAAAAAD/////////VVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD/AAAAAAAPVVfAAAAAAAP8AAAAAAA9VV8AAAAAAA/wAAAAAAD1VXwAAAAAAD3wAAAAAAPVVfAAAAAAAPfAAAAAAA9VV8AAAAAAD18AAAAAAD1VXwAAAAAAPXwAAAAAAPVVfAAAAAAA9fAAAAAAAPVXwAAAAAAD18AAAAAAAPV8AAAAAAA9V8AAAAAAAP/AAAAAAAD1XwAAAAAAAPwAAAAAAAPVXwAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAPVVVVX8AAAAAAAAAAAAP1VVVVX8AAAAAAAAAAAD9VVVVVV/AAAAAAAAAAD9VVVVVVV/8AAAAAAAAP/VVVVVVVVf//////////VVVVVVVVVV////////9VVVVVQ"},
{"width" : "18", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV////////////8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP//////f/////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV////////////8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP//////f/////"}
]
}

View File

@ -0,0 +1,17 @@
{
"name":"Nunito",
"size":"80",
"characters":[
{"width" : "62", "buffer":"VVVVVVV//////9VVVVVVVVVVVVX////////1VVVVVVVVVVX/wAAAAAA/9VVVVVVVVVV/AAAAAAAAD/VVVVVVVVV/AAAAAAAAAA/VVVVVVVVfwAAAAAAAAAAP1VVVVVVXwAAAAAAAAAAAP1VVVVVV8AAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAPVVXwAAAAAAA/8AAAAAAAPVV8AAAAAAA//8AAAAAAA9VXwAAAAAAP1V8AAAAAAD1VfAAAAAAD1VV8AAAAAAD1XwAAAAAA9VVV8AAAAAAPVfAAAAAAD1VVV8AAAAAA9V8AAAAAA9VVVXwAAAAAD1XwAAAAAD1VVVfAAAAAAD18AAAAAAPVVVVfAAAAAAPXwAAAAAD1VVVV8AAAAAA9fAAAAAAPVVVVXwAAAAAD18AAAAAA9VVVVfAAAAAAPXwAAAAAD1VVVV8AAAAAAPfAAAAAAPVVVVXwAAAAAA98AAAAAA9VVVVXwAAAAAD/AAAAAAD1VVVVfAAAAAAP8AAAAAAPVVVVV8AAAAAA/wAAAAAA9VVVVXwAAAAAD/AAAAAAD1VVVVfAAAAAAP8AAAAAA9VVVVV8AAAAAA/wAAAAAD1VVVVXwAAAAAD/AAAAAAPVVVVVfAAAAAAP8AAAAAA9VVVVV8AAAAAA/wAAAAAD1VVVVXwAAAAAD/AAAAAAPVVVVVfAAAAAAP8AAAAAA9VVVVV8AAAAAA/wAAAAAA9VVVVXwAAAAAD/AAAAAAD1VVVVfAAAAAAP8AAAAAAPVVVVV8AAAAAA/wAAAAAA9VVVVXwAAAAAD3wAAAAAD1VVVVfAAAAAAPfAAAAAAPVVVVXwAAAAAA98AAAAAA9VVVVfAAAAAAD3wAAAAAD1VVVV8AAAAAA9fAAAAAAPVVVVXwAAAAAD18AAAAAA9VVVVfAAAAAAPXwAAAAAA9VVVV8AAAAAA9XwAAAAAD1VVVfAAAAAAD1fAAAAAAPVVVV8AAAAAA9V8AAAAAAPVVVXwAAAAAD1XwAAAAAA9VVV8AAAAAAPVXwAAAAAA9VVXwAAAAAA9VfAAAAAAA9VV8AAAAAAPVV8AAAAAAA9V/AAAAAAA9VV8AAAAAAA//wAAAAAAD1VXwAAAAAAA/wAAAAAAA9VVXwAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAAPVVVVVVfwAAAAAAAAAAAD1VVVVVVfwAAAAAAAAAAD9VVVVVVVXwAAAAAAAAAA/VVVVVVVVX8AAAAAAAAA/VVVVVVVVVX/AAAAAAAA/1VVVVVVVVVV/8AAAAAD/1VVVVVVVVVVVf///////1VVVVVVVVVVVVV//////VVVVVVVQ=="},
{"width" : "61", "buffer":"VVVVVVVVf////VVVVVVVVVVVVVVV/////9VVVVVVVVVVVVVX/AAAAD1VVVVVVVVVVVVf8AAAAAPVVVVVVVVVVVVfwAAAAAA9VVVVVVVVVVV/AAAAAAAPVVVVVVVVVVX/AAAAAAAA9VVVVVVVVVX8AAAAAAAAPVVVVVVVVVfwAAAAAAAAD1VVVVVVVVfwAAAAAAAAA9VVVVVVVV/AAAAAAAAAAPVVVVVVVV/AAAAAAAAAAD1VVVVVVX8AAAAAAAAAAA9VVVVVVX8AAAAAAAAAAAPVVVVVVXwAAAAAAAAAAAD1VVVVVXwAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAAPVVVVVV8AAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAA9VVVVVfAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAD1VVVVV8AAAAAAAAAAAAA9VVVVVfAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAAPVVVVVVfAAAAPAAAAAAAD1VVVVVXwAAA/8AAAAAAA9VVVVVVfAAD/XwAAAAAAPVVVVVVV///9V8AAAAAAD1VVVVVVX//1VfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVX///wAAAAAAA///9VVVV////wAAAAAAAD////VVX/wAAAAAAAAAAAAAAP9VX8AAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA/VVf/////////////////VVV////////////////9VVVVVVVVVVVVVVVVVVVVVU="},
{"width" : "61", "buffer":"VVVVV////////1VVVVVVVVVVf/////////9VVVVVVVVX/8AAAAAAAA/9VVVVVVVf/AAAAAAAAAAP9VVVVVV/wAAAAAAAAAAAP1VVVVV/AAAAAAAAAAAAAP1VVVV8AAAAAAAAAAAAAA/VVVV8AAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAPVV8AAAAAD/8AAAAAAAAD1VXwAAAD////AAAAAAAAPVVfAAA//1Vf8AAAAAAAD1VV/wP/1VVVXwAAAAAAA9VVX//9VVVVVfAAAAAAAPVVVV/VVVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVV8AAAAAAA9VVVVVVVVVVV8AAAAAAA9VVVVVVVVVVV8AAAAAAAPVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVV8AAAAAAAD1VVVVVVVVVV8AAAAAAAA9VVVVVVVVVV8AAAAAAAA9VVVVVVVVVV8AAAAAAAA9VVVVVVVVVV8AAAAAAAA9VVVVVVVVVV8AAAAAAAAPVVVVVVVVVV8AAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAAA//////1VVVXwAAAAAAAAD//////9VVXwAAAAAAAAAAAAAAA/9VXwAAAAAAAAAAAAAAAAP1V8AAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAA9VV/AAAAAAAAAAAAAAAD9VVX////////////////9VVVX///////////////1VVVVVVVVVVVVVVVVVVVVVU="},
{"width" : "60", "buffer":"VVVVVf///////9VVVVVVVVVV//////////9VVVVVVVVf/wAAAAAAAD/1VVVVVVf/AAAAAAAAAAD/VVVVVX/wAAAAAAAAAAAP9VVVVfwAAAAAAAAAAAAA/VVVV8AAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAPVV8AAAAAD/8AAAAAAAAD1VfAAAA////8AAAAAAAD1VXwAA//9VX/AAAAAAAD1VV////VVVVXwAAAAAAD1VVf//VVVVVV8AAAAAAD1VVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVX8AAAAAAPVVVVVVVVVVV/wAAAAAA9VVVVVVVX///8AAAAAAA9VVVVVVX////AAAAAAAD1VVVVVVf8AAAAAAAAAAD1VVVVVV8AAAAAAAAAAAPVVVVVVXwAAAAAAAAAAD9VVVVVVXwAAAAAAAAAAP1VVVVVVfAAAAAAAAAAA9VVVVVVVfAAAAAAAAAAD1VVVVVVVfAAAAAAAAAAD1VVVVVVVfAAAAAAAAAAA/VVVVVVVfAAAAAAAAAAAP1VVVVVVfAAAAAAAAAAAA/VVVVVVfAAAAAAAAAAAAP1VVVVVXwAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAAPVVVVVV8AAAAAAAAAAAAPVVVVVVfwAAAAAAAAAAAD1VVVVVX////8AAAAAAAD1VVVVVVf////8AAAAAAA9VVVVVVVVVVX/AAAAAAA9VVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVX/1VVVVVVV8AAAAAAPVX///1VVVVVXwAAAAAAPVf8AP/1VVVV/AAAAAAAPV8AAAP//9f/8AAAAAAAPXwAAAAP////AAAAAAAAPXwAAAAAADwAAAAAAAAAPfAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAD9VVVfAAAAAAAAAAAAAA/1VVVX/AAAAAAAAAAAAP9VVVVV//AAAAAAAAAAD/VVVVVVV//wAAAAAAAP/1VVVVVVVV//////////9VVVVVVVVVVf///////1VVVVVV"},
{"width" : "65", "buffer":"VVVVVVVVVVVVf///1VVVVVVVVVVVVVVVVf////9VVVVVVVVVVVVVVVX8AAAD9VVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVXwAAAAAAAD1VVVVVVVVVVV8AAAAAAAAPVVVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAAPVVVVVVVVVVV8AAAAAAAAA9VVVVVVVVVVfAAAAAAAAAD1VVVVVVVVVXwAAAAAAAAAPVVVVVVVVVV8AAAAAAAAAA9VVVVVVVVVXwAAAAAAAAAD1VVVVVVVVV8AAAAAAAAAAPVVVVVVVVVfAAAAAAAAAAA9VVVVVVVVV8AAAAAAAAAAD1VVVVVVVVfAAAAAAAAAAAPVVVVVVVVXwAAAAAAAAAAA9VVVVVVVVfAAAAAAAAAAAD1VVVVVVVXwAAAAAAAAAAAPVVVVVVVV8AAAAAAAAAAAA9VVVVVVVXwAAAAAAAAAAAD1VVVVVVV8AAAAAAAAAAAAPVVVVVVVfAAAAAAAAAAAAA9VVVVVVV8AAAAAwAAAAAAD1VVVVVVfAAAAAPwAAAAAAPVVVVVVXwAAAAD3wAAAAAA9VVVVVVfAAAAA9fAAAAAAD1VVVVVXwAAAAD18AAAAAAPVVVVVV8AAAAA9XwAAAAAA9VVVVVfAAAAAPVfAAAAAAD1VVVVV8AAAAA9V8AAAAAAPVVVVVfAAAAAPVXwAAAAAA9VVVVXwAAAAD1VfAAAAAAD1VVVVfAAAAAPVV8AAAAAAPVVVVXwAAAAD1VXwAAAAAA9VVVV8AAAAAPVVfAAAAAAD1VVVXwAAAAD1VV8AAAAAAPVVVV8AAAAA9VVXwAAAAAA9VVVXwAAAAD1VVfAAAAAAD1VVV8AAAAAD///wAAAAAAD/1VXwAAAAAD//8AAAAAAAD//VfAAAAAAAAAAAAAAAAAAD/XwAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAAPX8AAAAAAAAAAAAAAAAAAD1X/AAAAAAAAAAAAAAAAAD9VV////////8AAAAAAAD//VVVf///////8AAAAAAA//VVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVVV8AAAAAD1VVVVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVVV/AAAP1VVVVVVVVVVVVVVVV////9VVVVVVVVVVVVVVVVVf//9VVVVVQ=="},
{"width" : "60", "buffer":"VVVX///////////1VVVVVV///////////////VVVVX/8AAAAAAAAAAAP/9VVVfAAAAAAAAAAAAAAA/VVV8AAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA/VVfAAAAAAAAAAAAAAP/1VVfAAAAAAA/////////VVVfAAAAAAD///////1VVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVfAAAAAAPV/////VVVVVVfAAAAAAD///////VVVVVfAAAAAAA/AAAAA/9VVVVfAAAAAAAAAAAAAA/1VVVfAAAAAAAAAAAAAAD9VVVfAAAAAAAAAAAAAAAP1VVfAAAAAAAAAAAAAAAD9VVfAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAA9XwAAAAAA//wAAAAAAAA9XwAAAAA////wAAAAAAA9XwAAAAP/VVf8AAAAAAA9V/AAAP/VVVVfAAAAAAAPVf////1VVVVXwAAAAAAPVV///1VVVVVV8AAAAAAPVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVV8AAAAAAPVVX1VVVVVVVV8AAAAAAPVX//1VVVVVVXwAAAAAAPV/8P/1VVVVVfAAAAAAA9X8AAP/9VVVX8AAAAAAA9fAAAAP//9//wAAAAAAA9fAAAAAD///8AAAAAAAA98AAAAAAADAAAAAAAAAD18AAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAP1VVXwAAAAAAAAAAAAAA/VVVV/AAAAAAAAAAAAAP1VVVVf/AAAAAAAAAAAD/VVVVVV//AAAAAAAAAA/1VVVVVVV//wAAAAAAD/9VVVVVVVVV//////////VVVVVVVVVVVf//////9VVVVVVV"},
{"width" : "62", "buffer":"VVVVVVVVX///////1VVVVVVVVVVVf/////////VVVVVVVVVV//AAAAAAAD/9VVVVVVVV/8AAAAAAAAAP/VVVVVVVfwAAAAAAAAAAA/VVVVVVfwAAAAAAAAAAAAPVVVVVX8AAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAA9VV8AAAAAAAAD//AAAAAPVVfAAAAAAAAP////AAAA9VV8AAAAAAAP/VVf//AA/VVXwAAAAAAD9VVVVf///1VV8AAAAAAA9VVVVVVf/1VVXwAAAAAAPVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVV8AAAAAA9VVVX/VVVVVVVfAAAAAAPVVX////1VVVVV8AAAAAA9VX//AP/9VVVVXwAAAAAD1X/AAAAD/VVVVfAAAAAAPX/AAAAAA/VVVV8AAAAAD1/AAAAAAAP1VVXwAAAAAPfAAAAAAAAP1VV8AAAAAAPwAAAAAAAAD1VXwAAAAAAMAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAPXwAAAAAAAAA/AAAAAAAA9fAAAAAAAAA//wAAAAAAA98AAAAAAAA/1fwAAAAAAD3wAAAAAAAP1VXwAAAAAAPfAAAAAAAD1VVXwAAAAAA9fAAAAAAAPVVVXwAAAAAD18AAAAAAD1VVVXwAAAAAD3wAAAAAAPVVVVfAAAAAAPfAAAAAAA9VVVV8AAAAAA98AAAAAAD1VVVXwAAAAAD3wAAAAAAPVVVVfAAAAAAPXwAAAAAA9VVVV8AAAAAA9fAAAAAAD1VVVXwAAAAAPV8AAAAAAPVVVVfAAAAAA9XwAAAAAA9VVVV8AAAAAD1XwAAAAAA9VVVfAAAAAAPVfAAAAAAD1VVXwAAAAAA9V8AAAAAAD1VV8AAAAAAD1V8AAAAAAD9V/AAAAAAA9VXwAAAAAAD//wAAAAAAD1VXwAAAAAAA/wAAAAAAAPVVfAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAAPVVVVVVX8AAAAAAAAAAAD1VVVVVVX8AAAAAAAAAAD9VVVVVVVV/AAAAAAAAAD/VVVVVVVVV/8AAAAAAAD/VVVVVVVVVVf/wAAAAAD/VVVVVVVVVVVV////////VVVVVVVVVVVVVX//////VVVVVVQ=="},
{"width" : "63", "buffer":"VVV//////////////1VVVVX/////////////////VVV//AAAAAAAAAAAAAAP/9VX8AAAAAAAAAAAAAAAAA/VXwAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAA9X8AAAAAAAAAAAAAAAAAA9Vf/wAAAAAAAAAAAAAAAD1VX/////////wAAAAAAAD1VVVf///////8AAAAAAAPVVVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVfAAAAAAAPVVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVVfwAAA/1VVVVVVVVVVVVVVX/////VVVVVVVVVVVVVVVVf///VVVVVVVVVVVVV"},
{"width" : "64", "buffer":"VVVVVVX///////9VVVVVVVVVVVV//////////VVVVVVVVVVX/wAAAAAAAP/1VVVVVVVVf8AAAAAAAAAD/1VVVVVVV/wAAAAAAAAAAA/VVVVVVV/AAAAAAAAAAAAA/VVVVVV8AAAAAAAAAAAAAD9VVVVV8AAAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAD1VfAAAAAAAD//wAAAAAAA9VXwAAAAAAD///wAAAAAAPVV8AAAAAAD1VV/AAAAAAA9VfAAAAAAD1VVV8AAAAAAPVXwAAAAAD1VVVfAAAAAAD1V8AAAAAD1VVVV8AAAAAA9VfAAAAAA9VVVVfAAAAAAPVXwAAAAAPVVVVXwAAAAAD1V8AAAAAD1VVVV8AAAAAD1VfAAAAAA9VVVVfAAAAAA9VXwAAAAAPVVVVXwAAAAAPVVfAAAAAA9VVVXwAAAAAD1VXwAAAAAD1VVXwAAAAAA9VV8AAAAAAPVVXwAAAAAA9VVXwAAAAAA///wAAAAAAPVVV8AAAAAAD//wAAAAAAPVVVXwAAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAAAD1VVVVV8AAAAAAAAAAAAAD1VVVVVXwAAAAAAAAAAAAD1VVVVVVfAAAAAAAAAAAAA9VVVVVVfAAAAAAAAAAAAAD1VVVVV/AAAAAAAAAAAAAAPVVVVV/AAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAA9VXwAAAAAAD///AAAAAAAD1XwAAAAAAP////AAAAAAA9V8AAAAAAP1VVX8AAAAAAD18AAAAAAPVVVVXwAAAAAA9fAAAAAAPVVVVVfAAAAAAPXwAAAAAPVVVVVV8AAAAAD18AAAAAD1VVVVVfAAAAAAPfAAAAAA9VVVVVV8AAAAAD3wAAAAAPVVVVVVfAAAAAA/wAAAAAD1VVVVVfAAAAAAP8AAAAAA9VVVVVXwAAAAAD/AAAAAAPVVVVVV8AAAAAA98AAAAAA9VVVVV8AAAAAAPfAAAAAAD1VVVV8AAAAAAD3wAAAAAAP9VVX8AAAAAAD18AAAAAAA////8AAAAAAA9fAAAAAAAAP//wAAAAAAAPV8AAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAAP1VVVV/AAAAAAAAAAAAAAP1VVVVX8AAAAAAAAAAAAA/VVVVVVX8AAAAAAAAAAAD/VVVVVVVf/AAAAAAAAAA/9VVVVVVVVf/8AAAAAAAP/1VVVVVVVVVX/////////9VVVVVVVVVVVVf///////VVVVVVU="},
{"width" : "61", "buffer":"VVVVVV///////VVVVVVVVVVVVX////////1VVVVVVVVVVf8AAAAAAD/1VVVVVVVVV/wAAAAAAAA/1VVVVVVVX/AAAAAAAAAA/VVVVVVVX8AAAAAAAAAAA9VVVVVVXwAAAAAAAAAAAD9VVVVVXwAAAAAAAAAAAAP1VVVVXwAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAA9VV8AAAAAAA//AAAAAAAD1V8AAAAAAA//8AAAAAAA9VfAAAAAAA9VXwAAAAAAD1XwAAAAAA9VVfAAAAAAA9XwAAAAAA9VVV8AAAAAAD18AAAAAA9VVVXwAAAAAA9fAAAAAAPVVVV8AAAAAAPXwAAAAAPVVVVXwAAAAAD18AAAAAD1VVVV8AAAAAAPfAAAAAA9VVVVfAAAAAAD3wAAAAAPVVVVXwAAAAAA98AAAAAD1VVVV8AAAAAAPfAAAAAA9VVVVfAAAAAAA/wAAAAAD1VVVfAAAAAAAP8AAAAAA9VVVXwAAAAAAD/AAAAAAD1VVV8AAAAAAA/wAAAAAA9VVV8AAAAAAAP8AAAAAAD9VV8AAAAAAAD/AAAAAAAP/f8AAAAAAAA98AAAAAAAP/8AAAAAAAAPfAAAAAAAADAAAAAAAAAD3wAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAMAAAAAAD1VXwAAAAAAAAPwAAAAAA9VVfAAAAAAAAPfAAAAAAPVVV/AAAAAAA/XwAAAAAD1VVX/AAAAAD/V8AAAAAA9VVVX/wAAAP9VfAAAAAA9VVVVX/////1VfAAAAAAPVVVVVV////VVXwAAAAAD1VVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVV8AAAAAAPVVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVVfAAAAAAA9VVf//VVVVVV/AAAAAAA9VV////1VVVX/AAAAAAAPVV/AAD//9f/8AAAAAAAPVV8AAAA////wAAAAAAAD1VfAAAAAAPAAAAAAAAAD1VfAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAP1VVV8AAAAAAAAAAAAAAP1VVVfAAAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAA/VVVVVXwAAAAAAAAAAAA/VVVVVVf8AAAAAAAAAAP9VVVVVVV/8AAAAAAAAA/9VVVVVVVVf/wAAAAAA//VVVVVVVVVVf////////9VVVVVVVVVVVV//////9VVVVVVVVU="},
{"width" : "25", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX//1VVVVf///9VVV/wAA/1VV/AAAAPVV8AAAAA9V8AAAAAD1fAAAAAA9fAAAAAAD3wAAAAAA/wAAAAAAP8AAAAAAD/AAAAAAA/wAAAAAAP8AAAAAAD/AAAAAAA/wAAAAAAPfAAAAAAD3wAAAAAA98AAAAAA9XwAAAAAPVfAAAAAPVV8AAAAPVVX/AAA/VVVf////VVVVX//9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf//VVVVX////1VVX/AAD/VVXwAAAA9VXwAAAAD1XwAAAAAPXwAAAAAD18AAAAAAPfAAAAAAD/AAAAAAA/wAAAAAAP8AAAAAAD/AAAAAAA/wAAAAAAP8AAAAAAD/AAAAAAA98AAAAAAPfAAAAAAD18AAAAAD1fAAAAAA9V8AAAAA9VXwAAAA9VVf8AAP9VVV////9VVVVf//VVU="}
]
}

View File

@ -0,0 +1,17 @@
{
"name":"OpenSansEC",
"size":"100",
"characters":[
{"width" : "55", "buffer":"VVVVVV//////1VVVVVVVVVVf///////1VVVVVVVVVf8AAAAAA/1VVVVVVVV/AAAAAAAA/VVVVVVVV/AAAAAAAAA9VVVVVVV8AAAAAAAAAD1VVVVVV8AAAAAAAAAAPVVVVVV8AAAAAAAAAAA9VVVVVfAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAPVVV8AAAAAA/wAAAAAD1VVfAAAAAA//AAAAAA9VVXwAAAAA9V8AAAAAD1VXwAAAAA9VXwAAAAA9VV8AAAAA9VVfAAAAAPVVfAAAAAPVVV8AAAAA9VfAAAAAPVVVfAAAAAPVXwAAAAD1VVXwAAAAD1V8AAAAD1VVVfAAAAA9VfAAAAA9VVVXwAAAAD1XwAAAAPVVVV8AAAAA9XwAAAAD1VVVfAAAAAPV8AAAAA9VVVXwAAAAD1fAAAAAPVVVVfAAAAA9XwAAAAPVVVVXwAAAAPV8AAAAD1VVVV8AAAAA9fAAAAA9VVVVfAAAAAPfAAAAAPVVVVXwAAAAD3wAAAAD1VVVV8AAAAA98AAAAA9VVVVfAAAAAPfAAAAAPVVVVXwAAAAD3wAAAAD1VVVV8AAAAA98AAAAA9VVVVfAAAAAPfAAAAAPVVVVXwAAAAD3wAAAAD1VVVV8AAAAA98AAAAA9VVVVfAAAAAPfAAAAAPVVVVXwAAAAD3wAAAAD1VVVVfAAAAAP8AAAAA9VVVVXwAAAAD/AAAAAPVVVVV8AAAAA/wAAAAD1VVVVfAAAAAP8AAAAA9VVVVXwAAAAD/AAAAAPVVVVV8AAAAA/wAAAAD1VVVVfAAAAAP8AAAAA9VVVVXwAAAAD/AAAAAPVVVVV8AAAAA/wAAAAD1VVVVfAAAAAP8AAAAA9VVVVXwAAAAD/AAAAAPVVVVV8AAAAA/wAAAAD1VVVVfAAAAAP8AAAAA9VVVVXwAAAAD/AAAAAPVVVVV8AAAAA/wAAAAD1VVVVfAAAAAP8AAAAA9VVVVXwAAAAD/AAAAAPVVVVV8AAAAD3wAAAAD1VVVV8AAAAA98AAAAA9VVVVfAAAAAPfAAAAAPVVVVXwAAAAD3wAAAAD1VVVV8AAAAA98AAAAA9VVVVfAAAAAPfAAAAAPVVVVXwAAAAD3wAAAAD1VVVV8AAAAA98AAAAA9VVVVfAAAAAPfAAAAAPVVVVXwAAAAD3wAAAAD1VVVV8AAAAA9fAAAAA9VVVVfAAAAAPXwAAAAPVVVVXwAAAAD18AAAAD1VVVV8AAAAD1fAAAAAPVVVVfAAAAA9XwAAAAD1VVVXwAAAAPV8AAAAA9VVVXwAAAAD1XwAAAAPVVVV8AAAAA9V8AAAAD1VVVfAAAAAPVfAAAAA9VVVXwAAAAPVXwAAAAD1VVXwAAAAD1V8AAAAA9VVV8AAAAA9VXwAAAAD1VVfAAAAAPVV8AAAAA9VVfAAAAAPVVfAAAAAD1VfAAAAAD1VV8AAAAAP1/AAAAAD1VVfAAAAAA//AAAAAA9VVXwAAAAAA8AAAAAAPVVVfAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAA9VVVVfAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAPVVVVVfAAAAAAAAAAAPVVVVVV8AAAAAAAAAAPVVVVVVXwAAAAAAAAAPVVVVVVVfwAAAAAAAA/VVVVVVVV/wAAAAAAD/VVVVVVVVV/wAAAAAP9VVVVVVVVVV///////1VVVVVVVVVVV//////VVVVVVQ=="},
{"width" : "44", "buffer":"VVVVVVVVV/////9VVVVVVVV//////1VVVVVVVfwAAAAPVVVVVVVXwAAAAA9VVVVVVV8AAAAAD1VVVVVVfAAAAAAPVVVVVVXwAAAAAA9VVVVVV8AAAAAAD1VVVVVfAAAAAAAPVVVVVXwAAAAAAA9VVVVV8AAAAAAAD1VVVV/AAAAAAAAPVVVVfwAAAAAAAA9VVVXwAAAAAAAAD1VVV8AAAAAAAAAPVVVfAAAAAAAAAA9VVXwAAAAAAAAAD1VV8AAAAAAAAAAPVVfAAAAAAAAAAA9VXwAAAAAAAAAAD1V8AAAAAAAAAAAPVfAAAAAAAAAAAA9XwAAAAADAAAAAD18AAAAAA/AAAAAPfAAAAAAPfAAAAA/wAAAAAD18AAAAD3wAAAAA9XwAAAAPXwAAAAPVfAAAAA9XwAAAD1V8AAAAD1XwAAA9VXwAAAAPVXwAAPVVfAAAAA9VXwAD1VV8AAAAD1VfAA9VVfAAAAAPVVfAD1VV8AAAAA9VVfA9VVXwAAAAD1VVf/VVVfAAAAAPVVVf1VVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVXwAAAAD1VVVVVVVfAAAAAPVVVVVVVV8AAAAA9VVVVVVVX//////1VVVVVVVf//////VVVVVVVVVVVVVVU="},
{"width" : "55", "buffer":"VVVVVX//////1VVVVVVVVVV////////9VVVVVVVVX/wAAAAAA/9VVVVVVVX8AAAAAAAAP1VVVVVVfwAAAAAAAAAPVVVVVVfwAAAAAAAAAA9VVVVVfAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAPVVVV/AAAAAAAAAAAAA9VVV/AAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAA9VfAAAAAA//8AAAAAAPVV8AAAAD///wAAAAAA9VXwAAAD9VVfAAAAAAPVVfAAAP1VVV8AAAAAD1VV8AAP1VVVXwAAAAA9VVXwAPVVVVVfAAAAAPVVVfAPVVVVVXwAAAAD1VVV8PVVVVVV8AAAAAPVVVX/VVVVVVXwAAAAD1VVVfVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAA9VVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVVfAAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAAD1VVVVVVVVVV8AAAAAD1VVVVVVVVVVfAAAAAA9VVVVVVVVVVfAAAAAA9VVVVVVVVVVfAAAAAA9VVVVVVVVVVXwAAAAAPVVVVVVVVVVXwAAAAAPVVVVVVVVVVXwAAAAAPVVVVVVVVVVV8AAAAAD1VVVVVVVVVV8AAAAAD1VVVVVVVVVV8AAAAAD1VVVVVVVVVV8AAAAAD1VVVVVVVVVVfAAAAAA9VVVVVVVVVVfAAAAAA9VVVVVVVVVVfAAAAAA9VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAAPVVVVVVVVVVXwAAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAAD1VVVVVVVVVV8AAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAA9VVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAAA//////////9fAAAAAAD//////////fAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAD3/////////////////9//////////////////VVVVVVVVVVVVVVVVVVQ=="},
{"width" : "55", "buffer":"VVVVV///////1VVVVVVVVVf////////9VVVVVVVX/8AAAAAAA/9VVVVVVX/AAAAAAAAAP1VVVVVfwAAAAAAAAAAP1VVVVfwAAAAAAAAAAA/VVVV/AAAAAAAAAAAAA9VVV/AAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAA9VXwAAAAA/wAAAAAAAPVVfAAAA///8AAAAAAD1VV8AAD/9V/wAAAAAAPVVfAAP9VVVfAAAAAAD1VV8AP1VVVV8AAAAAA9VVXw/VVVVVXwAAAAAPVVV8/VVVVVVfAAAAAD1VVX9VVVVVVXwAAAAA9VVVdVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAD1VVVVVVVVVVVfAAAAA9VVVVVVVVVVVXwAAAAPVVVVVVVVVVVXwAAAAPVVVVVVVVVVVV8AAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVX8AAAAAPVVVVVVVVVV/8AAAAAPVVVVVVX////wAAAAAP1VVVVVV///8AAAAAAPVVVVVVVfAAAAAAAAA/VVVVVVVXwAAAAAAAA/VVVVVVVV8AAAAAAAD9VVVVVVVVfAAAAAAAD9VVVVVVVVXwAAAAAAD1VVVVVVVVV8AAAAAAAP9VVVVVVVVfAAAAAAAA//VVVVVVVXwAAAAAAAAP9VVVVVVV8AAAAAAAAAD9VVVVVVfAAAAAAAAAAP1VVVVVXwAAAAAAAAAAPVVVVVV//8AAAAAAAAA9VVVVVf////AAAAAAAD1VVVVVVVf//wAAAAAA9VVVVVVVVVX/AAAAAAD1VVVVVVVVVV/AAAAAAPVVVVVVVVVVX8AAAAAD1VVVVVVVVVVXwAAAAAPVVVVVVVVVVVfAAAAAD1VVVVVVVVVVXwAAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAA9VVVVVVVVVVV8AAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVXwAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAD1VVVVVVVVVVXwAAAAA9VVVVVVVVVVV8AAAAAPdVVVVVVVVVV8AAAAAPf9VVVVVVVVV8AAAAAD3/9VVVVVVVV8AAAAAA98P/VVVVVVV8AAAAAAPfAP/VVVVVX8AAAAAAPXwAD//VVV/8AAAAAAD18AAD/////wAAAAAAD1fAAAAD//8AAAAAAAA9XwAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAP1VV8AAAAAAAAAAAAAP1VVfAAAAAAAAAAAAA/VVVX/AAAAAAAAAAAA/VVVVf/AAAAAAAAAAP9VVVVVX/8AAAAAAAD/9VVVVVVX//////////VVVVVVVVVf///////1VVVVVVQ=="},
{"width" : "60", "buffer":"VVVVVVVVVX//////9VVVVVVVVVVVVX//////9VVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVVfAAAAAAA9VVVVVVVVVVV8AAAAAAA9VVVVVVVVVVV8AAAAAAA9VVVVVVVVVVV8AAAAAAA9VVVVVVVVVVXwAAAAAAA9VVVVVVVVVVXwAAAAAAA9VVVVVVVVVVfAAAAAAAA9VVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAA9VVVVVVVVVV8AAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVfAAAAAAAAA9VVVVVVVVVfAAAAAAAAA9VVVVVVVVV8AAAAAAAAA9VVVVVVVVV8AAAAAAAAA9VVVVVVVVXwAAAAAAAAA9VVVVVVVVXwAAAAAAAAA9VVVVVVVVfAAAAAAAAAA9VVVVVVVVfAAAAAAAAAA9VVVVVVVVfAAAAMAAAAA9VVVVVVVV8AAAA/AAAAA9VVVVVVVV8AAAD3wAAAA9VVVVVVVXwAAAD3wAAAA9VVVVVVVXwAAAD3wAAAA9VVVVVVVfAAAAPXwAAAA9VVVVVVVfAAAAPXwAAAA9VVVVVVV8AAAA9XwAAAA9VVVVVVV8AAAA9XwAAAA9VVVVVVXwAAAD1XwAAAA9VVVVVVXwAAAD1XwAAAA9VVVVVVfAAAAD1XwAAAA9VVVVVVfAAAAPVXwAAAA9VVVVVV8AAAAPVXwAAAA9VVVVVV8AAAA9VXwAAAA9VVVVVXwAAAA9VXwAAAA9VVVVVXwAAAD1VXwAAAA9VVVVVfAAAAD1VXwAAAA9VVVVVfAAAAPVVXwAAAA9VVVVVfAAAAPVVXwAAAA9VVVVV8AAAA9VVXwAAAA9VVVVV8AAAA9VVXwAAAA9VVVVXwAAAD1VVXwAAAA9VVVVXwAAAD1VVXwAAAA9VVVVfAAAAD1VVXwAAAA9VVVVfAAAAPVVVXwAAAA9VVVV8AAAAPVVVXwAAAA9VVVV8AAAA9VVVXwAAAA9VVVXwAAAA9VVVXwAAAA9VVVXwAAAD1VVVXwAAAA9VVVfAAAAD1VVVXwAAAA9VVVfAAAAPVVVVXwAAAA9VVV8AAAAPVVVVXwAAAA9VVV8AAAAD/////AAAAAP///8AAAAA////8AAAAAD///8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP//////////8AAAAAD//////////////AAAAAP///VVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVX/////9VVVVVVVVVVVVVX/////9VVVVVVVVVVVVVVVVVVVVVVV"},
{"width" : "53", "buffer":"VX//////////////VVVf/////////////9VVV8AAAAAAAAAAAAD1VVXwAAAAAAAAAAAAPVVVfAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAD1VVfAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAA9VVXwAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAA9VVXwAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAA9VVXwAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAPVVV8AAAAA////////9VVXwAAAAP////////1VVfAAAAD1VVVVVVVVVVV8AAAAPVVVVVVVVVVVXwAAAA9VVVVVVVVVVVfAAAAD1VVVVVVVVVVXwAAAAPVVVVVVVVVVVfAAAAA9VVVVVVVVVVV8AAAAD1VVVVVVVVVVXwAAAAPVVVVVVVVVVVfAAAAA9VVVVVVVVVVV8AAAAD1VVVVVVVVVVXwAAAAPVVVVVVVVVVVfAAAAA9VVVVVVVVVVV8AAAAD1VVVVVVVVVVXwAAAAPVVVVVVVVVVVfAAAAD1VVVVVVVVVVV8AAAAPVVVVVVVVVVVXwAAAA9VVVVVVVVVVVfAAAAD1VVVVVVVVVVV8AAAAPVVVVVVVVVVVXwAAAAP////9VVVVVVfAAAAAP/////VVVVVXwAAAAAAAAAA/1VVVVfAAAAAAAAAAAP9VVVV8AAAAAAAAAAAD/VVVXwAAAAAAAAAAAA/VVVfAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAPVVXwAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAPVV/AAAA/wAAAAAAAAPVV/AD////8AAAAAAA9VVf///1X/8AAAAAAA9VVf/VVVVV/AAAAAAD1VVVVVVVVV/AAAAAAPVVVVVVVVVVfAAAAAA9VVVVVVVVVVfAAAAAA9VVVVVVVVVV8AAAAAD1VVVVVVVVVV8AAAAAPVVVVVVVVVVXwAAAAA9VVVVVVVVVVfAAAAAD1VVVVVVVVVVfAAAAAPVVVVVVVVVVV8AAAAA9VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAPVVVVVVVVVVV8AAAAA9VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAPVVVVVVVVVVV8AAAAA9VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAPVVVVVVVVVVV8AAAAA9VVVVVVVVVVXwAAAAD1VVVVVVVVVV8AAAAAPVVVVVVVVVVXwAAAAA9VVVVVVVVVVfAAAAAD3VVVVVVVVVXwAAAAA9/1VVVVVVVVfAAAAAD3/9VVVVVVVXwAAAAAPfD/VVVVVVV8AAAAAA98A/1VVVVVfAAAAAAPXwAP/VVVVfwAAAAAA9fAAD/////8AAAAAAPV8AAAP///8AAAAAAA9XwAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAD1VXwAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAD1VVXwAAAAAAAAAAAD9VVVX8AAAAAAAAAAA/VVVVX/AAAAAAAAAD/VVVVVV//AAAAAAAP/1VVVVVVf/////////VVVVVVVVVf//////9VVVVVVU="},
{"width" : "56", "buffer":"VVVVVVVVVf//////9VVVVVVVVVX////////1VVVVVVVVX/8AAAAAAPVVVVVVVVX/AAAAAAAA9VVVVVVVX/AAAAAAAAD1VVVVVVV/AAAAAAAAAPVVVVVVVfAAAAAAAAAA9VVVVVVXwAAAAAAAAAD1VVVVVV8AAAAAAAAAAPVVVVVVfAAAAAAAAAAA9VVVVVXwAAAAAAAAAAD1VVVVV8AAAAAAAAAAAPVVVVVfAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAD1VVVVfAAAAAAAA///8PVVVVXwAAAAAAD/////9VVVVfAAAAAAD/1VVV/1VVVXwAAAAAD/VVVVVVVVVVfAAAAAA/VVVVVVVVVVXwAAAAAPVVVVVVVVVVVfAAAAAD1VVVVVVVVVVXwAAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVfAAAAA9VVVVVVVVVVVV8AAAAD1VVVVVVVVVVVXwAAAA9VVVVVVVVVVVVfAAAAD1VVVVVVVVVVVXwAAAAPVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVV8AAAAPVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVV8AAAAPVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVfAAAAD1VVVVVVVVVVVV8AAAAPVVV///9VVVVVXwAAAD1VX/////VVVVVfAAAAPVX/wAAA/1VVVV8AAAA9V/AAAAAP9VVVfAAAAD1fAAAAAAD9VVV8AAAAPXwAAAAAAA9VVXwAAAA98AAAAAAAA9VVfAAAAD/AAAAAAAAD1VV8AAAAx8AAAAAAAAD1VXwAAAAzAAAAAAAAAD1VfAAAAAwAAAAAAAAAPVV8AAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAD1XwAAAAAAD//AAAAAAPVfAAAAAAA///AAAAAAPV8AAAAAAPVVfAAAAAA9XwAAAAAD1VVfAAAAAD1fAAAAAA9VVV8AAAAAPV8AAAAAPVVVV8AAAAAPfAAAAAA9VVVXwAAAAA98AAAAAPVVVVXwAAAAD18AAAAA9VVVVfAAAAAPXwAAAAD1VVVV8AAAAA9fAAAAAPVVVVXwAAAAD18AAAAA9VVVVXwAAAAPXwAAAAD1VVVVfAAAAAPfAAAAA9VVVVV8AAAAA98AAAAD1VVVVXwAAAAD3wAAAAPVVVVVfAAAAAPfAAAAA9VVVVV8AAAAA98AAAAD1VVVVXwAAAAD3wAAAAD1VVVVfAAAAAPfAAAAAPVVVVV8AAAAA98AAAAA9VVVVXwAAAAPXwAAAAD1VVVVfAAAAA9fAAAAAPVVVVV8AAAAD1fAAAAA9VVVVfAAAAAPV8AAAAD1VVVV8AAAAA9XwAAAAPVVVVXwAAAAD1fAAAAAPVVVVfAAAAAPV8AAAAA9VVVXwAAAAD1V8AAAAD1VVVfAAAAAPVXwAAAAD1VVV8AAAAA9VfAAAAAPVVVfAAAAAD1V8AAAAAPVVXwAAAAA9VV8AAAAAPVV8AAAAAD1VXwAAAAAP1/AAAAAAPVVXwAAAAAP/wAAAAAD1VVfAAAAAADwAAAAAAPVVV8AAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAD1VVVVfAAAAAAAAAAAA9VVVVVfAAAAAAAAAAAPVVVVVVfAAAAAAAAAAD1VVVVVVfAAAAAAAAAA9VVVVVVVfwAAAAAAAA/VVVVVVVVf8AAAAAAAP1VVVVVVVVX/AAAAAA/1VVVVVVVVVV///////9VVVVVVVVVVVf/////1VVVVVU="},
{"width" : "54", "buffer":"VVVVVVVVVVVVVVVVVV////////////////////////////////////8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAP///////////AAAAAA9///////////wAAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAD1VVVVVVVVVVV8AAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAPVVVVVVVVVVVXwAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAA9VVVVVVVVVVVfAAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAD1VVVVVVVVVVV8AAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAPVVVVVVVVVVVXwAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAD1VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVVfAAAAAPVVVVVVVVVVVfAAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAA9VVVVVVVVVVV8AAAAA9VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVVfAAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVV8AAAAAPVVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAA9VVVVVVVVVVXwAAAAD1VVVVVVVVVVfAAAAAD1VVVVVVVVVVf//////1VVVVVVVVVVf//////VVVVVVVVVVVVVVVVVVVVVVVVVVV"},
{"width" : "56", "buffer":"VVVVVVf/////9VVVVVVVVVVV////////1VVVVVVVVV/8AAAAAA/9VVVVVVVVfwAAAAAAAD9VVVVVVVfwAAAAAAAAA/VVVVVVX8AAAAAAAAAA/VVVVVV8AAAAAAAAAAAPVVVVVfAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAD1VV8AAAAAAP/AAAAAAPVVXwAAAAAP//AAAAAAPVV8AAAAAD9VfAAAAAA9VXwAAAAA9VVfAAAAAD1VfAAAAAPVVVfAAAAAD1V8AAAAA9VVVfAAAAAPVfAAAAAPVVVV8AAAAA9V8AAAAA9VVVXwAAAAD1XwAAAAD1VVVXwAAAAPVfAAAAAPVVVVfAAAAA9V8AAAAA9VVVV8AAAAD1XwAAAAPVVVVXwAAAAPVfAAAAAPVVVVfAAAAA9V8AAAAA9VVVV8AAAAD1XwAAAAD1VVVXwAAAAPVfAAAAAPVVVV8AAAAA9VfAAAAA9VVVXwAAAAD1V8AAAAA9VVVfAAAAAPVXwAAAAD1VVV8AAAAD1VfAAAAAPVVVfAAAAAPVVfAAAAAPVVXwAAAAA9VV8AAAAAPVVfAAAAAPVVXwAAAAAPVXwAAAAA9VVXwAAAAAPV8AAAAAPVVVfAAAAAAPfAAAAAA9VVVfAAAAAAPwAAAAAPVVVVfAAAAAAMAAAAAD1VVVV8AAAAAAAAAAAA9VVVVV8AAAAAAAAAAAP1VVVVV8AAAAAAAAAAD9VVVVVV8AAAAAAAAAA9VVVVVVV8AAAAAAAAAPVVVVVVVV8AAAAAAAAD1VVVVVVVV8AAAAAAAA9VVVVVVVVV8AAAAAAAD1VVVVVVVVfAAAAAAAAD1VVVVVVVXwAAAAAAAAD1VVVVVVV8AAAAAAAAAD1VVVVVVfAAAAAAAAAAD1VVVVVXwAAAAAAAAAAD1VVVVV8AAAAAAAAAAAD1VVVVfAAAAAAAAAAAAD1VVVXwAAAAADAAAAAAD1VVV8AAAAAA/AAAAAAD1VVXwAAAAAPfAAAAAAPVVV8AAAAAD1fAAAAAAPVVXwAAAAA9VfAAAAAAPVV8AAAAAPVVfAAAAAA9VXwAAAAD1VVfAAAAAA9V8AAAAA9VVVfAAAAAD1XwAAAAD1VVVfAAAAAPVfAAAAA9VVVV8AAAAAPXwAAAAD1VVVV8AAAAA9fAAAAAPVVVVXwAAAAD18AAAAD1VVVVXwAAAAPXwAAAAPVVVVVfAAAAAPfAAAAA9VVVVV8AAAAA98AAAAD1VVVVV8AAAAD3wAAAAPVVVVVXwAAAAPfAAAAA9VVVVVfAAAAA/wAAAAD1VVVVV8AAAAD/AAAAAPVVVVVXwAAAAPfAAAAA9VVVVVfAAAAA98AAAAD1VVVVV8AAAAD3wAAAAPVVVVVfAAAAAPfAAAAA9VVVVV8AAAAA98AAAAA9VVVVXwAAAAPXwAAAAD1VVVV8AAAAA9fAAAAAD1VVVXwAAAAD18AAAAAD1VVV8AAAAAPV8AAAAAD1VVfAAAAAD1XwAAAAAD9V/wAAAAAPVfAAAAAAD//8AAAAAA9VfAAAAAAA/wAAAAAAPVV8AAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAD1VVVfwAAAAAAAAAAAA9VVVVfwAAAAAAAAAAAPVVVVVXwAAAAAAAAAAD1VVVVVX8AAAAAAAAAD9VVVVVVX/AAAAAAAAD/VVVVVVVV/8AAAAAAP/VVVVVVVVVf////////VVVVVVVVVVV//////9VVVVVU="},
{"width" : "56", "buffer":"VVVVVVf/////VVVVVVVVVVVV///////9VVVVVVVVVV/8AAAAAP/VVVVVVVVVfwAAAAAAA/VVVVVVVVXwAAAAAAAAPVVVVVVVX8AAAAAAAAAPVVVVVVV/AAAAAAAAAAPVVVVVVXwAAAAAAAAAAPVVVVVV8AAAAAAAAAAAPVVVVVfAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAD1VVXwAAAAAAMAAAAAAD1VVfAAAAAAP/AAAAAAPVVXwAAAAAD9/AAAAAA9VVfAAAAAA9VfAAAAAA9VXwAAAAAPVVfAAAAAD1VfAAAAAD1VVfAAAAAPVV8AAAAA9VVVfAAAAAPVXwAAAAD1VVV8AAAAA9V8AAAAA9VVVV8AAAAD1XwAAAAD1VVVXwAAAAPVfAAAAAPVVVVfAAAAAPV8AAAAA9VVVVfAAAAA9XwAAAAPVVVVV8AAAAD1fAAAAA9VVVVXwAAAAPXwAAAAD1VVVVfAAAAA9fAAAAAPVVVVV8AAAAA98AAAAA9VVVVV8AAAAD3wAAAAD1VVVVXwAAAAPfAAAAAPVVVVVfAAAAA98AAAAA9VVVVV8AAAAD3wAAAAD1VVVVXwAAAAPfAAAAAPVVVVVfAAAAA98AAAAA9VVVVV8AAAAD3wAAAAD1VVVVXwAAAAD/AAAAAPVVVVVfAAAAAPfAAAAA9VVVVXwAAAAA98AAAAA9VVVVfAAAAAD3wAAAAD1VVVV8AAAAAPfAAAAAPVVVVfAAAAAA98AAAAA9VVVV8AAAAAD3wAAAAA9VVVfAAAAAAPfAAAAAD1VVXwAAAAAA9fAAAAAD1VVfAAAAAAD18AAAAAD1VXwAAAAAAPXwAAAAAD9f8AAAAAAA9XwAAAAAD//AAAAAAAD1fAAAAAAA8AAAAAAAAPV8AAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAD1VfAAAAAAAAADAAAAAPVVfAAAAAAAAA/AAAAA9VV8AAAAAAAAPfAAAAD1VV8AAAAAAAA98AAAAPVVV8AAAAAAAPXwAAAA9VVV/AAAAAAD1fAAAAD1VVV/wAAAAD9V8AAAA9VVVVf/AAAP/VfAAAAD1VVVVX/////VV8AAAAPVVVVVVf//9VVXwAAAA9VVVVVVVVVVVVfAAAAD1VVVVVVVVVVVV8AAAA9VVVVVVVVVVVVfAAAAD1VVVVVVVVVVVV8AAAAPVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVV8AAAAD1VVVVVVVVVVVXwAAAA9VVVVVVVVVVVVfAAAAD1VVVVVVVVVVVXwAAAAPVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVXwAAAAPVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVV/AAAAAD1VVVVVVVVVVfwAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVX8AAAAAA9VVVVf9VVVf/AAAAAAD1VVVV//////AAAAAAA9VVVVXw///8AAAAAAAD1VVVVfAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAPVVVVVXwAAAAAAAAAAD1VVVVVfAAAAAAAAAAAPVVVVVV8AAAAAAAAAAD1VVVVVXwAAAAAAAAAA9VVVVVVfAAAAAAAAAA/VVVVVVV8AAAAAAAAAP1VVVVVVXwAAAAAAAAP1VVVVVVVfAAAAAAAAD9VVVVVVVV8AAAAAAAP9VVVVVVVVXwAAAAAA//VVVVVVVVVf///////9VVVVVVVVVV///////1VVVVVVVVU="},
{"width" : "23", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf//1VVV////9VVf8AAD/VXwAAAA/V8AAAAA9XwAAAAA98AAAAAD3wAAAAAPfAAAAAA98AAAAAD/AAAAAAP8AAAAAA/wAAAAAD/AAAAAAPfAAAAAA98AAAAAD3wAAAAAPfAAAAAA9fAAAAAD1fAAAAA9V/AAAA/VVf8AD/1VVf///1VVVV//VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf///VVVf////1VX8AAAP1V8AAAAD1fAAAAAD3wAAAAAPfAAAAAA98AAAAAD3wAAAAAP8AAAAAA/wAAAAAD/AAAAAAP8AAAAAA/wAAAAAD3wAAAAAPfAAAAAA98AAAAAD3wAAAAAPXwAAAAA9XwAAAAPVX/////1VX////9U="}
]
}

View File

@ -0,0 +1,17 @@
{
"name":"Phosphate",
"size":"88",
"characters":[
{"width" : "70", "buffer":"VVVVVVVf///////9VVVVVVVVVVVVVX//////////VVVVVVVVVVVVf/AAAAAAAAP/VVVVVVVVVVVfwAAAAAAAAAD9VVVVVVVVVV/AAAAAAAAAAAD9VVVVVVVVV/AAAAAAAAAAAAP1VVVVVVVV8AAAAAAAAAAAAAPVVVVVVVV8AAAAAAAAAAAAAA9VVVVVVV8AAAAAAAAAAAAAAD1VVVVVV8AAAAAAAAAAAAAAAPVVVVVV8AAAAAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAD8AAAAAAAAAPVXwAAAAAAAAP/8AAAAAAAAD1XwAAAAAAAAP1fwAAAAAAAAPV8AAAAAAAAPVVfAAAAAAAAD1fAAAAAAAAPVVV8AAAAAAAA9XwAAAAAAAD1VVfAAAAAAAAPXwAAAAAAAD1VVV8AAAAAAAA98AAAAAAAA9VVVfAAAAAAAAPfAAAAAAAAPVVVXwAAAAAAAD3wAAAAAAAPVVVVfAAAAAAAA98AAAAAAAD1VVVXwAAAAAAAPfAAAAAAAA9VVVV8AAAAAAAD3wAAAAAAAPVVVVfAAAAAAAA98AAAAAAAD1VVVXwAAAAAAAPfAAAAAAAA9VVVV8AAAAAAAA/wAAAAAAAPVVVVfAAAAAAAAP8AAAAAAAD1VVVV8AAAAAAAD/AAAAAAAA9VVVVfAAAAAAAA/wAAAAAAA9VVVVXwAAAAAAAP8AAAAAAAPVVVVV8AAAAAAAD/AAAAAAAD1VVVVfAAAAAAAA/wAAAAAAA9VVVVXwAAAAAAAP8AAAAAAAPVVVVV8AAAAAAAD/AAAAAAAD1VVVVfAAAAAAAA/wAAAAAAAPVVVVXwAAAAAAAP8AAAAAAAD1VVVXwAAAAAAAD/AAAAAAAA9VVVV8AAAAAAAA/wAAAAAAAPVVVVfAAAAAAAAP8AAAAAAAD1VVVXwAAAAAAAPfAAAAAAAA9VVVV8AAAAAAAD3wAAAAAAAPVVVVfAAAAAAAA98AAAAAAAD1VVVXwAAAAAAAPfAAAAAAAA9VVVV8AAAAAAAD3wAAAAAAAD1VVV8AAAAAAAA98AAAAAAAA9VVVfAAAAAAAAPfAAAAAAAAD1VVfAAAAAAAAD18AAAAAAAA9VVXwAAAAAAAD1fAAAAAAAAD1VXwAAAAAAAA9XwAAAAAAAA9VV8AAAAAAAAPV8AAAAAAAAD9X8AAAAAAAAD1XwAAAAAAAAP/8AAAAAAAAD1V8AAAAAAAAAPwAAAAAAAAA9VfAAAAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAAAAAA9VVVVVfAAAAAAAAAAAAAAAAPVVVVVV8AAAAAAAAAAAAAAAPVVVVVVXwAAAAAAAAAAAAAAPVVVVVVVfAAAAAAAAAAAAAAPVVVVVVVV/AAAAAAAAAAAAA/VVVVVVVVX8AAAAAAAAAAAA/VVVVVVVVVX8AAAAAAAAAAD9VVVVVVVVVVf8AAAAAAAAAP9VVVVVVVVVVVf8AAAAAAAA/1VVVVVVVVVVVVf/////////VVVVVVVVVVVVVVf///////9VVVVVVVQ=="},
{"width" : "40", "buffer":"VVVVVVVVVVVVVVVVVVVf//////9VVVVVf///////VVVVVfAAAAAAD1VVVVfAAAAAAA9VVVVfAAAAAAAPVVVVfAAAAAAAD1VVVfAAAAAAAA9VVVfAAAAAAAAPVVVfAAAAAAAAD1VVfAAAAAAAAA9VVfAAAAAAAAAPVVfAAAAAAAAAD1VfAAAAAAAAAA9VfAAAAAAAAAAPVfAAAAAAAAAAD1fAAAAAAAAAAA9fAAAAAAAAAAAPXwAAAAAAAAAAD3wAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA98AAAAAAAAAAAPXwAAAAAAAAAAD1fAAAAAAAAAAA9V8AAAAAAAAAAPVXwAAAAAAAAAD1V8AAAAAAAAAA9VXwAAAAAAAAAPVVfAAAAAAAAAD1VV8AAAAAAAAA9VVXwAAAAAAAAPVVVfAAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV8AAAAAAAA9VVVfAAAAAAAAPVVVXwAAAAAAAD1VVV/////////9VVVf/////////VVVVVVVVVVVVVQ=="},
{"width" : "58", "buffer":"VVVf///////9VVVVVVVVVVf/////////VVVVVVVVVXwAAAAAAAP/1VVVVVVVV8AAAAAAAAD/1VVVVVVVfAAAAAAAAAA/1VVVVVVXwAAAAAAAAAA/1VVVVVV8AAAAAAAAAAA/VVVVVVfAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAD1VVVVV8AAAAAAAAAAAAPVVVVVfAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAA9VVV////AAAAAAAAAAAPVVVX////AAAAAAAAAAD1VVVVVVX8AAAAAAAAAA9VVVVVVVXwAAAAAAAAAPVVVVVVVVfAAAAAAAAAD1VVVVVVVXwAAAAAAAAA9VVVVVVVVfAAAAAAAAAPVVVVVVVVXwAAAAAAAAPVVVVVVVVV8AAAAAAAAD1VVVVVVVVfAAAAAAAAA9VVVVVVVVXwAAAAAAAAPVVVVVVVVV8AAAAAAAAPVVVVVVVVVfAAAAAAAAD1VVVVVVVVfAAAAAAAAA9VVVVVVVVXwAAAAAAAAPVVVVVVVVV8AAAAAAAAPVVVVVVVVV8AAAAAAAAD1VVVVVVVVfAAAAAAAAA9VVVVVVVVfAAAAAAAAA9VVVVVVVVXwAAAAAAAAPVVVVVVVVXwAAAAAAAAPVVVVVVVVV8AAAAAAAAD1VVVVVVVV8AAAAAAAAD1VVVVVVVVfAAAAAAAAA9VVVVVVVVfAAAAAAAAA9VVVVVVVVXwAAAAAAAAPVVVVVVVVXwAAAAAAAAPVVVVVVVVV8AAAAAAAAD1VVVVVVVV8AAAAAAAAD1VVVVVVVVfAAAAAAAAA9VVVVVVVVfAAAAAAAAA9VVVVVVVVfAAAAAAAAAPVVVVVVVVXwAAAAAAAAPVVVVVVVVV8AAAAAAAAD1VVVVVVVV8AAAAAAAAD1VVVVVVVV8AAAAAAAAA9VVVVVVVVfAAAAAAAAA9VVVVVVVVfAAAAAAAAAPVVVVVVVVXwAAAAAAAAPVVVVVVVVXwAAAAAAAAA/////1VVV8AAAAAAAAAD////9VVV8AAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAD1Vf////////////////1VX////////////////9VVVVVVVVVVVVVVVVVVVVVQ=="},
{"width" : "48", "buffer":"V////////VVVVVVV//////////VVVVVV/AAAAAAAA//VVVVV8AAAAAAAAA/1VVVV8AAAAAAAAAA/VVVV8AAAAAAAAAAP1VVV8AAAAAAAAAAA9VVV8AAAAAAAAAAAPVVV8AAAAAAAAAAAPVVV8AAAAAAAAAAAD1VV8AAAAAAAAAAAA9VV8AAAAAAAAAAAA9VV8AAAAAAAAAAAAPVV8AAAAAAAAAAAAPVV8AAAAAAAAAAAAPVV8AAAAAAAAAAAAD1V8AAAAAAAAAAAAD1V8AAAAAAAAAAAAD1V8AAAAAAAAAAAAD1V8AAAAAAAAAAAAD1V8AAAAAAAAAAAAD1V8P/8AAAAAAAAAD1V////AAAAAAAAAD1V/1VXwAAAAAAAAD1VVVVV8AAAAAAAAD1VVVVVfAAAAAAAAPVVVVVVfAAAAAAAAPVVVVVV8AAAAAAAAPVVVVVV8AAAAAAAA9VVVVVXwAAAAAAAA9VVVVVfAAAAAAAAD1VVVVV8AAAAAAAAD1VVVVXwAAAAAAAAPVVVVVfAAAAAAAAA9VVVVX8AAAAAAAAA9VVVVfwAAAAAAAAD1VVVX8AAAAAAAAAA9VVVfwAAAAAAAAAAPVVVfwAAAAAAAAAAD1VVV/AAAAAAAAAAA9VVVf8AAAAAAAAAAPVVVV/wAAAAAAAAAD1VVVX8AAAAAAAAAD1VVVVfwAAAAAAAAA9VVVVX8AAAAAAAAAPVVVVVfAAAAAAAAAPVVVVVXwAAAAAAAAD1VVVVV8AAAAAAAAD1VVVVVfAAAAAAAAD1VVVVVXwAAAAAAAA9VVVVVXwAAAAAAAA9VVVVVV8AAAAAAAA9VVVVVV8AAAAAAAAPVVVVVV8AAAAAAAAPVVVVVV8AAAAAAAAPVVVVVV8AAAAAAAAPVVVVVV8AAAAAAAAPVVVVVV8AAAAAAAAPVVVVVXwAAAAAAAAPVVVVVfAAAAAAAAAPVVVVV8AAAAAAAAAPVVVVfwAAAAAAAAAP9Vf//AAAAAAAAAAP////wAAAAAAAAAA9//wAAAAAAAAAAAA98AAAAAAAAAAAAAA98AAAAAAAAAAAAAA98AAAAAAAAAAAAAD18AAAAAAAAAAAAAD18AAAAAAAAAAAAAD18AAAAAAAAAAAAAPV8AAAAAAAAAAAAAPV8AAAAAAAAAAAAA9V8AAAAAAAAAAAAD1V8AAAAAAAAAAAAPVV8AAAAAAAAAAAAPVV8AAAAAAAAAAAA9VV8AAAAAAAAAAAD1VV8AAAAAAAAAAA/VVV8AAAAAAAAAAD9VVV8AAAAAAAAAA/VVVV8AAAAAAAAAP9VVVV8AAAAAAAAD/VVVVV8AAAAAAAD/1VVVVV8AAAAAAD/9VVVVVV8AAAAD//9VVVVVVV///////9VVVVVVVV/////9VVVVVVVVVV"},
{"width" : "63", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf///////1VVVVVVVVVVVVf///////1VVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVXwAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVXwAAAAAAAD1VVVVVVVVVVXwAAAAAAAD1VVVVVVVVVVfAAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVXwAAAAAAAAD1VVVVVVVVVXwAAAAAAAAD1VVVVVVVVVfAAAAAAAAAD1VVVVVVVVV8AAAAAAAAAD1VVVVVVVVV8AAAAAAAAAD1VVVVVVVVXwAAAAAAAAAD1VVVVVVVVXwAAAAAAAAAD1VVVVVVVVfAAAAAAAAAAD1VVVVVVVV8AAAAAAAAAAD1VVVVVVVV8AAAAAAAAAAD1VVVVVVVXwAAAAAAAAAAD1VVVVVVVXwAAAAAAAAAAD1VVVVVVVfAAAAAAAAAAAD1VVVVVVVfAAAAAAAAAAAD1VVVVVVV8AAAAAAAAAAAD1VVVVVVXwAAAAAAAAAAAD1VVVVVVXwAAAAAAAAAAAD1VVVVVVfAAAAAAAAAAAAD1VVVVVVfAAAAAAAAAAAAD1VVVVVV8AAAAAAAAAAAAD1VVVVVXwAAAAAAAAAAAAD1VVVVVXwAAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAAD1VVVVV8AAAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAAD1VVVVfAAAAAAwAAAAAAAD1VVVVfAAAAAD8AAAAAAAD1VVVV8AAAAAPfAAAAAAAD1VVVXwAAAAA9fAAAAAAAD1VVVXwAAAAA9fAAAAAAAD1VVVfAAAAAD1fAAAAAAAD1VVVfAAAAAD1fAAAAAAAD1VVV8AAAAAPVfAAAAAAAD1VVV8AAAAA9VfAAAAAAAD1VVXwAAAAA9VfAAAAAAAD1VVfAAAAAD1VfAAAAAAAD1VVfAAAAAD1VfAAAAAAAD1VV8AAAAAPVVfAAAAAAAD1VV8AAAAA9VVfAAAAAAAD1VXwAAAAAP//8AAAAAAAA//fAAAAAAD//wAAAAAAAAP/fAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAP//////////wAAAAAAAAP///////////8AAAAAAAA//VVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVf////////1VVVVVVVVVVVf////////1VVVVVVVVVVVVVVVVVVVVVV"},
{"width" : "52", "buffer":"VVVVVVVVVVVVVVVVVVVVVVf///////////9VVVVX////////////VVVVXwAAAAAAAAAAD1VVVV8AAAAAAAAAAA9VVVV8AAAAAAAAAAAPVVVVfAAAAAAAAAAAD1VVVfAAAAAAAAAAAA9VVVXwAAAAAAAAAAAPVVVV8AAAAAAAAAAAD1VVV8AAAAAAAAAAAA9VVVfAAAAAAAAAAAAPVVVfAAAAAAAAAAAAD1VVXwAAAAAAAAAAAA9VVV8AAAAAAAAAAAAPVVV8AAAAAAAAAAAAD1VVfAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAD1VV8AAAAAAAAAAAAA9VV8AAAAAAAAAAAAAPVVfAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAPVV8AAAAAAAAAD////1V8AAAAAAAAAD////1VfAAAAAAAAAD1VVVVVfAAAAAAAAAAPVVVVVXwAAAAAAAAAA9VVVVXwAAAAAAAAAAD1VVVV8AAAAAAAAAAAPVVVVfAAAAAAAAAAAA9VVVfAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAPVVXwAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAPVVfAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAPVX//8AAAAAAAAAAAD1V////wAAAAAAAAAAPVVVVf/wAAAAAAAAAD1VVVVV/wAAAAAAAAAPVVVVVV/AAAAAAAAAD1VVVVVV8AAAAAAAAA9VVVVVVXwAAAAAAAAPVVVVVVVfAAAAAAAAA9VVVVVVV8AAAAAAAAPVVVVVVVfAAAAAAAAD1VVVVVVV8AAAAAAAA9VVVVVVVfAAAAAAAAPVVVVVVVXwAAAAAAAD1VVVVVVV8AAAAAAAA9VVVVVVVfAAAAAAAAPVVVVVVVXwAAAAAAAD1VVVVVVXwAAAAAAAA9VVVVVVV8AAAAAAAAPVVVVVVV8AAAAAAAAD1VVVVVV8AAAAAAAAA9VVVVVV8AAAAAAAAAPVVVVVV8AAAAAAAAAD1VVVVX8AAAAAAAAAD1VVVVf8AAAAAAAAAA9VVf//wAAAAAAAAAAPVX///AAAAAAAAAAAD1X/AAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAD1VfAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAA9VV8AAAAAAAAAAAAA9VVfAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAPVVV8AAAAAAAAAAAAPVVVfAAAAAAAAAAAAPVVVXwAAAAAAAAAAAPVVVV8AAAAAAAAAAAPVVVVfAAAAAAAAAAA/VVVVXwAAAAAAAAAD/VVVVV8AAAAAAAAAD9VVVVVfAAAAAAAAAP1VVVVVXwAAAAAAAA/1VVVVVV8AAAAAAAP/VVVVVVVfAAAAAAD/9VVVVVVVXwAAAAD//VVVVVVVVV///////1VVVVVVVVVX/////1VVVVVVVVVVQ=="},
{"width" : "67", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf//////////1VVVVVVVVVVf//////////9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVV8AAAAAAAAAPVVVVVVVVVVV8AAAAAAAAAPVVVVVVVVVVV8AAAAAAAAAD1VVVVVVVVVV8AAAAAAAAAD1VVVVVVVVVVfAAAAAAAAAD1VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVV8AAAAAAAAAPVVVVVVVVVVV8AAAAAAAAAD1VVVVVVVVVVfAAAAAAAAAAP9VVVVVVVVVfAAAAAAAAAAA//VVVVVVVVXwAAAAAAAAAAAP/VVVVVVVXwAAAAAAAAAAAAD/VVVVVVV8AAAAAAAAAAAAAD9VVVVVV8AAAAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAAAAP1VVVVfAAAAAAAAAAAAAAAA/VVVVXwAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAAAD18AAAAAAAAADwAAAAAAAAAPfAAAAAAAAA//8AAAAAAAAD/AAAAAAAAA/1/wAAAAAAAA/wAAAAAAAA9VVfAAAAAAAAP8AAAAAAAA9VVV8AAAAAAAD/AAAAAAAA9VVVXwAAAAAAA/wAAAAAAAPVVVV8AAAAAAAP8AAAAAAAD1VVVfAAAAAAAD/AAAAAAAA9VVVXwAAAAAAA/wAAAAAAAPVVVV8AAAAAAAP8AAAAAAAD1VVVfAAAAAAAD/AAAAAAAA9VVVXwAAAAAAA/wAAAAAAAD1VVXwAAAAAAAPfAAAAAAAAPVVXwAAAAAAAD3wAAAAAAAA9VXwAAAAAAAA98AAAAAAAAD//wAAAAAAAAPfAAAAAAAAAP/wAAAAAAAAD3wAAAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAAAA/VVVVVVfAAAAAAAAAAAAAA/VVVVVVV/AAAAAAAAAAAAA9VVVVVVVX8AAAAAAAAAAAD9VVVVVVVVX8AAAAAAAAAAD9VVVVVVVVVf8AAAAAAAAAP1VVVVVVVVVVf/AAAAAAAD/1VVVVVVVVVVVf/////////VVVVVVVVVVVVVX///////1VVVVVVQ=="},
{"width" : "64", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVX/////////////////9VVV//////////////////VVV8AAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAD1VVf//////8AAAAAAAAAD1VVX///////wAAAAAAAAA9VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVXwAAAAAAAAPVVVVVVVVVVV8AAAAAAAAD1VVVVVVVVVV8AAAAAAAAD1VVVVVVVVVVf/////////9VVVVVVVVVVX//////////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ=="},
{"width" : "64", "buffer":"VVVVVVV///////1VVVVVVVVVVVVX////////1VVVVVVVVVVVf8AAAAAAA/1VVVVVVVVVVfwAAAAAAAA/1VVVVVVVVV/AAAAAAAAAA/VVVVVVVVV/AAAAAAAAAAA9VVVVVVVV8AAAAAAAAAAAD1VVVVVVV8AAAAAAAAAAAAPVVVVVVV8AAAAAAAAAAAAA9VVVVVV8AAAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAAAPVVVVVfAAAAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAAD1VVXwAAAAAAA/wAAAAAAA9VVV8AAAAAAA//AAAAAAAD1VVfAAAAAAA9V8AAAAAAA9VVfAAAAAAA9VXwAAAAAAPVVV8AAAAAAPVV8AAAAAAD1VVfAAAAAAD1VfAAAAAAA9VVXwAAAAAA9VXwAAAAAA9VVV8AAAAAAD1XwAAAAAAPVVVfAAAAAAAP/wAAAAAAD1VVXwAAAAAAA/wAAAAAAA9VVVfAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAAA9VVVVVfAAAAAAAAAAAAAAPVVVVVfAAAAAAAAAAAAAAD1VVVVfAAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAAPXwAAAAAAAAP8AAAAAAAAD18AAAAAAAA//8AAAAAAAA9fAAAAAAAA/VfwAAAAAAAD/AAAAAAAA9VVfAAAAAAAA/wAAAAAAAPVVV8AAAAAAAP8AAAAAAAPVVVfAAAAAAAD/AAAAAAAD1VVV8AAAAAAA/wAAAAAAD1VVVfAAAAAAAP8AAAAAAA9VVVXwAAAAAAD/AAAAAAAD1VVV8AAAAAAA/wAAAAAAA9VVV8AAAAAAAP8AAAAAAAD1VVfAAAAAAAD/AAAAAAAAPVV/AAAAAAAA/wAAAAAAAA///AAAAAAAAP8AAAAAAAAD/8AAAAAAAAD/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAAPVVVVVVfwAAAAAAAAAAAAPVVVVVVV/AAAAAAAAAAAA/VVVVVVVV/AAAAAAAAAAD/VVVVVVVVX/AAAAAAAAAP9VVVVVVVVVX/wAAAAAAD/1VVVVVVVVVVX/////////VVVVVVVVVVVVV///////1VVVVVVQ=="},
{"width" : "67", "buffer":"VVVVVVX////////1VVVVVVVVVVVVf/////////1VVVVVVVVVVV/wAAAAAAAA/1VVVVVVVVVV/AAAAAAAAAA/1VVVVVVVVX8AAAAAAAAAAA/VVVVVVVVX8AAAAAAAAAAAA9VVVVVVVXwAAAAAAAAAAAAD9VVVVVVXwAAAAAAAAAAAAAP1VVVVVXwAAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAAA9fAAAAAAAAA//wAAAAAAAAPfAAAAAAAAA///AAAAAAAAA/wAAAAAAAA9VV8AAAAAAAAP8AAAAAAAA9VVXwAAAAAAAD/AAAAAAAA9VVVfAAAAAAAA/wAAAAAAA9VVVV8AAAAAAAP8AAAAAAAPVVVVfAAAAAAAD/AAAAAAAD1VVVXwAAAAAAA/wAAAAAAA9VVVV8AAAAAAAP8AAAAAAAPVVVVfAAAAAAAD/AAAAAAAA9VVVXwAAAAAAA/wAAAAAAAPVVVXwAAAAAAAP8AAAAAAAA9VVXwAAAAAAAD/AAAAAAAAD1VXwAAAAAAAA98AAAAAAAAP//wAAAAAAAAPfAAAAAAAAA//wAAAAAAAAD3wAAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAA9VVVVX8AAAAAAAAAAAAAAAPVVVVVfwAAAAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAAAD1VVVVVV/AAAAAAAAAAAAAA9VVVVVVX/AAAAAAAAAAAAA9VVVVVVVX/wAAAAAAAAAAAPVVVVVVVVX/wAAAAAAAAAAPVVVVVVVVVV/AAAAAAAAAAD1VVVVVVVVVV8AAAAAAAAAD1VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVV8AAAAAAAAAPVVVVVVVVVVV8AAAAAAAAAD1VVVVVVVVVV8AAAAAAAAAD1VVVVVVVVVVfAAAAAAAAAD1VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAA9VVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVXwAAAAAAAAAPVVVVVVVVVVV///////////VVVVVVVVVVVf//////////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ=="},
{"width" : "28", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV///////////////////wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP/////////3////////9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX//////////////////8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD/AAAAAAAA/wAAAAAAAP8AAAAAAAD///////////////////VVVVVVVVVQ=="}
]
}

View File

@ -0,0 +1,17 @@
{
"name":"Quicksand",
"size":"90",
"characters":[
{"width" : "68", "buffer":"VVVVVVVX//////9VVVVVVVVVVVVVVX////////1VVVVVVVVVVVVX/AAAAAAA/9VVVVVVVVVVVX/AAAAAAAAD9VVVVVVVVVVX/AAAAAAAAAA/VVVVVVVVVV/AAAAAAAAAAA/VVVVVVVVVfAAAAAAAAAAAAPVVVVVVVVXwAAAAAAAAAAAAPVVVVVVVV8AAAAAAAAAAAAAPVVVVVVVfAAAAAAAAAAAAAAPVVVVVVXwAAAAAAAAAAAAAAPVVVVVV8AAAAAAAAAAAAAAAPVVVVVXwAAAAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAAAAA9VVVVXwAAAAAAP/8AAAAAAA9VVVV8AAAAAAP///wAAAAAD1VVVfAAAAAAP9VV/wAAAAAD1VVV8AAAAAD9VVVXwAAAAAPVVVfAAAAAA9VVVVXwAAAAAPVVV8AAAAAPVVVVVXwAAAAA9VVXwAAAAD1VVVVVXwAAAAA9VV8AAAAA9VVVVVVXwAAAAD1VXwAAAAPVVVVVVVXwAAAAPVVfAAAAA9VVVVVVVfAAAAAPVXwAAAAPVVVVVVVVfAAAAA9VfAAAAA9VVVVVVVV8AAAAD1XwAAAAPVVVVVVVVV8AAAAD1fAAAAA9VVVVVVVVXwAAAAPV8AAAAD1VVVVVVVVXwAAAA9XwAAAA9VVVVVVVVVfAAAAD1fAAAAD1VVVVVVVVV8AAAAD18AAAAPVVVVVVVVVXwAAAAPfAAAAA9VVVVVVVVVXwAAAA98AAAAD1VVVVVVVVVfAAAAD3wAAAA9VVVVVVVVVV8AAAAPfAAAAD1VVVVVVVVVXwAAAA98AAAAPVVVVVVVVVVfAAAAA/wAAAA9VVVVVVVVVV8AAAAD/AAAAD1VVVVVVVVVXwAAAAP8AAAAPVVVVVVVVVVfAAAAA/wAAAA9VVVVVVVVVVfAAAAD/AAAAD1VVVVVVVVVV8AAAAP8AAAA9VVVVVVVVVVXwAAAA/wAAAD1VVVVVVVVVVfAAAAD/AAAAPVVVVVVVVVVV8AAAAP8AAAA9VVVVVVVVVVXwAAAA/wAAAD1VVVVVVVVVVfAAAAD/AAAAPVVVVVVVVVVV8AAAAP8AAAAPVVVVVVVVVVXwAAAA/wAAAA9VVVVVVVVVVfAAAAD/AAAAD1VVVVVVVVVXwAAAAP8AAAAPVVVVVVVVVVfAAAAA/wAAAA9VVVVVVVVVV8AAAAD/AAAAD1VVVVVVVVVXwAAAA98AAAAPVVVVVVVVVVfAAAAD3wAAAAPVVVVVVVVVV8AAAAPfAAAAA9VVVVVVVVVXwAAAA98AAAAD1VVVVVVVVV8AAAAD18AAAAPVVVVVVVVVXwAAAAPXwAAAA9VVVVVVVVVfAAAAD1fAAAAA9VVVVVVVVV8AAAAPV8AAAAD1VVVVVVVVfAAAAA9XwAAAAPVVVVVVVVV8AAAAD1XwAAAAPVVVVVVVVXwAAAAPVfAAAAA9VVVVVVVV8AAAAD1V8AAAAA9VVVVVVVXwAAAAPVV8AAAAD1VVVVVVV8AAAAA9VXwAAAAD1VVVVVVXwAAAAPVVfAAAAAPVVVVVVV8AAAAA9VVfAAAAAPVVVVVVfAAAAAPVVV8AAAAAPVVVVVXwAAAAA9VVV8AAAAAP1VVVV8AAAAAD1VVXwAAAAAP9VVV/AAAAAA9VVVXwAAAAAD/1X/wAAAAAD1VVVfAAAAAAA///wAAAAAA9VVVVfAAAAAAAD/AAAAAAAPVVVVV8AAAAAAAAAAAAAAAA9VVVVV8AAAAAAAAAAAAAAAPVVVVVV8AAAAAAAAAAAAAAD1VVVVVV8AAAAAAAAAAAAAAPVVVVVVXwAAAAAAAAAAAAAD1VVVVVVXwAAAAAAAAAAAAA9VVVVVVVX8AAAAAAAAAAAAPVVVVVVVVX8AAAAAAAAAAAP1VVVVVVVVV/AAAAAAAAAAD9VVVVVVVVVV/AAAAAAAAAD9VVVVVVVVVVVf8AAAAAAAP/VVVVVVVVVVVVf/wAAAAA//VVVVVVVVVVVVVV///////9VVVVVVVVVVVVVVVX/////1VVVVVVVV" },
{"width" : "37", "buffer":"VVVVVVVVX/1VVVVVVVVV///9VVVVVVVV/wA/1VVVVVVX8AAAPVVVVVVX8AAAA9VVVVVfwAAAAPVVVVVfwAAAAD1VVVV/AAAAAA9VVVV/AAAAAAPVVVX8AAAAAAD1VVX8AAAAAAA9VVfwAAAAAAAPVVfwAAAAAAAD1V/AAAAAAAAA9V/AAAAAAAAAPV8AAAAAAAAAD18AAAAAAAAAA98AAAAAAAAAAPfAAAAAAAAAAD3wAAAAAAAAAA/wAAAAAAAAAAP8AAAAAAAAAAD3wAAAAAAAAAA98AAAADAAAAAPfAAAAP8AAAAD3wAAAP3wAAAA9fAAA/V8AAAAPV/wD/VfAAAAD1X//9VXwAAAA9VV/1VV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVXwAAAA9VVVVVVfAAAAPVVVVVVXwAAAD1VVVVVV8AAAA9VVVVVVfAAAAPVVVVVVXwAAAD1VVVVVVfAAAD1VVVVVVV8AAP1VVVVVVVX///1VVVVVVVVf//VVVVVVVVVVVVVVA=" },
{"width" : "59", "buffer":"VVVVVVX//////VVVVVVVVVVVVf///////9VVVVVVVVVVf/AAAAAAP/VVVVVVVVVf8AAAAAAAA/1VVVVVVVX8AAAAAAAAAP1VVVVVVX8AAAAAAAAAAD1VVVVVV/AAAAAAAAAAAD1VVVVVfAAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAD1VVVX8AAAAAAAAAAAAAD1VVV/AAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAPVVfAAAAAAD//8AAAAAA9VXwAAAAAD////AAAAAA9VfAAAAAA/VVV/AAAAAD1XwAAAAA/VVVVfAAAAAD1fAAAAAP1VVVVfAAAAAPV8AAAAD1VVVVVfAAAAA9XwAAAA9VVVVVVfAAAAA9fAAAAPVVVVVVV8AAAAD1fAAAD1VVVVVVV8AAAAPV8AAA9VVVVVVVXwAAAA9V8AAP1VVVVVVVXwAAAD1V///9VVVVVVVVfAAAAPVV//9VVVVVVVVV8AAAA9VVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVXwAAAAAPVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVfAAAAAAPVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVV8AAAAAA9VVVVVVVVVVVXwAAAAAD1VVVVVVVVVVV8AAAAAA9VVVVVVVVVVVfAAAAAAPVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVV8AAAAAA9VVVVVVVVVVVfAAAAAAPVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVV8AAAAAA9VVVVVVVVVVVfAAAAAAPVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVV8AAAAAA9VVVVVVVVVVVfAAAAAAD1VVVVVVVVVVXwAAAAAA9VVVVVVVVVVV8AAAAAAPVVVVVVVVVVVfAAAAAAD1VVVVVVVVVVV8AAAAAA9VVVVVVVVVVVfAAAAAAPVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVV8AAAAAA9VVVVVVVVVVVfAAAAAAPVVVVVVVVVVVXwAAAAAAP////////9VV8AAAAAAAP////////9VfAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAD1V/////////////////9VVf////////////////VVVVVVVVVVVVVVVVVVVVVA=" },
{"width" : "58", "buffer":"VVVVVVVVVVVVVVVVVVVVX///////////////VVVX////////////////VVXwAAAAAAAAAAAAAAD9VXwAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAPVX8AAAAAAAAAAAAAAAPVVf/wAAAAAAAAAAAAAD1VVf///////8AAAAAAD1VVVV///////wAAAAAD1VVVVVVVVVVVfAAAAAD1VVVVVVVVVVVfAAAAAD1VVVVVVVVVVVfAAAAAD1VVVVVVVVVVVfAAAAAD1VVVVVVVVVVVfAAAAAD1VVVVVVVVVVVfAAAAAD1VVVVVVVVVVVfAAAAAD1VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVXwAAAAAD1VVVVVVVVVVXwAAAAAAP/VVVVVVVVVXwAAAAAAA//VVVVVVVVXwAAAAAAAAD/VVVVVVVXwAAAAAAAAAD9VVVVVVV8AAAAAAAAAAD1VVVVVV8AAAAAAAAAAAP1VVVVVfAAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAD1VVVV8AAA///wAAAAAA9VVVVf8A/////wAAAAAD1VVVV///9VVV/wAAAAA9VVVVVf9VVVVV/AAAAAPVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVV8AAAAPVVf//VVVVVVVV8AAAAPVVf//9VVVVVVV8AAAAD1VfAAD9VVVVVV8AAAAA9VfAAAP9VVVVX8AAAAA9VXwAAAP9VVVX8AAAAAPVXwAAAAP/9X/wAAAAAPVV8AAAAAP///wAAAAAD1VfAAAAAAAPwAAAAAAD1VXwAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAD9VVVfAAAAAAAAAAAAAD9VVVXwAAAAAAAAAAAAP1VVVVfwAAAAAAAAAAAP1VVVVV/wAAAAAAAAAD/VVVVVVV/8AAAAAAAAP/VVVVVVVV//AAAAAAP/1VVVVVVVVVf////////VVVVVVVVVVVX//////VVVVVVVV" },
{"width" : "71", "buffer":"VVVVVVVVVVVVVVVf/VVVVVVVVVVVVVVVVVVVVVf//1VVVVVVVVVVVVVVVVVVVf8AP1VVVVVVVVVVVVVVVVVVX8AAD1VVVVVVVVVVVVVVVVVV8AAAD1VVVVVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVVVVXwAAAAA9VVVVVVVVVVVVVVVV8AAAAAD1VVVVVVVVVVVVVVVfAAAAAAPVVVVVVVVVVVVVVVXwAAAAAA9VVVVVVVVVVVVVVV8AAAAAAD1VVVVVVVVVVVVVVXwAAAAAAPVVVVVVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVVV8AAAAAAAA9VVVVVVVVVVVVVfAAAAAAAAD1VVVVVVVVVVVVV8AAAAAAAAPVVVVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVVVXwAAAAAAAAD1VVVVVVVVVVVV8AAAAAAAAAPVVVVVVVVVVVVfAAAAAAAAAA9VVVVVVVVVVVV8AAAAAAAAAD1VVVVVVVVVVVfAAAAAwAAAAPVVVVVVVVVVVXwAAAAPwAAAA9VVVVVVVVVVV8AAAAD3wAAAD1VVVVVVVVVVfAAAAAPfAAAAPVVVVVVVVVVV8AAAAD18AAAA9VVVVVVVVVVfAAAAA9XwAAAD1VVVVVVVVVXwAAAAPVfAAAAPVVVVVVVVVV8AAAAD1V8AAAA9VVVVVVVVVfAAAAAPVXwAAAD1VVVVVVVVXwAAAAD1VfAAAAPVVVVVVVVVfAAAAA9VV8AAAA9VVVVVVVVXwAAAAPVVXwAAAD1VVVVVVVV8AAAAD1VVfAAAAPVVVVVVVVfAAAAA9VVV8AAAA9VVVVVVVXwAAAAD1VVXwAAAD1VVVVVVVfAAAAA9VVVfAAAAPVVVVVVVXwAAAAPVVVV8AAAA9VVVVVVV8AAAAD1VVVXwAAAD1VVVVVVfAAAAA9VVVVfAAAAPVVVVVVXwAAAAD1VVVV8AAAA9VVVVVV8AAAAA9VVVVXwAAAD1VVVVVXwAAAAPVVVVVfAAAAPVVVVVV8AAAAD1VVVVV8AAAA9VVVVVfAAAAAD//////AAAAA///1VXwAAAAAD/////wAAAAA///9V8AAAAAAAAAAAAAAAAAAAAD9XwAAAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAAAD1V/wAAAAAAAAAAAAAAAAAAP9VV////////////AAAAAD///VVVX///////////AAAAA//9VVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVVVVVVVfAAAPVVVVVVVVVVVVVVVVVVVfwAD9VVVVVVVVVVVVVVVVVVVf///VVVVVVVVVVVVVVVVVVVVX//VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVA=" },
{"width" : "58", "buffer":"VVVVVVVVVVVVVVVVVVVVVVf/////////////9VVVV///////////////1VVV/AAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAD9VXwAAAAAAAAAAAAAA/9VV8AAAA///////////1VVfAAAA//////////9VVVXwAAA9VVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVV8AAAD1VVVVVVVVVVVVVfAAAA9VVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVV8AAAPVVVVVVVVVVVVVVfAAAD1VVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVVV8AAAPVVVVVVVVVVVVVV8AAAD1VVVVVVVVVVVVVfAAAA9VVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVV8AAAD1V////1VVVVVVVfAAAD1//////9VVVVVVXwAAAP/8AAAA//VVVVVV8AAAA8AAAAAAP/VVVVV8AAAAAAAAAAAAD/VVVVfAAAAAAAAAAAAAD9VVVXwAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAP1VVfAAAAAAAAAAAAAAA/VVXwAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAA9VfAAAAAAP///AAAAAAD1V8AAAAA/////AAAAAAPVfAAAAD/VVVX8AAAAAD1V/AAA/9VVVVX8AAAAAPVX/wP/1VVVVVfwAAAAD1VX//9VVVVVVVfAAAAA9VVV/VVVVVVVVV8AAAAD1VVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVfAAAAA9VV/VVVVVVVVVfAAAAA9Vf//1VVVVVVVfAAAAAPVf8D/1VVVVVVfAAAAAD1fAAA/VVVVVV/AAAAAD1XwAAA/VVVVX/AAAAAA9XwAAAD/1VV/8AAAAAA9V8AAAAD////wAAAAAAPVfAAAAAA//8AAAAAAAPVXwAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAP1VVV8AAAAAAAAAAAAAP1VVVXwAAAAAAAAAAAA/VVVVV/AAAAAAAAAAAA/VVVVVV/AAAAAAAAAAP9VVVVVVX/wAAAAAAAA/9VVVVVVVX/8AAAAAA//VVVVVVVVVV////////9VVVVVVVVVVVf/////9VVVVVVVV" },
{"width" : "60", "buffer":"VVVVVVVVVVVVf//VVVVVVVVVVVVVVVVf///9VVVVVVVVVVVVVVf/wAA/VVVVVVVVVVVVVX/wAAAD1VVVVVVVVVVVV/wAAAAD1VVVVVVVVVVVf8AAAAAD1VVVVVVVVVVV/AAAAAAA9VVVVVVVVVVfwAAAAAAA9VVVVVVVVVV/AAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVfAAAAAAAAD1VVVVVVVVX8AAAAAAAAD1VVVVVVVVfwAAAAAAAAPVVVVVVVVV8AAAAAAAAA9VVVVVVVVV8AAAAAAAA/1VVVVVVVVXwAAAAAAAP/VVVVVVVVVfAAAAAAAP/VVVVVVVVVV8AAAAAAD/1VVVVVVVVVXwAAAAAA/1VVVVVVVVVVXwAAAAAD9VVVVVVVVVVVfAAAAAAPVVVVVVVVVVVV8AAAAAD9VVVVVVVVVVVV8AAAAAP1VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAD1X///1VVVVVVVVfAAAAPX/////9VVVVVVVfAAAAD/8AAAP/1VVVVVV8AAAAA8AAAAAD/VVVVVV8AAAAAAAAAAAAP1VVVVV8AAAAAAAAAAAAA/VVVVXwAAAAAAAAAAAAAP1VVVXwAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAPVVfAAAAAAAADwAAAAAAD1VfAAAAAAAP//8AAAAAA9V8AAAAAAD/9f/wAAAAA9V8AAAAAAP1VVX8AAAAAPV8AAAAAA9VVVVfAAAAAPV8AAAAAD1VVVVXwAAAAD18AAAAAPVVVVVV8AAAAD18AAAAA9VVVVVVfAAAAD18AAAAD1VVVVVVXwAAAA98AAAAD1VVVVVVXwAAAA98AAAAPVVVVVVVV8AAAA98AAAAPVVVVVVVV8AAAA98AAAA9VVVVVVVV8AAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAPfAAAA9VVVVVVVVfAAAAPfAAAA9VVVVVVVV8AAAAPfAAAAPVVVVVVVV8AAAA9fAAAAPVVVVVVVV8AAAA9fAAAAPVVVVVVVXwAAAA9XwAAAD1VVVVVVXwAAAA9XwAAAA9VVVVVVfAAAAA9V8AAAA9VVVVVV8AAAAD1V8AAAAP1VVVVXwAAAAD1V8AAAAD9VVVVfAAAAAD1VfAAAAAPVVVX8AAAAAPVVfAAAAAD/VV/wAAAAA9VVXwAAAAA///8AAAAAA9VVV8AAAAAA//AAAAAAD1VVV8AAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAD1VVVVV8AAAAAAAAAAAAP1VVVVVfAAAAAAAAAAAA9VVVVVVX8AAAAAAAAAAD1VVVVVVV/AAAAAAAAAA/VVVVVVVVX8AAAAAAAAP9VVVVVVVVV/wAAAAAAD/VVVVVVVVVVX/wAAAAD/1VVVVVVVVVVVf//////9VVVVVVVVVVVVVf////9VVVVVVV" },
{"width" : "60", "buffer":"VVVVVVVVVVVVVVVVVVVVVX////////////////1VV//////////////////VX8AAAAAAAAAAAAAAAAP1fAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAA9X/AAAAAAAAAAAAAAAAA9Vf///////////AAAAAD1VV///////////wAAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVXwAAA9VVVVVVVVVVVVVVV8AAA9VVVVVVVVVVVVVVVfwAP1VVVVVVVVVVVVVVVX///VVVVVVVVVVVVVVVVVf/1VVVVVVVVVVVV" },
{"width" : "60", "buffer":"VVVVVVVVf//1VVVVVVVVVVVVVVV//////VVVVVVVVVVVVV//wAAP/9VVVVVVVVVVVf/AAAAAA/1VVVVVVVVVX/AAAAAAAD/VVVVVVVVVfwAAAAAAAAP9VVVVVVVX8AAAAAAAAAA/VVVVVVVfwAAAAAAAAAAD1VVVVVV8AAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAAPVVVVVfAAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAPVVVXwAAAAAD//AAAAAAPVVVfAAAAAA///8AAAAAD1VV8AAAAAP9VV/wAAAAD1VV8AAAAA/VVVX8AAAAA9VV8AAAAD1VVVVfAAAAA9VV8AAAAPVVVVVXwAAAAPVXwAAAA9VVVVVV8AAAAPVXwAAAA9VVVVVV8AAAAPVXwAAAD1VVVVVVfAAAAPVXwAAAD1VVVVVVfAAAAPVXwAAAD1VVVVVVfAAAAPVXwAAAD1VVVVVVfAAAAPVXwAAAD1VVVVVVfAAAAPVXwAAAD1VVVVVVfAAAAPVXwAAAD1VVVVVVfAAAAPVXwAAAD1VVVVVVfAAAAPVXwAAAD1VVVVVVfAAAAPVXwAAAA9VVVVVV8AAAAPVV8AAAA9VVVVVV8AAAAPVV8AAAAPVVVVVXwAAAA9VV8AAAAD1VVVVfAAAAA9VVfAAAAA/VVVX8AAAAD1VVfAAAAAP9VV/wAAAAD1VVXwAAAAA///8AAAAAPVVVV8AAAAAD//AAAAAA9VVVVfAAAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAPVVVVVV8AAAAAAAAAAAA9VVVVVVfAAAAAAAAAAAD1VVVVVVfAAAAAAAAAAAD1VVVVVX8AAAAAAAAAAAA9VVVVVfwAAAAAAAAAAAAP1VVVV8AAAAAAAAAAAAAD9VVVXwAAAAAAAAAAAAAAPVVVfAAAAAAAPwAAAAAAPVVVfAAAAAA///8AAAAAD1VV8AAAAAP/1f/wAAAAA9VXwAAAAA/VVVX/AAAAAPVXwAAAAD1VVVVfwAAAAPVfAAAAAPVVVVVV8AAAAD1fAAAAA9VVVVVVfAAAAD18AAAAD1VVVVVVfAAAAD18AAAAPVVVVVVVXwAAAA98AAAA9VVVVVVVV8AAAA98AAAA9VVVVVVVV8AAAA98AAAA9VVVVVVVV8AAAA98AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVV8AAAAP8AAAA9VVVVVVVV8AAAAP8AAAA9VVVVVVVV8AAAA98AAAA9VVVVVVVV8AAAA98AAAAPVVVVVVVXwAAAA98AAAAD1VVVVVVfAAAAA98AAAAA9VVVVVVfAAAAA9fAAAAAPVVVVVX8AAAAD1fAAAAAD1VVVVfwAAAAD1XwAAAAA/VVVX8AAAAAPVXwAAAAAP/VX/wAAAAAPVV8AAAAAA///8AAAAAA9VV8AAAAAAA/8AAAAAAA9VVfAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAA9VVVVfwAAAAAAAAAAAAP1VVVVX8AAAAAAAAAAAA/VVVVVVfAAAAAAAAAAAD1VVVVVVX8AAAAAAAAAA/VVVVVVVV/wAAAAAAAAP9VVVVVVVVX/wAAAAAAD/VVVVVVVVVVf/wAAAAP/1VVVVVVVVVVVf//////9VVVVVVVVVVVVVf////1VVVVVVVVVVVVVVVVVVVVVVVVVVV" },
{"width" : "60", "buffer":"VVVVVVf//////1VVVVVVVVVVVX////////VVVVVVVVVVV/wAAAAAAP9VVVVVVVVVf8AAAAAAAA/1VVVVVVVV/AAAAAAAAAD9VVVVVVVXwAAAAAAAAAAPVVVVVVVfAAAAAAAAAAAD1VVVVVX8AAAAAAAAAAAA9VVVVVXwAAAAAAAAAAAAPVVVVVfAAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAA9VVVXwAAAAAAP8AAAAAAPVVVfAAAAAAP//8AAAAAD1VV8AAAAAD/1X/wAAAAD1VV8AAAAAP1VVX8AAAAA9VXwAAAAA9VVVVfAAAAA9VXwAAAAD1VVVVXwAAAAPVXwAAAAPVVVVVV8AAAAPVfAAAAA9VVVVVVfAAAAD1fAAAAD1VVVVVVXwAAAD1fAAAAPVVVVVVVXwAAAD18AAAAPVVVVVVVV8AAAA98AAAAPVVVVVVVV8AAAA98AAAA9VVVVVVVV8AAAA98AAAA9VVVVVVVVfAAAA98AAAA9VVVVVVVVfAAAA98AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVVfAAAAP8AAAA9VVVVVVVV8AAAAP8AAAAPVVVVVVVV8AAAAP8AAAAPVVVVVVVV8AAAAPfAAAAPVVVVVVVXwAAAAPfAAAAD1VVVVVVfAAAAAPfAAAAD1VVVVVVfAAAAAPfAAAAA9VVVVVV8AAAAAPfAAAAAPVVVVVXwAAAAAPXwAAAAD1VVVVfAAAAAA9XwAAAAA/VVVX8AAAAAA9V8AAAAAP////wAAAAAA9V8AAAAAA///8AAAAAAA9V8AAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAD1VVVfwAAAAAAAAAAAAAPVVVVX/AAAAAAAAAAAAAPVVVVVf8AAAAAAPAAAAAPVVVVVV/8AAAAD/wAAAA9VVVVVVX//////18AAAA9VVVVVVVX////9XwAAAA9VVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVfwAAAAD1VVVVVVVVVVVV/AAAAAD1VVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVfwAAAAAD1VVVVVVVVVVX/AAAAAAPVVVVVVVVVVV/wAAAAAAPVVVVVVVVVVf8AAAAAAA9VVVVVVVVVf/AAAAAAAD1VVVVVVVVX/wAAAAAAAPVVVVVVVVVfwAAAAAAAA9VVVVVVVVV8AAAAAAAAD1VVVVVVVVXwAAAAAAAAPVVVVVVVVVXwAAAAAAAA9VVVVVVVVVfAAAAAAAAD1VVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAD9VVVVVVVVVVfAAAAAAA/1VVVVVVVVVVfAAAAAAP9VVVVVVVVVVVXwAAAAD/VVVVVVVVVVVVXwAAAA/1VVVVVVVVVVVVV8AAA/9VVVVVVVVVVVVVVf////VVVVVVVVVVVVVVVX///VVVVVVVVVVVV" },
{"width" : "18", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf//9VV////1XwAAD9fAAAAPfAAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAPfAAAAPfwAAA9X/wA/1Vf///VVVf/VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//1VV////VX/AAP1fAAAA9fAAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAP8AAAAPfAAAAPfAAAAPXwAAD9V////1Vf//9VVVVVVV" }
]
}

View File

@ -0,0 +1,17 @@
{
"name":"SairaCond",
"size":"98",
"characters":[
{"width" : "61", "buffer":"VVVVf///////////VVVVVVVV/////////////VVVVVVX/AAAAAAAAAAAD/VVVVVX8AAAAAAAAAAAAD9VVVVXwAAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAA/8AAAAAAAA9fAAAAAAAA//wAAAAAAAD3wAAAAAAA9VfAAAAAAAA98AAAAAAAPVV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA/wAAAAAAA9VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAD/AAAAAAAD1VXwAAAAAAA98AAAAAAAPVV8AAAAAAAPfAAAAAAAD1V8AAAAAAAD3wAAAAAAAP/8AAAAAAAD18AAAAAAAA/8AAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAPVVVVfwAAAAAAAAAAAAA/VVVVV/AAAAAAAAAAAAA/VVVVVV/wAAAAAAAAAAD9VVVVVVX////////////9VVVVVVVV///////////1VVVUA==" },
{"width" : "42", "buffer":"VVVVVVX///////VVVVVV////////VVVVVf8AAAAAAPVVVVX/AAAAAAAPVVVV/wAAAAAAAPVVVf8AAAAAAAAPVVX/AAAAAAAAAPVV/wAAAAAAAAAPVf8AAAAAAAAAAPX/AAAAAAAAAAAPfwAAAAAAAAAAAPfAAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAAAAAAAAAAP8AAAMAAAAAAAAP8AAD/AAAAAAAAP8AD/3wAAAAAAAP8D/9XwAAAAAAAP8/9VXwAAAAAAAPf9VVXwAAAAAAAPfVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVXwAAAAAAAPVVVVX/////////VVVVV/////////" },
{"width" : "59", "buffer":"Vf/////////////1VVVVf//////////////9VVVV8AAAAAAAAAAAAAD/VVVXwAAAAAAAAAAAAAA/VVVfAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD1/////////wAAAAAAAAPX/////////wAAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVfAAAAAAAD1VVVVVVVVVV8AAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAA9VVVVVVVVX8AAAAAAAAD1VVVVVVVX/AAAAAAAAAPVVVVVVVV/AAAAAAAAAD1VVVVVVV/AAAAAAAAAAPVVVVVVV/wAAAAAAAAAA9VVVVVV/wAAAAAAAAAAD1VVVVV/wAAAAAAAAAAA9VVVVV/wAAAAAAAAAAAD1VVVV/wAAAAAAAAAAAAPVVVV/wAAAAAAAAAAAAD1VVVfwAAAAAAAAAAAAAPVVVfwAAAAAAAAAAAAAD1VVX8AAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAP1VVV8AAAAAAAAAAAAAP9VVVXwAAAAAAAAAAAAP9VVVV8AAAAAAAAAAAAP9VVVVXwAAAAAAAAAAAP9VVVVVfAAAAAAAAAAAP9VVVVVV8AAAAAAAAAAP9VVVVVVfAAAAAAAAAAP9VVVVVVV8AAAAAAAAAP9VVVVVVVXwAAAAAAAAP9VVVVVVVVfAAAAAAAAD9VVVVVVVVV8AAAAAAAA9VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAD1VVVVVVVVVV8AAAAAAAPVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVfAAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAA//////////3wAAAAAAAA///////////AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP///////////////////////////////////////w" },
{"width" : "59", "buffer":"V//////////////VVVVV///////////////1VVVXwAAAAAAAAAAAAAP9VVVfAAAAAAAAAAAAAAD9VVV8AAAAAAAAAAAAAAA/VVXwAAAAAAAAAAAAAAA/VVfAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAPX/////////AAAAAAAAA9f/////////AAAAAAAAD1VVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVfAAAAAAAD1VVVVVVVVVV8AAAAAAAPVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVfAAAAAAAD1VVVVVVVVVV8AAAAAAAPVVVVVVVVVVXwAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAA9VVVVVVVVVVfAAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVf/////8AAAAAAAA9VVVX//////AAAAAAAAPVVVVfAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAA9VVVVVfAAAAAAAAAAAA/VVVVVV8AAAAAAAAAAAP1VVVVVXwAAAAAAAAAAD1VVVVVVfAAAAAAAAAAAPVVVVVVV8AAAAAAAAAAAP1VVVVVXwAAAAAAAAAAAP9VVVVVfAAAAAAAAAAAAD9VVVVV8AAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAPVVVV//////wAAAAAAAA9VVVV//////wAAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVV8AAAAAAAA9//////////AAAAAAAAD//////////wAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAA/VV8AAAAAAAAAAAAAAAP1VXwAAAAAAAAAAAAAAP1VVf/AAAAAAAAAAAAA/9VVVf//////////////9VVVVVf////////////1VVVVQ" },
{"width" : "66", "buffer":"VVVVVX/////////VVVVVVVVVVVVf/////////VVVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVV8AAAAAAAA9VVVVVVVVVVVV8AAAAAAAA9VVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVXwAAAAAAAD1VVVVVVVVVVVXwAAAAAAAD1VVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVVVfAAAAAAAAPVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVXwAAAAAAAD1VVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVfAAAAAAAA9VVVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVVV8AAAAAAAPVVf/////1VVVV8AAAAAAAPVV//////9VVVV8AAAAAAAPVV8AAAAA9VVVXwAAAAAAA9VV8AAAAA9VVVXwAAAAAAA9VXwAAAAA9VVVXwAAAAAAA9VXwAAAAA9VVVfAAAAAAAA9VfAAAAAA9VVVfAAAAAAAD1VfAAAAAA9VVVfAAAAAAAD1VfAAAAAA9VVVfAAAAAAAPVV8AAAAAA9VVVfAAAAAAAPVV8AAAAAA9VVV8AAAAAAAPVV8AAAAAA9VVV8AAAAAAAPVXwAAAAAA9VVXwAAAAAAA9VXwAAAAAA9VVXwAAAAAAA9VXwAAAAAA9VVXwAAAAAAA9VfAAAAAAA9VVXwAAAAAAD1VfAAAAAAA9VVfAAAAAAAD1V8AAAAAAA9VVfAAAAAAAD1V8AAAAAAA9VVfAAAAAAAPVXwAAAAAAA9VVfAAAAAAAD//AAAAAAAAP//8AAAAAAAA/8AAAAAAAAD//8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAP//////////8AAAAAAAAD/////////////AAAAAAAAP//VVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVVX////////9VVVVVVVVVVVVX////////9VV" },
{"width" : "59", "buffer":"f/////////////////VV//////////////////VXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAD/////////VV8AAAAAAA/////////1VXwAAAAAAPVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVV8AAAAAAD1VVVVVVVVVVXwAAAAAAPVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVV8AAAAAAD1VVVVVVVVVVXwAAAAAAPVVVVVVVVVVVfAAAAAAA9VVVVVVVVVVV8AAAAAAD1VVVVVVVVVVXwAAAAAAPVVVVVVVVVVVfAAAAAAA9Vf/1VVVVVVV8AAAAAAA//////VVVVVXwAAAAAAA/8AD//9VVVVfAAAAAAAAAAAAAP/VVVV8AAAAAAAAAAAAAA/1VVXwAAAAAAAAAAAAAAP1VVfAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD1/////////wAAAAAAAAPX/////////wAAAAAAAA9VVVVVVVVVXwAAAAAAAA9VVVVVVVVVXwAAAAAAAD1VVVVVVVVVfAAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVV8AAAAAAAD1VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVXwAAAAAAAPVVVVVVVVVVfAAAAAAAA9VVVVVVVVVXwAAAAAAAD3/////////8AAAAAAAAPf/////////AAAAAAAAA98AAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAD9VV8AAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAA/VVVf8AAAAAAAAAAAAA/1VVVf//////////////1VVVVV/////////////1VVVVQ" },
{"width" : "62", "buffer":"VVVVVV////////////1VVVVVVV//////////////VVVVVV/wAAAAAAAAAAAD/VVVVVfwAAAAAAAAAAAAA9VVVVfwAAAAAAAAAAAAAD1VVVX8AAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAD1V8AAAAAAAAD///////8PVXwAAAAAAAA/////////9VfAAAAAAAAPVVVVVVVV/VV8AAAAAAAD1VVVVVVVVVVXwAAAAAAA9VVVVVVVVVVV8AAAAAAAD1VVVVVVVVVVXwAAAAAAAPVVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVfAAAAAAAD1VVX/9VVVVVV8AAAAAAAPVV/////1VVVXwAAAAAAA9V//AA//9VVVfAAAAAAAD1/wAAAAD/VVXwAAAAAAAPfwAAAAAA/1VfAAAAAAAAPwAAAAAAAP1V8AAAAAAAAMAAAAAAAAPVXwAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAA/wAAAAAAAA//wAAAAAAAD/AAAAAAAAP//wAAAAAAAP8AAAAAAAD1VXwAAAAAAA/wAAAAAAAPVVfAAAAAAAD/AAAAAAAA9VVfAAAAAAAP8AAAAAAAD1VV8AAAAAAA/wAAAAAAAPVVXwAAAAAAD/AAAAAAAA9VVfAAAAAAAPfAAAAAAAD1VV8AAAAAAA98AAAAAAAPVVXwAAAAAAD3wAAAAAAA9VVfAAAAAAAPfAAAAAAAD1VV8AAAAAAA98AAAAAAAPVVXwAAAAAAD3wAAAAAAA9VVfAAAAAAAPfAAAAAAAD1VV8AAAAAAA98AAAAAAAPVVXwAAAAAAD3wAAAAAAA9VVfAAAAAAAPfAAAAAAAD1VV8AAAAAAA98AAAAAAAPVVXwAAAAAAD3wAAAAAAA9VVfAAAAAAAPXwAAAAAAD1VXwAAAAAAA9fAAAAAAAD1V8AAAAAAAD18AAAAAAAD//AAAAAAAAPXwAAAAAAAD/wAAAAAAAA9fAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAPVVVVV/AAAAAAAAAAAAAP1VVVVV/AAAAAAAAAAAAP9VVVVVVfwAAAAAAAAAAP9VVVVVVVf///////////9VVVVVVVVX//////////9VVVVQ==" },
{"width" : "58", "buffer":"///////////////////////////////////////wAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAP/////////8AAAAAAAAD3/////////wAAAAAAAD1VVVVVVVVVfAAAAAAAA9VVVVVVVVVXwAAAAAAAPVVVVVVVVVXwAAAAAAAPVVVVVVVVVV8AAAAAAAD1VVVVVVVVVfAAAAAAAA9VVVVVVVVVfAAAAAAAA9VVVVVVVVVXwAAAAAAAPVVVVVVVVVV8AAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAA9VVVVVVVVVXwAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVV8AAAAAAAD1VVVVVVVVVfAAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAPVVVVVVVVVV8AAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAA9VVVVVVVVVXwAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVV8AAAAAAAD1VVVVVVVVVfAAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAPVVVVVVVVVV8AAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAA9VVVVVVVVVXwAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVV8AAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVV8AAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVXwAAAAAAAA9VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVXwAAAAAAAD1VVVVVVVVV8AAAAAAAA9VVVVVVVVV8AAAAAAAAPVVVVVVVVVfAAAAAAAAPVVVVVVVVVXwAAAAAAAD1VVVVVVVVXwAAAAAAAA9VVVVVVVVV8AAAAAAAA9VVVVVVVVVfAAAAAAAAPVVVVVVVVVfAAAAAAAAD1VVVVVVVVXwAAAAAAAA9VVVVVVVVV8AAAAAAAA9VVVVVVVVV8AAAAAAAAPVVVVVVVVVf/////////VVVVVVVVVX/////////1VVVVVVVU=" },
{"width" : "64", "buffer":"VVVVX///////////1VVVVVVVVf////////////9VVVVVVV/wAAAAAAAAAAA/9VVVVVV/AAAAAAAAAAAAAP1VVVVV8AAAAAAAAAAAAAAPVVVVX8AAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAAD1fAAAAAAAAA/AAAAAAAAAPXwAAAAAAAD//AAAAAAAAD18AAAAAAAD9X8AAAAAAAA9fAAAAAAAD1VXwAAAAAAAPXwAAAAAAA9VV8AAAAAAAD18AAAAAAAPVVXwAAAAAAA9fAAAAAAAD1VV8AAAAAAAPXwAAAAAAA9VVfAAAAAAAD18AAAAAAAPVVXwAAAAAAA9fAAAAAAAD1VV8AAAAAAAPXwAAAAAAA9VVfAAAAAAAD18AAAAAAAPVVXwAAAAAAA9fAAAAAAAD1VV8AAAAAAAPXwAAAAAAA9VVfAAAAAAAD18AAAAAAAPVVXwAAAAAAD1fAAAAAAAD1VV8AAAAAAA9XwAAAAAAA9VVfAAAAAAAPVfAAAAAAAPVVXwAAAAAAD1XwAAAAAAD1VXwAAAAAAA9V8AAAAAAAPVV8AAAAAAA9VXwAAAAAAA//8AAAAAAAPVV8AAAAAAAD/8AAAAAAAPVVXwAAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAD9VVVVX8AAAAAAAAAAAAAD9VVVVVfwAAAAAAAAAAAAD1VVVVVVfAAAAAAAAAAAAD1VVVVVVfAAAAAAAAAAAAA9VVVVVVfAAAAAAAAAAAAAD9VVVVV/AAAAAAAAAAAAAAP9VVVV/AAAAAAAAAAAAAAAP1VVV8AAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAAPVXwAAAAAAAD/8AAAAAAAA9XwAAAAAAAD//wAAAAAAAPV8AAAAAAAD1VfAAAAAAAA9fAAAAAAAD1VV8AAAAAAAPXwAAAAAAA9VVfAAAAAAAD3wAAAAAAAPVVXwAAAAAAA98AAAAAAAD1VV8AAAAAAAPfAAAAAAAA9VVfAAAAAAAD3wAAAAAAAPVVXwAAAAAAAP8AAAAAAAPVVV8AAAAAAAD/AAAAAAAD1VVfAAAAAAAA/wAAAAAAA9VVXwAAAAAAAP8AAAAAAAPVVV8AAAAAAAD/AAAAAAAA9VVfAAAAAAAA/wAAAAAAAPVVXwAAAAAAAP8AAAAAAAD1VV8AAAAAAAD/AAAAAAAA9VVfAAAAAAAA/wAAAAAAAPVVXwAAAAAAAP8AAAAAAAD1VV8AAAAAAAD/AAAAAAAA9VV8AAAAAAAA/wAAAAAAAD//8AAAAAAAAP8AAAAAAAAP/8AAAAAAAAD/AAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAAAA9VVVVfwAAAAAAAAAAAAAA9VVVVV/wAAAAAAAAAAAAD9VVVVVV/wAAAAAAAAAAA/9VVVVVVV/////////////1VVVVVVVV///////////9VVVVU=" },
{"width" : "62", "buffer":"VVVVX///////////VVVVVVVVX////////////1VVVVVVX/AAAAAAAAAAAP9VVVVVV/AAAAAAAAAAAAD9VVVVVfAAAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAPV8AAAAAAAA/8AAAAAAAA9XwAAAAAAAP/8AAAAAAAA9fAAAAAAAD1V8AAAAAAAD18AAAAAAA9VV8AAAAAAAPXwAAAAAAD1VXwAAAAAAA98AAAAAAAPVVXwAAAAAAD3wAAAAAAA9VVfAAAAAAAPfAAAAAAAD1VV8AAAAAAA98AAAAAAAPVVXwAAAAAAD3wAAAAAAA9VVfAAAAAAAD/AAAAAAAD1VV8AAAAAAAP8AAAAAAAPVVXwAAAAAAA/wAAAAAAA9VVfAAAAAAAD/AAAAAAAD1VV8AAAAAAAP8AAAAAAAPVVXwAAAAAAA/wAAAAAAA9VVfAAAAAAAD/AAAAAAAD1VV8AAAAAAAP8AAAAAAAPVVXwAAAAAAA/wAAAAAAA9VVfAAAAAAAD/AAAAAAAD1VV8AAAAAAAP8AAAAAAAPVVfAAAAAAAA/wAAAAAAA9VV8AAAAAAAD/AAAAAAAA///AAAAAAAAP8AAAAAAAA//wAAAAAAAA/wAAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAA9VfAAAAAAAAAwAAAAAAAD1VfAAAAAAAA/wAAAAAAAPVVfwAAAAAAP3wAAAAAAA9VVf/AAAAAP1fAAAAAAAD1VVX//////9V8AAAAAAAPVVVVf////9VXwAAAAAAA9VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVV8AAAAAAA9VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVV8AAAAAAAPVVVVVVVVVVVXwAAAAAAA9VVVVVVVVVVVfAAAAAAAD1VVVVVVVVVVXwAAAAAAAPVVVVVVVVVVV8AAAAAAAA9Vf/VVVVVVVfAAAAAAAAPVX/////////wAAAAAAAA9VfAP//////8AAAAAAAAD1V8AAAAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAAD1VVVfAAAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAA/VVVVXwAAAAAAAAAAAAA/1VVVVX/AAAAAAAAAAAA/1VVVVVf/////////////1VVVVVVVf///////////1VVVVVQ==" },
{"width" : "26", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX///////9/////////AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/////////3////////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/////////////////AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP8AAAAAAA/wAAAAAAD/AAAAAAAP/////////////////w==" }
]
}

View File

@ -0,0 +1,17 @@
{
"name":"SairaEC",
"size":"100",
"characters":[
{"width" : "51", "buffer":"VVVVf///////9VVVVVVVf/////////1VVVVVV/wAAAAAAAD/VVVVVfwAAAAAAAAAP1VVVV/AAAAAAAAAAA9VVVV8AAAAAAAAAAAPVVVXwAAAAAAAAAAAPVVVfAAAAAAAAAAAAD1VVfAAAAAAAAAAAAA9VV8AAAAAAAAAAAAA9VV8AAAAAAAAAAAAAPVXwAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAA9fAAAAAAA/AAAAAAA9fAAAAAAD/wAAAAAA9fAAAAAAPV8AAAAAA98AAAAAA9V8AAAAAA98AAAAAA9VfAAAAAA98AAAAAA9VfAAAAAA98AAAAAA9VfAAAAAA98AAAAAA9VfAAAAAA98AAAAAD1VfAAAAAA98AAAAAD1VfAAAAAA98AAAAAD1VfAAAAAA98AAAAAD1VfAAAAAA98AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAAP8AAAAAD1VfAAAAAA98AAAAAD1VfAAAAAA98AAAAAD1VfAAAAAA98AAAAAD1VfAAAAAA98AAAAAA9VfAAAAAA98AAAAAA9VfAAAAAA98AAAAAA9VfAAAAAA98AAAAAA9VfAAAAAA98AAAAAA9V8AAAAAA9fAAAAAAPXwAAAAAA9fAAAAAAD/AAAAAAA9fAAAAAAA8AAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAA9VVfAAAAAAAAAAAAA9VVfAAAAAAAAAAAAD1VVXwAAAAAAAAAAAD1VVV8AAAAAAAAAAAPVVVV/AAAAAAAAAAD9VVVVfwAAAAAAAAAP1VVVVV/wAAAAAAAP9VVVVVVf/////////1VVVVVVVf///////1VVVV"},
{"width" : "37", "buffer":"VVVVVV//////1VVVVX//////9VVVVf8AAAAAPVVVV/wAAAAAD1VVX/AAAAAAA9VVf8AAAAAAAPVV/wAAAAAAAD1X/AAAAAAAAA9X8AAAAAAAAAPfwAAAAAAAAAD/wAAAAAAAAAA/wAAAAAAAAAAP8AAAAAAAAAAD/AAAAAAAAAAA/wAAAAAAAAAAP8AAAAAAAAAAD/AAAAAAAAAAA/wAAAAAAAAAAP8AAAAAAAAAAD/AAAAAAAAAAA/wAAAAAAAAAAP8AAAAAAAAAAD/AAAAAAAAAAA/wAAAAAAAAAAP8AAAAAAAAAAD/AAAMAAAAAAA/wAA/wAAAAAAP8AP/fAAAAAAD/D/9XwAAAAAA///VV8AAAAAAP/1VVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV8AAAAAAPVVVVfAAAAAAD1VVVXwAAAAAA9VVVV////////VVVVf///////w=="},
{"width" : "50", "buffer":"Vf//////////1VVVV////////////9VVVX8AAAAAAAAAAD/VVVfAAAAAAAAAAAA/VVV8AAAAAAAAAAAAPVVXwAAAAAAAAAAAAPVVfAAAAAAAAAAAAAPVV8AAAAAAAAAAAAA9VXwAAAAAAAAAAAAA9VfAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAPXwAAAAAAAAAAAAAA9fAD////8AAAAAAAD1////////AAAAAAAPX//VVVVV/AAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVXwAAAAAAPVVVVVVVV8AAAAAAA9VVVVVVV/AAAAAAAD1VVVVVVfwAAAAAAAPVVVVVVfwAAAAAAAD1VVVVVX8AAAAAAAAPVVVVVX8AAAAAAAAA9VVVVX/AAAAAAAAAD1VVVV/AAAAAAAAAA9VVVV/AAAAAAAAAAD1VVVfwAAAAAAAAAAPVVVfwAAAAAAAAAAD1VVX8AAAAAAAAAAA9VVV8AAAAAAAAAAAD1VVfAAAAAAAAAAAA9VVXwAAAAAAAAAAAPVVVfAAAAAAAAAAAP1VVXwAAAAAAAAAAD9VVVfAAAAAAAAAAD9VVVXwAAAAAAAAAA/VVVVfAAAAAAAAAA/VVVVV8AAAAAAAAA/1VVVVXwAAAAAAAAP1VVVVVfAAAAAAAAP1VVVVVXwAAAAAAAD9VVVVVVfAAAAAAAD9VVVVVVV8AAAAAAA/VVVVVVVXwAAAAAAPVVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAA/////////fAAAAAAA/////////8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/////////////////////////////////0="},
{"width" : "50", "buffer":"VX//////////1VVVV////////////9VVVf/AAAAAAAAAAD/VVV8AAAAAAAAAAAA/VVXwAAAAAAAAAAAAPVVfAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVXwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAPXwAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98A/////8AAAAAAAD3////////AAAAAAAPX/1VVVVV/AAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVV/AAAAAAD1VVf/////wAAAAAA9VVV/////wAAAAAAD1VVXwAAAAAAAAAAAPVVVfAAAAAAAAAAAD1VVV8AAAAAAAAAAAPVVVXwAAAAAAAAAAD1VVVfAAAAAAAAAAA9VVVV8AAAAAAAAAA/VVVVXwAAAAAAAAAP1VVVVfAAAAAAAAAD1VVVVV8AAAAAAAAAPVVVVVXwAAAAAAAAAP1VVVVfAAAAAAAAAAP1VVVV8AAAAAAAAAAD9VVVXwAAAAAAAAAAD9VVVfAAAAAAAAAAAD1VVV8AAAAAAAAAAAD1VVXwAAAAAAAAAAAD1VVfAAAAAAAAAAAAPVVV/////8AAAAAAA9VVX/////8AAAAAAA9VVVVVVVV8AAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVV8AAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVfAAAAAAA9//9VVVVfwAAAAAAD////////8AAAAAAAP8AA////8AAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAPXwAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAPVXwAAAAAAAAAAAAD9VfAAAAAAAAAAAAA/VV8AAAAAAAAAAAA/VVX/wAAAAAAAAAA/1VVX////////////1VVVVX//////////1VVVU="},
{"width" : "56", "buffer":"VVVV///////9VVVVVVVVVVf///////1VVVVVVVVVV8AAAAAAPVVVVVVVVVVXwAAAAAA9VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVV8AAAAAAPVVVVVVVVVVXwAAAAAA9VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVV8AAAAAAPVVVVVVVVVVXwAAAAAA9VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVXwAAAAAA9VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAD1VVVVVVVVVVXwAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAD1VVVVVVVVVVXwAAAAAPVVVVVVVVVVVfAAAAAA9VX/////1VVXwAAAAAD1Vf/////VVVfAAAAAA9VV8AAAA9VVV8AAAAAD1VfAAAAD1VVXwAAAAAPVV8AAAAPVVVfAAAAAA9VXwAAAA9VVXwAAAAAD1V8AAAAD1VVfAAAAAA9VXwAAAAPVVV8AAAAAD1VfAAAAA9VVXwAAAAAPVV8AAAAD1VVfAAAAAA9VfAAAAAPVVV8AAAAAD1V8AAAAA9VVfAAAAAA9VXwAAAAD1VV8AAAAAD1V8AAAAAPVVXwAAAAAPVXwAAAAA9VVfAAAAAA9VfAAAAAD1VV8AAAAAPVXwAAAAAPVVfAAAAAA9VfAAAAAA9VV8AAAAAD1V8AAAAAD1VXwAAAAAPVXwAAAAAPVVfAAAAAA9V8AAAAAA9VV8AAAAAA//AAAAAAA//3wAAAAAA/wAAAAAAA//8AAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAD/////////wAAAAAAA///////////wAAAAAAP/9VVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAAPVVVVVVVVVVV8AAAAAA9VVVVVVVVVVXwAAAAAD1VVVVVVVVVVf///////VVVVVVVVVVV///////9VU="},
{"width" : "50", "buffer":"f//////////////9V///////////////1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9V8AAAAAAP///////1XwAAAAAD////////VfAAAAAA9VVVVVVVVV8AAAAAD1VVVVVVVVXwAAAAAPVVVVVVVVVfAAAAAA9VVVVVVVVV8AAAAAD1VVVVVVVVXwAAAAAPVVVVVVVVVfAAAAAA9VVVVVVVVV8AAAAAD1VVVVVVVVXwAAAAAPVVVVVVVVVfAAAAAA9VVVVVVVVV8AAAAAD1VVVVVVVVXwAAAAAPVVVVVVVVVfAAAAAA9VVVVVVVVV8AAAAAD1VVVVVVVVXwAAAAAD////1VVVVfAAAAAAD/////VVVV8AAAAAAAAAAD/VVVXwAAAAAAAAAAAP1VVfAAAAAAAAAAAAP1VV8AAAAAAAAAAAAD1VXwAAAAAAAAAAAAD1VfAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVXwAAAAAAAAAAAAA9VfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAPXwAAAAAAAAAAAAAA9f//////8AAAAAAAD1////////AAAAAAAPV1VVVVVV/AAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1//9VVVV/wAAAAAAPf///////8AAAAAAA98AA////wAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAPXwAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAD1V8AAAAAAAAAAAAA9VXwAAAAAAAAAAAAP1VfAAAAAAAAAAAAD9VV8AAAAAAAAAAAD9VVX/wAAAAAAAAAD/VVVX////////////VVVVVX//////////VVVVU="},
{"width" : "51", "buffer":"VVVVVX////////9VVVVVVV//////////9VVVVVf8AAAAAAAAD/1VVVV/AAAAAAAAAAD1VVVXwAAAAAAAAAAD1VVVfAAAAAAAAAAAD1VVV8AAAAAAAAAAAD1VVXwAAAAAAAAAAAD1VVfAAAAAAAAAAAAD1VVfAAAAAAAAAAAAD1VV8AAAAAAAAAAAAD1VXwAAAAAAAAAAAAD1VXwAAAAAAAAAAAAD1VfAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAD1V8AAAAAAAAAAAAAD1V8AAAAAAAD///8AD1V8AAAAAAD///////1XwAAAAAAP9VVVX//1XwAAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVVXwAAAAAD1VVVVVVVVXwAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VV////VVVfAAAAAA9Vf////9VVfAAAAAA9X/AAAA/VVfAAAAAA9fwAAAAD1VfAAAAAA98AAAAAA9VfAAAAAA98AAAAAAPVfAAAAAAPwAAAAAAPV8AAAAAADAAAAAAAD18AAAAAAAAAAAAAAD18AAAAAAAAAAAAAAD18AAAAAAAAAAAAAAA98AAAAAAAAAAAAAAA98AAAAAAAAAAAAAAA98AAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAA/wAAAAAAP8AAAAAAD/8AAAAAAP8AAAAAAPVfAAAAAAP8AAAAAAPVfAAAAAAP8AAAAAAPVXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAA9VXwAAAAAPfAAAAAAPVXwAAAAAPfAAAAAAPVXwAAAAAPXwAAAAAPVfAAAAAAPXwAAAAAPVfAAAAAAPXwAAAAAD/8AAAAAAPXwAAAAAA/wAAAAAAPXwAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9V8AAAAAAAAAAAAAD1VfAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAPVVXwAAAAAAAAAAAA9VVV8AAAAAAAAAAAA9VVV8AAAAAAAAAAAD1VVVfAAAAAAAAAAAD1VVVXwAAAAAAAAAA/VVVVV/AAAAAAAAAD9VVVVVf8AAAAAAAD/VVVVVVV/////////9VVVVVVVX///////9VVVV"},
{"width" : "50", "buffer":"//////////////////////////////////AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/////////wAAAAAAD/////////wAAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAD1VVVVVVVVfAAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVXwAAAAAAPVVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVfAAAAAAA9VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVfAAAAAAA9VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVVfAAAAAAD1VVVVVVVXwAAAAAAPVVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVfAAAAAAA9VVVVVVVV8AAAAAAPVVVVVVVVXwAAAAAA9VVVVVVVV8AAAAAAD1VVVVVVVXwAAAAAAPVVVVVVVVfAAAAAAD1VVVVVVVV8AAAAAAPVVVVVVVVf///////9VVVVVVVV////////VVVVVVVU="},
{"width" : "53", "buffer":"VVVVf////////VVVVVVVVf/////////9VVVVVVf8AAAAAAAAP9VVVVVX8AAAAAAAAAA/VVVVV8AAAAAAAAAAA/VVVVfAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAPVVV8AAAAAAAAAAAAA9VVXwAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAA9XwAAAAAAP8AAAAAAA9fAAAAAAD/8AAAAAAD18AAAAAA9V8AAAAAAPXwAAAAAD1V8AAAAAA9fAAAAAAPVXwAAAAAD18AAAAAA9VfAAAAAAPXwAAAAAD1V8AAAAAA9fAAAAAAPVXwAAAAAD18AAAAAA9VfAAAAAAPXwAAAAAD1V8AAAAAA9fAAAAAAPVXwAAAAAD18AAAAAA9VfAAAAAAPXwAAAAAD1V8AAAAAA9fAAAAAAPVXwAAAAAD18AAAAAA9VfAAAAAAPXwAAAAAD1V8AAAAAA9fAAAAAAPVXwAAAAAPV8AAAAAA9VfAAAAAA9V8AAAAAD1V8AAAAAD1XwAAAAAPVXwAAAAAPVfAAAAAA9VfAAAAAA9V8AAAAAD1V8AAAAAPVV8AAAAAD1/AAAAAA9VXwAAAAAD/wAAAAAD1VXwAAAAADwAAAAAA9VVfAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAPVVVV/AAAAAAAAAAAD1VVVV/wAAAAAAAAAD9VVVVVfwAAAAAAAAA/VVVVVVXwAAAAAAAAPVVVVVVV8AAAAAAAAAPVVVVVV/AAAAAAAAAAPVVVVVfwAAAAAAAAAAP1VVVXwAAAAAAAAAAAP1VVV8AAAAAAAAAAAAD1VVfAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAAPVXwAAAAAAPwAAAAAAPVfAAAAAAD/wAAAAAA9XwAAAAAA9XwAAAAAD1fAAAAAAPVXwAAAAAD18AAAAAA9VfAAAAAAPXwAAAAAD1V8AAAAAA98AAAAAAPVXwAAAAAD3wAAAAAA9VfAAAAAAPfAAAAAAD1V8AAAAAAP8AAAAAAPVXwAAAAAA/wAAAAAA9VfAAAAAAD/AAAAAAD1V8AAAAAAP8AAAAAAPVXwAAAAAA/wAAAAAA9VfAAAAAAD/AAAAAAD1V8AAAAAAP8AAAAAAPVXwAAAAAA/wAAAAAA9VfAAAAAAD/AAAAAAD1V8AAAAAAP8AAAAAAPVXwAAAAAA/wAAAAAA9VfAAAAAAD/AAAAAAD1V8AAAAAAP8AAAAAAPVXwAAAAAA/wAAAAAA9VfAAAAAAD/AAAAAAA9XwAAAAAAP8AAAAAAA/8AAAAAAD3wAAAAAAA/AAAAAAAPfAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAPVVVXwAAAAAAAAAAAD1VVVXwAAAAAAAAAAD9VVVVX8AAAAAAAAAA/VVVVVX/wAAAAAAAD/VVVVVVV//////////1VVVVVVVX////////VVVVU="},
{"width" : "51", "buffer":"VVVVf///////9VVVVVVVX/////////1VVVVVV/wAAAAAAAD/VVVVVX8AAAAAAAAAP1VVVVfAAAAAAAAAAA9VVVV8AAAAAAAAAAAPVVVXwAAAAAAAAAAAPVVVXwAAAAAAAAAAAD1VVfAAAAAAAAAAAAD1VVfAAAAAAAAAAAAA9VV8AAAAAAAAAAAAA9VV8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVXwAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAD1fAAAAAAA/AAAAAAA9fAAAAAAD/wAAAAAA9fAAAAAAPV8AAAAAA9fAAAAAA9VfAAAAAA9fAAAAAA9VfAAAAAA9fAAAAAA9VfAAAAAA9fAAAAAA9VfAAAAAA9fAAAAAA9VfAAAAAA98AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAA9VfAAAAAAP8AAAAAAPV8AAAAAAPfAAAAAAD/wAAAAAAPfAAAAAAA/AAAAAAAPfAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAPV8AAAAAAAwAAAAAAPVfAAAAAAD8AAAAAAPVXwAAAAAPfAAAAAAPVX8AAAAA9fAAAAAAPVV/wAAAP1fAAAAAAPVVX/////VfAAAAAAPVVVf///1VfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVV8AAAAAA9VVVVVVVVV8AAAAAA9VVVVVVVVXwAAAAAA9VVVVVVVVXwAAAAAD1V///VVVX/AAAAAAD1V///////8AAAAAAD1V8AA///8AAAAAAAD1V8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAA9VV8AAAAAAAAAAAAA9VV8AAAAAAAAAAAAA9VV8AAAAAAAAAAAAD1VV8AAAAAAAAAAAAD1VV8AAAAAAAAAAAAPVVV8AAAAAAAAAAAAPVVV8AAAAAAAAAAAA9VVV8AAAAAAAAAAAD1VVV8AAAAAAAAAAAPVVVV8AAAAAAAAAAD9VVVV8AAAAAAAAAAP1VVVV/8AAAAAAAAP9VVVVVf//////////1VVVVVVX////////1VVVVV"},
{"width" : "22", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX//////////////8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD///////9///////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV///////////////wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA/wAAAAAP8AAAAAD/AAAAAA///////////////w=="}
]
}

View File

@ -0,0 +1,17 @@
{
"name":"Teko",
"size":"99",
"characters":[
{"width" : "50", "buffer":"VVV//////////9VVVVVf///////////VVVVfwAAAAAAAAAA/1VVX8AAAAAAAAAAAP1VV8AAAAAAAAAAAAD1VfAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAP/8AAAAAA/wAAAAAD//8AAAAAD/AAAAAA9VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAD1VXwAAAAA/wAAAAAPVV8AAAAAD/AAAAAAP//AAAAAAP8AAAAAAP/wAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAD1VX8AAAAAAAAAAAA9VVX8AAAAAAAAAAA/VVVV////////////1VVVV///////////1VVA="},
{"width" : "31", "buffer":"/////////////////////wAAAAAAAAP8AAAAAAAAD/AAAAAAAAA/wAAAAAAAAP8AAAAAAAAD/AAAAAAAAA/wAAAAAAAAP8AAAAAAAAD/AAAAAAAAA/wAAAAAAAAP8AAAAAAAAD/AAAAAAAAA/wAAAAAAAAP8AAAAAAAAD/AAAAAAAAA/wAAAAAAAAP///wAAAAAD////AAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVXwAAAAA9VVV8AAAAAPVVVfAAAAAD1VVX//////9VVV///////A"},
{"width" : "49", "buffer":"VVV//////////1VVVVV///////////1VVVX8AAAAAAAAAA/VVVX8AAAAAAAAAAA9VVXwAAAAAAAAAAAD1VXwAAAAAAAAAAAAPVV8AAAAAAAAAAAAA9V8AAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAD18AAAAAAAAAAAAAAPfAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAP8AAAAAAP/wAAAAAD/AAAAAAP//AAAAAA/wAAAAAPVV8AAAAAP8AAAAAPVVfAAAAAD/AAAAAD1VV8AAAAA/wAAAAA9VVfAAAAAP8AAAAAPVVXwAAAAD/AAAAAD1VV8AAAAA/wAAAAA9VVfAAAAAP8AAAAAPVVXwAAAAD/AAAAAD1VV8AAAAA/wAAAAA9VVfAAAAAP8AAAAAPVVXwAAAAD/AAAAAD1VV8AAAAA///////9VVfAAAAAP///////VVXwAAAAD1VVVVVVVVV8AAAAA9VVVVVVVVVfAAAAAPVVVVVVVVVfAAAAAD1VVVVVVVVXwAAAAA9VVVVVVVVV8AAAAAPVVVVVVVVVfAAAAAD1VVVVVVVVXwAAAAA9VVVVVVVVXwAAAAAPVVVVVVVVV8AAAAAPVVVVVVVVVfAAAAAD1VVVVVVVVfAAAAAA9VVVVVVVVXwAAAAAPVVVVVVVVXwAAAAAD1VVVVVVVXwAAAAAD1VVVVVVVV8AAAAAA9VVVVVVVV8AAAAAA9VVVVVVVV8AAAAAAPVVVVVVVVfAAAAAAPVVVVVVVVfAAAAAAD1VVVVVVVfAAAAAAD1VVVVVVVXwAAAAAA9VVVVVVVXwAAAAAA9VVVVVVVXwAAAAAAPVVVVVVVV8AAAAAAPVVVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVVfAAAAAAD1VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAA9VVVVVVVfAAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAPVVVVVVVXwAAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAD1VVVVVVV8AAAAAAA9VVVVVVVfAAAAAAAD///////fAAAAAAAAP//////3wAAAAAAAAAAAAAA98AAAAAAAAAAAAAAPfAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAA98AAAAAAAAAAAAAAPfAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAA98AAAAAAAAAAAAAAPfAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAA98AAAAAAAAAAAAAAPfAAAAAAAAAAAAAAD3wAAAAAAAAAAAAAA98AAAAAAAAAAAAAAPfAAAAAAAAAAAAAAD3///////////////9////////////////A=="},
{"width" : "50", "buffer":"VVV//////////1VVVVVf//////////9VVVVfwAAAAAAAAAD/VVVX8AAAAAAAAAAA/VVV8AAAAAAAAAAAA9VVXwAAAAAAAAAAAA9VV8AAAAAAAAAAAAA9VfAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPV8AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAP/wAAAAAA/wAAAAAD//wAAAAAD/AAAAAA9VXwAAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA///////9VVfAAAAAD3//////1VV8AAAAA9VVVVVVVVVXwAAAAD1VVVVVVVVVfAAAAAPVVVVVVVVVV8AAAAA9VVVVVVVVVXwAAAAD1VVVVVVVVVfAAAAAPVVVVVVVVVXwAAAAA9VVVVVX///8AAAAAD1VVVVV////AAAAAAPVVVVVXwAAAAAAAAD1VVVVVfAAAAAAAAAPVVVVVV8AAAAAAAAA9VVVVVXwAAAAAAAAPVVVVVVfAAAAAAAAA9VVVVVV8AAAAAAAAPVVVVVVXwAAAAAAAA9VVVVVVfAAAAAAAAPVVVVVVV8AAAAAAAA9VVVVVVXwAAAAAAAA9VVVVVVfAAAAAAAAA9VVVVVV8AAAAAAAAA9VVVVVXwAAAAAAAAD1VVVVVfAAAAAAAAAPVVVVVV8AAAAAAAAAPVVVVVXwAAAAAAAAA9VVVVVf///wAAAAAD1VVVVVf///wAAAAAPVVVVVVVVVXwAAAAA9VVVVVVVVVXwAAAAD1VVVVVVVVVfAAAAAPVVVVVVVVVV8AAAAA9VVVVVVVVVXwAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVV8AAAAAPVVVVVVVVVXwAAAAA///////9VVfAAAAAD///////1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVXwAAAAA/wAAAAA9VVfAAAAAD/AAAAAD1VV8AAAAAP8AAAAAD1VfAAAAAA/wAAAAAPVV8AAAAAD/AAAAAAP//AAAAAAP8AAAAAAP/wAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAD18AAAAAAAAAAAAAAPXwAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAPXwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAPVV8AAAAAAAAAAAAA9VV8AAAAAAAAAAAAPVVV8AAAAAAAAAAAD1VVV8AAAAAAAAAAD9VVVV////////////VVVVV///////////VVVA="},
{"width" : "59", "buffer":"VVVVVVVVVf//////1VVVVVVVVVVVX///////VVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVV8AAAAAD1VVVVVVVVVVVXwAAAAA9VVVVVVVVVVVV8AAAAAD1VVVVVVVVVVVXwAAAAA9f//////VVVVV8AAAAAD1//////9VVVVXwAAAAA9XwAAAAD1VVVV8AAAAAD1fAAAAAPVVVVXwAAAAA9V8AAAAA9VVVV8AAAAAD1XwAAAAD1VVVXwAAAAA9VfAAAAAPVVVV8AAAAAD1V8AAAAA9VVVXwAAAAA9VXwAAAAD1VVV8AAAAAD1VfAAAAAPVVVXwAAAAA9VV8AAAAA9VVV8AAAAAD1VXwAAAAD1VVXwAAAAA9VVfAAAAAPVVV8AAAAAD1VV8AAAAA9VVXwAAAAA9VVXwAAAAD1VV8AAAAAD1VVfAAAAAPVVXwAAAAA9VVV8AAAAA9VVfAAAAAD1VVXwAAAAD1VV8AAAAA9VVVfAAAAAPVVXwAAAAD1VVV8AAAAA9VVfAAAAAD////AAAAAA///8AAAAAD///wAAAAAA///wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAP//////////wAAAAAA//9//////////wAAAAAP//VVVVVVVVVVXwAAAAD1VVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVV//////9VVVVVVVVVVVVX//////1VVA"},
{"width" : "51", "buffer":"f///////////////9f///////////////9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAP////////9fAAAAAA/////////1fAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAA/////1VVVVfAAAAAAP/////9VVVfAAAAAAAAAAAP/1VVfAAAAAAAAAAAAD9VVfAAAAAAAAAAAAAP1VfAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAPf////////8AAAAAAPf/////////AAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPf//////VVV8AAAAAP///////VVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAD1VV8AAAAAP8AAAAAD1VXwAAAAAP8AAAAAA///AAAAAAP8AAAAAAP/8AAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVVfAAAAAAAAAAAAA9VVXwAAAAAAAAAAAD1VVX8AAAAAAAAAAA/VVVVf///////////9VVVVX///////////VVVA"},
{"width" : "50", "buffer":"VVV//////////1VVVVVf//////////9VVVVfwAAAAAAAAAD9VVVX8AAAAAAAAAAA/VVV8AAAAAAAAAAAA9VVfAAAAAAAAAAAAA9VV8AAAAAAAAAAAAA9VfAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPV8AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAA//wAAAAAD3wAAAAAP//wAAAAAPfAAAAAD1VXwAAAAA98AAAAAPVVXwAAAAD3wAAAAA9VVfAAAAAPfAAAAAD1VV8AAAAA98AAAAAPVVXwAAAAD3wAAAAA9VVfAAAAAPfAAAAAD1VV8AAAAA98AAAAAPVVXwAAAAD3wAAAAA9VVfAAAAAPfAAAAAD1VV//////98AAAAAPVVX//////3wAAAAA9VVVVVVVVVfAAAAAD1VVVVVVVVV8AAAAAPVVVVVVVVVXwAAAAA9VVVVVVVVVfAAAAAD1VVVVVVVVV8AAAAAPVVVVVVVVVXwAAAAA9VVVVVVVVVfAAAAAD1VVVVVVVVV8AAAAAD/////1VVVXwAAAAAD//////1VVfAAAAAAAAAAAD/9VV8AAAAAAAAAAAAD9VXwAAAAAAAAAAAAA9VfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAA//8AAAAAA/wAAAAAP//8AAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVV8AAAAA/wAAAAA9VVXwAAAAD/AAAAAD1VVfAAAAAP8AAAAAPVVV8AAAAA/wAAAAA9VVXwAAAAD/AAAAAD1VVfAAAAAP8AAAAAPVVV8AAAAA/wAAAAA9VVXwAAAAD/AAAAAD1VVfAAAAAP8AAAAAPVVV8AAAAA/wAAAAA9VVXwAAAAD/AAAAAD1VVfAAAAAP8AAAAAPVVV8AAAAA/wAAAAA9VVXwAAAAD/AAAAAD1VVfAAAAAP8AAAAAPVVV8AAAAA/wAAAAA9VVXwAAAAD/AAAAAD1VVfAAAAAP8AAAAAPVVV8AAAAA/wAAAAAPVVfAAAAAD/AAAAAAP//wAAAAAP8AAAAAAP/8AAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA98AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAD1V8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAD1VX8AAAAAAAAAAAA9VVX8AAAAAAAAAAA/VVVV////////////1VVVV///////////1VVA="},
{"width" : "48", "buffer":"////////////////////////////////8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAAP8AAAAAAAAAAAAAA98AAAAAAAAAAAAAA98AAAAAAAAAAAAAA9////////wAAAAAA9////////8AAAAAD1VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAD1VVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAA9VVVVVVVVXwAAAAA9VVVVVVVVXwAAAAA9VVVVVVVVXwAAAAA9VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAD1VVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAA9VVVVVVVVXwAAAAA9VVVVVVVVXwAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAD1VVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAA9VVVVVVVVXwAAAAA9VVVVVVVVXwAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAA9VVVVVVVVXwAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAD1VVVVVVVXwAAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAA9VVVVVVVVfAAAAAA9VVVVVVVVf//////9VVVVVVVVf//////9VVVVVVV"},
{"width" : "51", "buffer":"VVV///////////VVVVVX///////////1VVVV/AAAAAAAAAAA/VVVX8AAAAAAAAAAAP1VVfAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVXwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAP/8AAAAAAP8AAAAAA///AAAAAAP8AAAAAD1VXwAAAAAP8AAAAAPVVV8AAAAAP8AAAAA9VVV8AAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAA98AAAAA9VVVfAAAAA9fAAAAAPVVV8AAAAA9fAAAAAPVVV8AAAAA9fAAAAAD///wAAAAA9fAAAAAA///AAAAAA9XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVVfAAAAAAAAAAAAA9VVXwAAAAAAAAAAAD1VVXwAAAAAAAAAAAA9VVfAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAPVXwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAA///AAAAAA9fAAAAAD///wAAAAA9fAAAAAPVVV8AAAAA98AAAAAPVVV8AAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAA9VVVfAAAAAP8AAAAAPVVV8AAAAAP8AAAAAPVVV8AAAAAP8AAAAAD///wAAAAAP8AAAAAA///AAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVVfAAAAAAAAAAAAA9VVXwAAAAAAAAAAAD1VVX8AAAAAAAAAAA/VVVVf///////////9VVVVX///////////VVVA"},
{"width" : "50", "buffer":"VVV//////////9VVVVV////////////VVVVfwAAAAAAAAAA/VVVXwAAAAAAAAAAAP1VV8AAAAAAAAAAAAPVVfAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAPVfAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAP8AAAAAA//8AAAAAA/wAAAAAP//8AAAAAD/AAAAAD1VV8AAAAAP8AAAAAPVVV8AAAAA/wAAAAA9VVXwAAAAD/AAAAAPVVVfAAAAAP8AAAAA9VVV8AAAAA/wAAAAD1VVXwAAAAD/AAAAAPVVVfAAAAAP8AAAAA9VVV8AAAAA/wAAAAD1VVXwAAAAD/AAAAAPVVVfAAAAAP8AAAAA9VVV8AAAAA/wAAAAD1VVXwAAAAD/AAAAAPVVVfAAAAAP8AAAAA9VVV8AAAAA/wAAAAD1VVXwAAAAD/AAAAAPVVVfAAAAAP8AAAAA9VVV8AAAAA/wAAAAD1VVXwAAAAD/AAAAAPVVVfAAAAAP8AAAAA9VVV8AAAAA/wAAAAA9VVXwAAAAD/AAAAAD1VVfAAAAAP8AAAAAD1VV8AAAAA/wAAAAAD///AAAAAD/AAAAAAD//wAAAAAP8AAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAPV8AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAPVX8AAAAAAAAAAAAA9VX8AAAAAAAAAAAAD1VV//AAAAAAAAAAAPVVV///////AAAAAA9VVVVf/////AAAAAD1VVVVVVVVVfAAAAAPVVVVVVVVVV8AAAAA9VVVVVVVVVXwAAAAD1VVVVVVVVVfAAAAAPVVVVVVVVVV8AAAAA9VVVVVVVVVXwAAAAD1VVVVVVVVVfAAAAAPVVVVVVVVVV8AAAAA9//////9VVXwAAAAD3//////1VVfAAAAAPfAAAAAPVVV8AAAAA98AAAAA9VVXwAAAAD3wAAAAD1VVfAAAAAPfAAAAAPVVV8AAAAA98AAAAA9VVXwAAAAD3wAAAAD1VVfAAAAAPfAAAAAD1VV8AAAAA98AAAAAPVVfAAAAAD3wAAAAAP//wAAAAAPfAAAAAAP/8AAAAAA98AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAA98AAAAAAAAAAAAAAD3wAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAA9XwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAA9VfAAAAAAAAAAAAAD1VfAAAAAAAAAAAAA9VV8AAAAAAAAAAAAD1VV8AAAAAAAAAAAA9VVV/AAAAAAAAAAA/VVVV////////////1VVVVf//////////1VVA="},
{"width" : "20", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//////////////AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA//////////////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/////////////wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA/wAAAAD/AAAAAP8AAAAA//////////////"}
]
}

View File

@ -0,0 +1,17 @@
{
"name":"Yumaro",
"size":"88",
"characters":[
{"width" : "59", "buffer":"VVVVVVV/////1VVVVVVVVVVVVV///////VVVVVVVVVVVVfwAAAAD/1VVVVVVVVVVXwAAAAAAP1VVVVVVVVVV8AAAAAAAD9VVVVVVVVVfAAAAAAAAD9VVVVVVVVXwAAAAAAAAA9VVVVVVVV8AAAAAAAAAA9VVVVVVVfAAAAAAAAAAA9VVVVVVV8AAAAAAAAAAA9VVVVVVfAAAAAAAAAAAD1VVVVVXwAAAAAAAAAAAD1VVVVV8AAAAAAAAAAAAD1VVVVXwAAAAAAAAAAAAPVVVVV8AAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAAA9VVVXwAAAAAAPwAAAAAD1VVV8AAAAAAP/wAAAAAPVVVXwAAAAAD9XwAAAAAPVVV8AAAAAA9VXwAAAAA9VVXwAAAAAPVVXwAAAAA9VV8AAAAAD1VVfAAAAAD1VXwAAAAAPVVVfAAAAAPVVfAAAAAD1VVV8AAAAA9VXwAAAAAPVVVV8AAAAD1VfAAAAAD1VVVXwAAAAD1V8AAAAAPVVVVXwAAAAPVfAAAAAD1VVVVfAAAAA9V8AAAAAPVVVVV8AAAAD1XwAAAAA9VVVVXwAAAAPVfAAAAAPVVVVVfAAAAAPV8AAAAA9VVVVVfAAAAA9fAAAAAD1VVVVV8AAAAD18AAAAA9VVVVVXwAAAAPXwAAAAD1VVVVVfAAAAA9fAAAAAPVVVVVV8AAAAD18AAAAA9VVVVVXwAAAAPXwAAAAPVVVVVVfAAAAA9fAAAAA9VVVVVV8AAAAD3wAAAAD1VVVVVXwAAAAD/AAAAAPVVVVVVfAAAAAP8AAAAA9VVVVVV8AAAAA/wAAAAD1VVVVVXwAAAAD/AAAAAPVVVVVVfAAAAAP8AAAAA9VVVVVV8AAAAA/wAAAAD1VVVVVXwAAAAD/AAAAAPVVVVVVfAAAAAP8AAAAA9VVVVVXwAAAAA/wAAAAD1VVVVVfAAAAAD/AAAAAPVVVVVV8AAAAAP8AAAAA9VVVVVXwAAAAA/wAAAAD1VVVVVfAAAAAD/AAAAAPVVVVVV8AAAAA98AAAAAPVVVVVXwAAAAD3wAAAAA9VVVVV8AAAAAPfAAAAAD1VVVVXwAAAAA9fAAAAAPVVVVVfAAAAAD18AAAAA9VVVVV8AAAAA9XwAAAAD1VVVVfAAAAAD1fAAAAAD1VVVV8AAAAAPV8AAAAAPVVVVfAAAAAA9XwAAAAA9VVVV8AAAAAPVXwAAAAD1VVVXwAAAAA9VfAAAAAPVVVV8AAAAAD1V8AAAAA9VVVXwAAAAA9VV8AAAAA9VVV8AAAAAD1VXwAAAAD1VVfAAAAAA9VVfAAAAAD1VV8AAAAAD1VVfAAAAAD1VfAAAAAA9VVV8AAAAAD9fwAAAAAD1VVV8AAAAAD/8AAAAAA9VVVXwAAAAAA8AAAAAAPVVVVXwAAAAAAAAAAAAA9VVVVfAAAAAAAAAAAAAPVVVVVfAAAAAAAAAAAAD1VVVVVfAAAAAAAAAAAA9VVVVVV8AAAAAAAAAAAPVVVVVVV8AAAAAAAAAAD1VVVVVVV8AAAAAAAAAA9VVVVVVVV/AAAAAAAAAPVVVVVVVVV/AAAAAAAAD1VVVVVVVVVfwAAAAAAD9VVVVVVVVVVf8AAAAAA/VVVVVVVVVVVX/AAAAA/VVVVVVVVVVVVV//wA//1VVVVVVVVVVVVVf////1VVVVVVVVVVVVVVVX/1VVVVVVVVU="},
{"width" : "37", "buffer":"VVVVVVX///1VVVVVVVf////1VVVVVVfwAAA/VVVVVVfAAAAA9VVVVVfAAAAAD1VVVVfAAAAAA9VVVVfAAAAAAD1VVVfAAAAAAA9VVVfAAAAAAAPVVVfAAAAAAAD1VVfAAAAAAAA9VVfAAAAAAAAPVVfAAAAAAAAD1VfAAAAAAAAA9VXwAAAAAAAAPVXwAAAAAAAAD1XwAAAAAAAAA9V8AAAAAAAAAPV8AAAAAAAAAD18AAAAAAAAAA9fAAAAAAAAAAPfAAAAAAAAAAD/AAAAAAAAAAA/wAAAAAAAAAAP8AAAAAAAAAAD/AAAAAAAAAAA/wAAAAAAAAAAP8AAAAAAAAAAD/AAAAAAAAAAA/wAAAAAAAAAA98AAAAAAAAAAPfAAAAAAAAAAD18AAAAAAAAAA9fwAAAAAAAAAPVf8AAAAAAAAD1V////AAAAAA9VVf//8AAAAAPVVVVVXwAAAAD1VVVVV8AAAAA9VVVVVfAAAAAPVVVVVXwAAAAD1VVVVV8AAAAA9VVVVVfAAAAAPVVVVVXwAAAAD1VVVVV8AAAAA9VVVVVfAAAAAPVVVVVXwAAAAD1VVVVV8AAAAA9VVVVVfAAAAAPVVVVVXwAAAAD1VVVVV8AAAAA9VVVVVfAAAAAPVVVVVfAAAAAD1VVVVXwAAAAA9VVVVV8AAAAAPVVVVVfAAAAAD1VVVVXwAAAAA9VVVVV8AAAAAPVVVVVfAAAAAD1VVVVV8AAAAA9VVVVVfAAAAAPVVVVVXwAAAAD1VVVVV8AAAAA9VVVVVfAAAAAPVVVVVXwAAAAD1VVVVV8AAAAA9VVVVVfAAAAAPVVVVVV8AAAAD1VVVVVfAAAAA9VVVVVXwAAAAPVVVVVV8AAAAA9VVVVVfAAAAAPVVVVVXwAAAAD1VVVVVfAAAAA9VVVVVXwAAAAPVVVVVV8AAAAD1VVVVVfAAAAA9VVVVVXwAAAAPVVVVVV8AAAAD1VVVVVXwAAAA9VVVVVV8AAAAPVVVVVVfAAAAD1VVVVVV8AAAD9VVVVVVfAAAD9VVVVVVV/AAP1VVVVVVVX///1VVVVVVVVX//VVVVVVVVVVVVVVQ=="},
{"width" : "52", "buffer":"VVVVVV///////VVVVVVVVVf////////1VVVVVVX/8AAAAAAD/1VVVVVf/AAAAAAAAA/VVVVVfwAAAAAAAAAA/VVVVfAAAAAAAAAAAD1VVVfAAAAAAAAAAAAPVVVfAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAA9XwAAAAP/AAAAAAAAPV8AAAA///AAAAAAAD1XwAAP/VX8AAAAAAA9V/AD/9VVXwAAAAAA9VX///VVVVfAAAAAAPVVX/1VVVVXwAAAAAD1VVVVVVVVVfAAAAAA9VVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVV8AAAAAD1VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAD1VVVVVVVVXwAAAAAD1VVVVVVVVXwAAAAAA9VVVVVVVVXwAAAAAA9VVVVVVVVV8AAAAAA9VVVVVVVVV8AAAAAAPVVVVVVVVV8AAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAD1VVVVVVVVfAAAAAAD1VVVVVVVVXwAAAAAD1VVVVVVVVXwAAAAAD1VVVVVVVVXwAAAAAA9VVVVVVVVXwAAAAAA9VVVVVVVVV8AAAAAA9VVVVVVVVV8AAAAAA9VVVVVVVVV8AAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVfAAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAD1VVVVVVVVXwAAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAA9VVVVVVVVVfAAAAAAPVVVVVVVVVXwAAAAAA9VVVVVVVVXwAAAAAAD////9VVVV8AAAAAAAP/////1VVfAAAAAAAAAAAAP/1VXwAAAAAAAAAAAAA/VXwAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAPV8AAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAA9VfAAAAAAAAAAAAAD/VV/AAAAAAAAAAP///VVX//wAAAAA/////1VVVX//////////VVVVVVVVV/////9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ=="},
{"width" : "52", "buffer":"VVVVX///////9VVVVVVVX/////////9VVVVVV//wAAAAAAAP9VVVVX/wAAAAAAAAAP1VVVf8AAAAAAAAAAAPVVVfwAAAAAAAAAAAA9VVfAAAAAAAAAAAAAD1VXwAAAAAAAAAAAAAPVXwAAAAAAAAAAAAAD1VfAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAA9VfAAAAD/wAAAAAAAPVV/wP/////AAAAAAD1VX////1V//AAAAAA9VVV/VVVVVX8AAAAAPVVVVVVVVVVXwAAAAA9VVVVVVVVVVfAAAAAPVVVVVVVVVVXwAAAAD1VVVVVVVVVV8AAAAA9VVVVVVVVVVfAAAAA9VVVVVVVVVVXwAAAAPVVVVVVVVVVXwAAAAD1VVVVVVVVVXwAAAAA9VVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAD1VVVVVVVVfwAAAAAA9VVVVVVVVfwAAAAAA9VVVVVVVV/AAAAAAAPVVVVVVVV/AAAAAAAPVVVVVVVX8AAAAAAAD1VVVVVVX8AAAAAAAD1VVVVVVfwAAAAAAAD1VVVVVVfwAAAAAAAA9VVVVVVfAAAAAAAAA9VVVVVVfAAAAAAAAA9VVVVVVfAAAAAAAAA9VVVVVVXwAAAAAAAA9VVVVVVV8AAAAAAAAPVVVVVVV8AAAAAAAAA9VVVVVVfAAAAAAAAAD1VVVVVXwAAAAAAAAAP1VVVVV8AAAAAAAAAA/VVVVVfAAAAAAAAAAA9VVVVV8AAAAAAAAAAD1VVVVfAAAAAAAAAAAPVVVVV///AAAAAAAAD1VVVVX///8AAAAAAAPVVVVVVVX/8AAAAAAA9VVVVVVVVfwAAAAAAPVVVVVVVVVfAAAAAAA9VVVVVVVVV8AAAAAAPVVVVVVVVVXwAAAAAA9VVVVVVVVV8AAAAAAPVVVVVVVVVXwAAAAAD1VVVVVVVVV8AAAAAA9VVVVVVVVVfAAAAAAD1VVVVVVVVXwAAAAAA9VVVVVVVVV8AAAAAAPVVVVVVVVVfAAAAAAD1VVVVVVVVfAAAAAAA9VVVVVVVVfAAAAAAAPVVVVVVVVfAAAAAAAPVVVVVVVVfAAAAAAAD1VVVVVVVfAAAAAAAA9VVVVVVV/AAAAAAAAPVVVVVVf/AAAAAAAAPVVVVX//8AAAAAAAAD1VVf///AAAAAAAAAD1VVf/wAAAAAAAAAAA9VVXwAAAAAAAAAAAA9VVXwAAAAAAAAAAAA9VVV8AAAAAAAAAAAA9VVVfAAAAAAAAAAAA9VVVfAAAAAAAAAAAA9VVVXwAAAAAAAAAAA9VVVV8AAAAAAAAAAD9VVVVfAAAAAAAAAAD9VVVVXwAAAAAAAAA/1VVVVVfwAAAAAAAP/1VVVVVV/wAAAAAP/9VVVVVVVV/8AAAA//VVVVVVVVVV//wAP/VVVVVVVVVVVVf///9VVVVVVVVVVVVVV//VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ=="},
{"width" : "62", "buffer":"VVV////1VVVVVVVVVVVVVVX/////1VVVVVVVVVVVVVV/wAAAD1VVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVV8AAAAAAPVVVVV/VVVVVVXwAAAAAD1VVVX//9VVVVVfAAAAAAPVVVX/wP/VVVVV8AAAAAA9VVVfAAA/VVVVXwAAAAAD1VVXwAAAPVVVV8AAAAAA9VVVfAAAA9VVVXwAAAAAD1VVV8AAAA9VVVfAAAAAAPVVVXwAAAD1VVV8AAAAAD1VVVfAAAAD1VVXwAAAAAPVVVXwAAAAPVVVfAAAAAA9VVVfAAAAA9VVV8AAAAAD1VVV8AAAAD1VVfAAAAAAPVVVXwAAAAPVVV8AAAAAD1VVVfAAAAA9VVXwAAAAAPVVVV8AAAAD1VVfAAAAAA9VVVXwAAAAPVVV8AAAAAD1VVVfAAAAA9VVXwAAAAAPVVVV8AAAAD1VVfAAAAAA9VVVXwAAAAPVVV8AAAAAD1VVVfAAAAA9VVXwAAAAAPVVVXwAAAAD1VVfAAAAAD1VVVfAAAAAPVVV8AAAAAPVVVV8AAAAD1VVXwAAAAA9VVVXwAAAAPVVVfAAAAAD1VVVfAAAAA9VVV8AAAAAPVVVV8AAAAD1VVXwAAAAA9VVVXwAAAAPVVVfAAAAAD1VVVfAAAAA9VVV8AAAAAPVVVV8AAAAD1VVXwAAAAA9VVVXwAAAAPVVVfAAAAAD1VVVfAAAAA9VVV8AAAAAD1VVV8AAAAD1VVXwAAAAAPVVVXwAAAAPVVVfAAAAAA9VVVfAAAAA9VVV8AAAAAD1VVV8AAAAD1VVXwAAAAAD1VVXwAAAAPVVVfAAAAAAPVVVfAAAAA9VVV8AAAAAAPVVV8AAAAD1VVXwAAAAAAP1VXwAAAAPVVVXwAAAAAAP1V8AAAAAP1VVfAAAAAAAD//AAAAAAP/9V8AAAAAAAD/wAAAAAAD//V8AAAAAAAAAAAAAAAAAA9XwAAAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAAAPVV/AAAAAAAAAAAAAAAAD1VV/wAAAAAAAAAAAAAAAPVVVf/AAAAAAAAAAAAAAP1VVVX//AAAAAAAAAAAA/9VVVVVf//AAAAAAAAAA/9VVVVVVVf//wAAAAAAAP1VVVVVVVVVf//AAAAAAD1VVVVVVVVVVVX/AAAAAAPVVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVV8AAAAAD1VVVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVV8AAAAAA9VVVVVVVVVVVVXwAAAAAD1VVVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVV8AAAAAD1VVVVVVVVVVVVXwAAAAAPVVVVVVVVVVVVVfAAAAAA9VVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVVVXwAAP1VVVVVVVVVVVVVVVX8AP9VVVVVVVVVVVVVVVVX//9VVVVVVVVVVVVVVVVVV/9VVVVVVVVVVVVVVVVVVVVVVVVVVU="},
{"width" : "48", "buffer":"VVV////////1VVVVVVf/////////9VVVVV/AAAAAAAAP/9VVVXwAAAAAAAAAD/1VVfAAAAAAAAAAAD9VV8AAAAAAAAAAAAPVV8AAAAAAAAAAAAPVXwAAAAAAAAAAAAD1XwAAAAAAAAAAAAD1XwAAAAAAAAAAAAD1fAAAAAAAAAAAAAD1fAAAAAAAAAAAAAPVfAAAAAAAAAAAAAPVfAAAAAAP/wAAAAPVfAAAAAA////8AD9V8AAAAAD1Vf////1V8AAAAAPVVVVX/9VV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAPVVVVVVVVV8AAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAD1VVVVVVVV8AAAAAD1VVVVVVVVfAAAAAD1VVVVVVVVfAAAAAA9VVVVVVVVfAAAAAAP1VVVVVVVfAAAAAAD//1VVVVVfAAAAAAAP//1VVVVfAAAAAAAAAP/VVVVfAAAAAAAAAAP9VVVfAAAAAAAAAAA/VVVfAAAAAAAAAAAD9VVfAAAAAAAAAAAA/VVfAAAAAAAAAAAAD1VfAAAAAAAAAAAAA9VfAAAAAAAAAAAAA9VXwAAAAAAAAAAAAPVXwAAAAAAAAAAAAD1V/wAAAAAAAAAAAD1Vf/8AAAAAAAAAAA9VVf////8AAAAAAA9VVVX////wAAAAAA9VVVVVVVX8AAAAAA9VVVVVVVVfAAAAAAPVVVVVVVVfAAAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAAPVVVVVVVVXwAAAAAPVVVVVVVVfAAAAAAPVVVVVVVVfAAAAAAPVVVVVVVVfAAAAAA9VVVVVVVV8AAAAAA9VVVVVVVXwAAAAAA9VVVVVVVXwAAAAAA9VVVVVVVfAAAAAAD1VVVVVVV8AAAAAAD1VVVVVVXwAAAAAAPVVVVVVV/AAAAAAAPVVVVVVX8AAAAAAAPVVVVVVfAAAAAAAA9VVVVVV8AAAAAAAA9VVVVVXwAAAAAAAD1VVVVVfAAAAAAAAPVVVVVV8AAAAAAAAPVVVVVV8AAAAAAAA9VVVVVXwAAAAAAAD1VVVVVV8AAAAAAAD1VVVVVV8AAAAAAAPVVVVVVV8AAAAAAD9VVVVVVVfAAAAAAP1VVVVVVVXwAAAAA9VVVVVVVVV8AAAAP1VVVVVVVVVfwAAA/VVVVVVVVVVX/AAP1VVVVVVVVVVVf///VVVVVVVVVVVVV//1VVVVVVVVVVVVVVVVVVVVVV"},
{"width" : "56", "buffer":"VVVVVVVV////1VVVVVVVVVVVVV/////1VVVVVVVVVVVVfwAAAD1VVVVVVVVVVVXwAAAAPVVVVVVVVVVVX8AAAAAPVVVVVVVVVVV/AAAAAA9VVVVVVVVVVfAAAAAAD1VVVVVVVVVXwAAAAAA9VVVVVVVVVV8AAAAAAD1VVVVVVVVVfAAAAAAA9VVVVVVVVVXwAAAAAAPVVVVVVVVVVfAAAAAAD1VVVVVVVVVXwAAAAAA9VVVVVVVVVVfAAAAAAPVVVVVVVVVVXwAAAAAD1VVVVVVVVVVfAAAAAA9VVVVVVVVVVV8AAAAAPVVVVVVVVVVVfAAAAAD1VVVVVVVVVVV8AAAAAPVVVVVVVVVVVfAAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAD1VVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVfAAAAAPVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVXwAAAAPVVVVVVVVVVVV8AAAAA9f//VVVVVVVVXwAAAAA/////VVVVVVVfAAAAAA8AAP/1VVVVVXwAAAAAAAAAAP9VVVVVfAAAAAAAAAAAD/VVVVV8AAAAAAAAAAAA/VVVVfAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAA9VXwAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAA9V8AAAAAAD/8AAAAAAD1XwAAAAAA///AAAAAAD18AAAAAAPVV/AAAAAAPXwAAAAAD1VVfAAAAAAPfAAAAAA9VVVfAAAAAA98AAAAAD1VVV8AAAAAD3wAAAAAPVVVV8AAAAAPfAAAAAA9VVVXwAAAAAP8AAAAAD1VVVfAAAAAA/wAAAAAPVVVV8AAAAAD/AAAAAA9VVVXwAAAAAP8AAAAAD1VVVfAAAAAA/wAAAAAPVVVV8AAAAAD/AAAAAA9VVVXwAAAAAP8AAAAAD1VVVfAAAAAA/wAAAAAD1VVV8AAAAAD/AAAAAAPVVVXwAAAAA9fAAAAAA9VVVfAAAAAD18AAAAAD1VVXwAAAAAPXwAAAAAPVVVfAAAAAA9XwAAAAAPVVV8AAAAAD1fAAAAAA9VVfAAAAAA9VfAAAAAD1VV8AAAAAD1V8AAAAAD1VfAAAAAAPVXwAAAAAPVXwAAAAAA9VXwAAAAAPV8AAAAAAPVVfAAAAAA9fAAAAAAA9VVfAAAAAA/wAAAAAAPVVV8AAAAAA8AAAAAAA9VVXwAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAA9VVVVXwAAAAAAAAAAAPVVVVVXwAAAAAAAAAAD1VVVVVXwAAAAAAAAAA9VVVVVVXwAAAAAAAAA/VVVVVVVXwAAAAAAAAP1VVVVVVVX8AAAAAAAP1VVVVVVVVX8AAAAAAD9VVVVVVVVVV/AAAAAD9VVVVVVVVVVV/wAAAP/VVVVVVVVVVVVf/////VVVVVVVVVVVVVX///9VVVVVVVVVVVVVVVVVVVVVVVVVU="},
{"width" : "51", "buffer":"VVV////////////1VV//////////////9VX//AAAAAAAAAAAAPVfAAAAAAAAAAAAAAD18AAAAAAAAAAAAAAA98AAAAAAAAAAAAAAA98AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAA98AAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAD1V/AAAAAAAAAAAAAD1Vf//AAAAAAAAAAAD1VV//////AAAAAAAD1VVVV/////AAAAAAD1VVVVVVVV/wAAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAA9VVVVVVVVVXwAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAA9VVVVVVVVVfAAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAAPVVVVVVVVVXwAAAAA9VVVVVVVVVXwAAAAA9VVVVVVVVVXwAAAAA9VVVVVVVVVXwAAAAA9VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVVfAAAAAD1VVVVVVVVV8AAAAAD1VVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAAPVVVVVVVVVV8AAAAA9VVVVVVVVVV8AAAAA9VVVVVVVVVV8AAAAA9VVVVVVVVVV8AAAAD1VVVVVVVVVV8AAAAD1VVVVVVVVVV8AAAAPVVVVVVVVVVV8AAAAPVVVVVVVVVVV8AAAA9VVVVVVVVVVV8AAAP1VVVVVVVVVVVfAAA/VVVVVVVVVVVVX8A/1VVVVVVVVVVVVV///VVVVVVVVVVVVVVX/VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV"},
{"width" : "56", "buffer":"VVVVVVX////9VVVVVVVVVVVVf//////1VVVVVVVVVVf/AAAAA/9VVVVVVVVVX8AAAAAAD/1VVVVVVVX8AAAAAAAA/9VVVVVVV/AAAAAAAAAD9VVVVVVfAAAAAAAAAAA9VVVVVfwAAAAAAAAAAA9VVVVV8AAAAAAAAAAAA9VVVVfAAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAA9VVfAAAAAAP/AAAAAAD1VV8AAAAAD//wAAAAAD1VfAAAAAA9VfwAAAAAPVV8AAAAAPVVXwAAAAA9VXwAAAAA9VVXwAAAAD1VfAAAAAPVVVfAAAAAPVV8AAAAA9VVVfAAAAAPVXwAAAAD1VVVfAAAAA9VXwAAAAPVVVV8AAAAD1VfAAAAAPVVVXwAAAAPVV8AAAAA9VVVfAAAAA9VXwAAAAA9VVV8AAAAD1VXwAAAAD1VVXwAAAAPVVfAAAAAD1VVfAAAAA9VV8AAAAAD9VfwAAAAD1VV8AAAAAD//8AAAAAPVVXwAAAAAA/8AAAAAA9VVXwAAAAAAAAAAAAAPVVVfAAAAAAAAAAAAAA9VVVfAAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAA9VVVXwAAAAAAAAAAAAPVVVVfAAAAAAAAAAAAA9VVVV8AAAAAAAAAAAAPVVVVfAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAPVVVVfAAAAAAAAAAAAD1VVVXwAAAAAAAAAAAAD1VVV8AAAAAAAAAAAAAPVVVfAAAAAAPwAAAAAAPVVV8AAAAAD/wAAAAAAPVVXwAAAAA9XwAAAAAA9VV8AAAAAD1XwAAAAAA9VXwAAAAA9VXwAAAAAD1VfAAAAAPVVfAAAAAAD1V8AAAAA9VVfAAAAAAPVfAAAAAPVVVfAAAAAAPV8AAAAA9VVVfAAAAAA9XwAAAAPVVVV8AAAAAA9fAAAAA9VVVV8AAAAAD18AAAAD1VVVXwAAAAAPfAAAAAPVVVVXwAAAAAP8AAAAA9VVVVfAAAAAA/wAAAAD1VVVV8AAAAAD/AAAAAPVVVVXwAAAAAP8AAAAA9VVVVfAAAAAA/wAAAAD1VVVV8AAAAAD/AAAAAPVVVVXwAAAAAP8AAAAA9VVVVfAAAAAA/wAAAAD1VVVV8AAAAAD3wAAAAD1VVVfAAAAAAPfAAAAAPVVVV8AAAAAA98AAAAAPVVVfAAAAAAD3wAAAAA9VVV8AAAAAA9fAAAAAA9VVfAAAAAAD1fAAAAAA9VXwAAAAAAPV8AAAAAA/X8AAAAAAA9XwAAAAAA//AAAAAAAPVXwAAAAAAPAAAAAAAA9VfAAAAAAAAAAAAAAAPVV8AAAAAAAAAAAAAAA9VV8AAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAPVVVXwAAAAAAAAAAAAP1VVVXwAAAAAAAAAAAD9VVVVXwAAAAAAAAAAD9VVVVVX8AAAAAAAAAD/VVVVVVX/AAAAAAAAD/VVVVVVVV/wAAAAAAA/VVVVVVVVVf/wAAAAD/VVVVVVVVVVX///////1VVVVVVVVVVVX/////VVVVVVU="},
{"width" : "58", "buffer":"VVVVVVV//////1VVVVVVVVVVVX///////9VVVVVVVVVVf8AAAAAA/9VVVVVVVVVfwAAAAAAAP/VVVVVVVVfAAAAAAAAAP/9VVVVVV/AAAAAAAAAAD/9VVVVV/AAAAAAAAAAAAP1VVVV8AAAAAAAAAAAAAPVVVV8AAAAAAAAAAAAAA9VVV8AAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAD1VV8AAAAAAAAAAAAAAAPVVfAAAAAAAAAAAAAAAD1VfAAAAAAAwAAAAAAAA9VfAAAAAAA/8AAAAAAAPVXwAAAAAD9/wAAAAAAD1XwAAAAAD9VfAAAAAAA9V8AAAAAD1VXwAAAAAAPVfAAAAAD1VV8AAAAAAD1fAAAAAD1VVfAAAAAAD1XwAAAAA9VVXwAAAAAA9XwAAAAA9VVXwAAAAAAPV8AAAAA9VVV8AAAAAAD1fAAAAA9VVVfAAAAAAA9fAAAAAPVVVfAAAAAAAPXwAAAAPVVVXwAAAAAAD18AAAAD1VVXwAAAAAAA9fAAAAD1VVV8AAAAAAAPXwAAAA9VVV8AAAAAAAD3wAAAAPVVV8AAAAAAAD18AAAAPVVV8AAAAAAAA9fAAAAD1VV8AAAAAAAAPXwAAAA9VV8AAAAAAAAD18AAAAPVX8AAAAAAAAA9fAAAAA//8AAAAAAAAAPXwAAAAD/wAAAAAAAAAD18AAAAAAAAAAAAAAAAA9fAAAAAAAAAAAAAAAAAPXwAAAAAAAAAAAAAAAAD1fAAAAAAAAAAAAAAAAD1XwAAAAAAAAAAAAAAAA9V8AAAAAAAAAAAAAAAAPVfAAAAAAAAAAAAAAAAD1V8AAAAAAAAAAAAAAAA9VfAAAAAAAAAAAAAAAAPVXwAAAAAAAAADAAAAAD1VfAAAAAAAAAD8AAAAA9VV8AAAAAAAAD3wAAAAPVVXwAAAAAAAP18AAAAD1VVfwAAAAAA/1fAAAAA9VVV/8AAAAP/VXwAAAAPVVVV//////9VV8AAAAPVVVVVf////VVVfAAAAD1VVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVfAAAAPVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVV8AAAA9VVVVVVVVVVVVVXwAAAPVVVVVVVVVVVVVV8AAAD1VVVVVVVVVVVVVfAAAA9VVVVVVVVVVVVVX/AAA9VVVVVVVVVVVVVVf//wPVVVVVVVVVVVVVVVX///1VVVVVVVVVVVVVVVVV/1VVQ=="},
{"width" : "25", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX1VVVVX///9VVVf//w/1VVfwAAAP1VfAAAAA/VfAAAAAA9XwAAAAAD3wAAAAAA98AAAAAAD/AAAAAAA/wAAAAAAP8AAAAAAD3wAAAAAA98AAAAAAPXwAAAAAD1fAAAAAA9V8AAAAA9VXwAAAA9VVfAAAAPVVV/AAA/VVVX////VVVVX//9VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX//9VVVVf////VVV/wAAP9VV/AAAAD1VfAAAAAPVfAAAAAA9XwAAAAAPXwAAAAAD18AAAAAA9fAAAAAAPXwAAAAAD18AAAAAA9XwAAAAAPV8AAAAAD1fAAAAAA9V8AAAAAPVfAAAAAPVXwAAAAPVVf/////VVV/////VQ=="}
]
}

View File

@ -0,0 +1,17 @@
{
"name":"YuseiMagic",
"size":"96",
"characters":[
{"width" : "67", "buffer":"VVVVVVVVVX///1VVVVVVVVVVVVVVVVf//////VVVVVVVVVVVVVVX//wAAA//1VVVVVVVVVVVV//AAAAAAD/1VVVVVVVVVVX/wAAAAAAAA/1VVVVVVVVVX8AAAAAAAAAA/VVVVVVVVVfwAAAAAAAAAAA/VVVVVVVVfwAAAAAAAAAAAD9VVVVVVVfAAAAAAAAAAAAAD1VVVVVVfAAAAAA//8AAAAA9VVVVVVfAAAAAD///wAAAAD1VVVVVfAAAAAD9VVfAAAAAPVVVVVXwAAAAD1VVV8AAAAA9VVVVXwAAAAD1VVVXwAAAAPVVVVV8AAAAD1VVVVfAAAAA9VVVV8AAAAD1VVVVXwAAAAPVVVV8AAAAA9VVVVVfAAAAA9VVVfAAAAA9VVVVVV8AAAAD1VVfAAAAA9VVVVVVfAAAAA9VVXwAAAAPVVVVVVV8AAAAPVVXwAAAAPVVVVVVVfAAAAA9VV8AAAAD1VVVVVVXwAAAAPVVfAAAAD1VVVVVVVfAAAAD1VfAAAAA9VVVVVVVXwAAAAPVXwAAAAPVVVVVVVV8AAAAD1V8AAAAPVVVVVVVVXwAAAA9V8AAAAD1VVVVVVVV8AAAAD1fAAAAA9VVVVVVVVfAAAAA9XwAAAAPVVVVVVVVXwAAAAPV8AAAAPVVVVVVVVVfAAAAD1fAAAAD1VVVVVVVVXwAAAA9fAAAAA9VVVVVVVVV8AAAAPXwAAAAPVVVVVVVVVfAAAAA98AAAAD1VVVVVVVVXwAAAAPfAAAAD1VVVVVVVVV8AAAAD3wAAAA9VVVVVVVVVXwAAAA98AAAAPVVVVVVVVVV8AAAAPfAAAAD1VVVVVVVVVfAAAAD3wAAAA9VVVVVVVVVXwAAAA98AAAAPVVVVVVVVVV8AAAAPfAAAAD1VVVVVVVVVfAAAAD3wAAAA9VVVVVVVVVXwAAAA98AAAAPVVVVVVVVVV8AAAAPfAAAAD1VVVVVVVVVfAAAAD3wAAAA9VVVVVVVVVXwAAAAP8AAAAPVVVVVVVVVV8AAAAD/AAAAD1VVVVVVVVVfAAAAA/wAAAA9VVVVVVVVVXwAAAAP8AAAAPVVVVVVVVVV8AAAAPfAAAAD1VVVVVVVVVfAAAAD3wAAAA9VVVVVVVVVXwAAAA98AAAAPVVVVVVVVVV8AAAAPfAAAAD1VVVVVVVVVfAAAAD3wAAAA9VVVVVVVVVXwAAAA98AAAAPVVVVVVVVVV8AAAAPfAAAAD1VVVVVVVVVfAAAAD3wAAAA9VVVVVVVVVXwAAAA98AAAAPVVVVVVVVVXwAAAAPfAAAAD1VVVVVVVVV8AAAAD3wAAAAPVVVVVVVVVfAAAAA98AAAAD1VVVVVVVVXwAAAAPfAAAAA9VVVVVVVVV8AAAAPXwAAAAPVVVVVVVVVfAAAAD1fAAAAD1VVVVVVVVXwAAAA9XwAAAA9VVVVVVVVXwAAAAPV8AAAAD1VVVVVVVV8AAAAD1fAAAAA9VVVVVVVVfAAAAA9XwAAAAPVVVVVVVVXwAAAA9VfAAAAD1VVVVVVVXwAAAAPVXwAAAAPVVVVVVVV8AAAAD1V8AAAAD1VVVVVVVfAAAAA9VfAAAAA9VVVVVVVXwAAAA9VV8AAAAD1VVVVVVXwAAAAPVVfAAAAA9VVVVVVV8AAAAD1VXwAAAAPVVVVVVVfAAAAD1VVfAAAAA9VVVVVVfAAAAA9VVXwAAAAPVVVVVVXwAAAAPVVVfAAAAA9VVVVVXwAAAAPVVVXwAAAAPVVVVVV8AAAAD1VVVfAAAAA9VVVVV8AAAAD1VVVXwAAAAPVVVVVfAAAAA9VVVVfAAAAA9VVVVfAAAAA9VVVVXwAAAAD1VVVfAAAAAPVVVVVfAAAAAPVVVfAAAAAPVVVVVXwAAAAA9VVfAAAAAPVVVVVVfAAAAAD1VfAAAAAD1VVVVVV8AAAAAP//AAAAAD1VVVVVVXwAAAAA//AAAAAD1VVVVVVVfAAAAAAAAAAAAD1VVVVVVVV8AAAAAAAAAAAD1VVVVVVVVX8AAAAAAAAAAP1VVVVVVVVVf8AAAAAAAAA/1VVVVVVVVVVf8AAAAAAAD/VVVVVVVVVVVVf/AAAAAA/9VVVVVVVVVVVVVf///////1VVVVVVVVVVVVVVX/////9VVVVVVVV" },
{"width" : "29", "buffer":"VVVVVVVVVVVVVX///VVVVVV/////1VVVfAAAP/1VVV8AAAAPVVVfAAAAAPVVXwAAAAA9VVfAAAAAD1VXwAAAAAPVVfAAAAAA9VXwAAAAAD1VfAAAAAAPVXwAAAAAA9VfAAAAAAD1XwAAAAAAPVfAAAAAAA9XwAAAAAAD18AAAAAAAPXwAAAAAAA98AAAAAAAD3wAAAAAAAP8AAAAAAAA/wAAAAAAAD/AAAAAAAAP8AAAAAAAA/wAAAAAAAD/AAAAAAAAP/AAAAAAAA9/8AAAAAAD1f/8AAAAAPVV/8AAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVV8AAAAD1VVXwAAAAPVVVfAAAAA9VVVfAAAAD1VVV8AAAA9VVVV/////1VVVV////9VVVVVVVVVV" },
{"width" : "62", "buffer":"VVVVVVVVf////VVVVVVVVVVVVVVV///////VVVVVVVVVVVVX/8AAAAP/1VVVVVVVVVVX/wAAAAAAP9VVVVVVVVVX/AAAAAAAAD/VVVVVVVVX/AAAAAAAAAA/VVVVVVVV/AAAAAAAAAAAP1VVVVVVfAAAAAAAAAAAAP1VVVVVXwAAAAAD8AAAAAD1VVVVV8AAAAAP//AAAAAD1VVVVfAAAAAD/V/wAAAAD1VVVV8AAAAA9VVfwAAAAD1VVVfAAAAAPVVVXwAAAAD1VVXwAAAAD1VVVXwAAAAPVVVfAAAAA9VVVVfAAAAAPVVXwAAAAPVVVVVfAAAAAPVVfAAAAA9VVVVVfAAAAA9VXwAAAAPVVVVVV8AAAAD1VfAAAAA9VVVVVV8AAAAD1V8AAAAPVVVVVVXwAAAAPVfAAAAA9VVVVVVfAAAAA9V8AAAAD1VVVVVVfAAAAA9XwAAAA9VVVVVVV8AAAAD18AAAAD1VVVVVVXwAAAAPXwAAAAPVVVVVVVfAAAAA9fAAAAA9VVVVVVV8AAAAD18AAAAPVVVVVVVXwAAAAPXwAAAA9VVVVVVVfAAAAA98AAAAD1VVVVVVV8AAAAD3wAAAAPVVVVVVVXwAAAAPfAAAAA9VVVVVVVfAAAAA98AAAAD1VVVVVVXwAAAAPXwAAAAPVVVVVVVfAAAAA9fAAAAA9VVVVVVV8AAAAD18AAAAPVVVVVVVXwAAAAPXwAAAA9VVVVVVV8AAAAD1fAAAAD1VVVVVVXwAAAAPXwAAAAPVVVVVVVfAAAAA9fAAAAA9VVVVVVXwAAAAPV8AAAAD1VVVVVVfAAAAA9XwAAAAPVVVVVVXwAAAAD1XwAAAD1VVVVVVfAAAAA9Vf8AAD/VVVVVVXwAAAAD1Vf////1VVVVVVfAAAAA9VVV///VVVVVVVXwAAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVV8AAAAAPVVVVVVVVVVVVVfAAAAAD1VVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVfAAAAAPVVVVVVVVVVVVVXwAAAAA9VVVVVVVVVVVVV8AAAAAA////////1VVVVfAAAAAAA/////////VVVV8AAAAAAAAAAAAAAD/VVVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAAPVVXwAAAAAAAAAAAAAAAA9VVfAAAAAAAAAAAAAAAAD1VVf/////////////////VVVf////////////////VVVVVVVVVVVVVVVVVVVVVVV" },
{"width" : "63", "buffer":"VVVVVVVVVf///VVVVVVVVVVVVVVVV//////1VVVVVVVVVVVVV//wAAA//1VVVVVVVVVVVf/AAAAAAP/VVVVVVVVVVX/AAAAAAAAP9VVVVVVVVV/wAAAAAAAAA/VVVVVVVVX8AAAAAAAAAAD9VVVVVVVfAAAAAAAAAAAA/VVVVVVV8AAAAAAAAAAAAD1VVVVVXwAAAAA//wAAAAA9VVVVVfAAAAAP///AAAAAPVVVVV8AAAAA/VVfwAAAAD1VVVXwAAAAD1VVV8AAAAA9VVVfAAAAAPVVVVfAAAAAPVVVfAAAAA9VVVVXwAAAAPVVV8AAAAA9VVVVXwAAAAD1VV8AAAAD1VVVVV8AAAAD1VXwAAAAPVVVVVVfAAAAA9VXwAAAAPVVVVVVfAAAAA9VfAAAAA9VVVVVVfAAAAA9VfAAAAA9VVVVVVXwAAAAPVfAAAAD1VVVVVVXwAAAAPV8AAAAD1VVVVVVXwAAAAPV8AAAAD1VVVVVVV8AAAAPV8AAAAPVVVVVVVV8AAAAPV8AAAAPVVVVVVVV8AAAAPXwAAAAPVVVVVVVV8AAAAPXwAAAAPVVVVVVVV8AAAAPXwAAAAPVVVVVVVV8AAAAPXwAAAA9VVVVVVVV8AAAAPXwAAAA9VVVVVVVV8AAAAPXwAAAA9VVVVVVVV8AAAAPXwAAAA9VVVVVVVXwAAAAPXwAAAA9VVVVVVVXwAAAAPV/////1VVVVVVVXwAAAAPVf////VVVVVVVVXwAAAA9VVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV/AAAAAPVVVVVVVVVVVVVf8AAAAA9VVVVVVVVVVV///AAAAAD1VVVVVVVVV////wAAAAAD1VVVVVVVVX//AAAAAAAA/VVVVVVVVVfAAAAAAAAAD9VVVVVVVVVfAAAAAAAAAPVVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVfAAAAAAAAA9VVVVVVVVVVfAAAAAAAAAP1VVVVVVVVVXwAAAAAAAAD9VVVVVVVVVX///wAAAAAAPVVVVVVVVVVf///wAAAAAD1VVVVVVVVVVVVf/AAAAAA9VVVVVVVVVVVVVf8AAAAAPVVVVVVVVVVVVVV/AAAAAPVVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVV8AAAAA9VVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVXwAAAAPVX//9VVVVVVVVVV8AAAAPX////9VVVVVVVVV8AAAAPf8AAD/VVVVVVVVV8AAAAPfAAAAPVVVVVVVVV8AAAAP8AAAAD1VVVVVVVV8AAAAP8AAAAD1VVVVVVVV8AAAAP8AAAAD1VVVVVVVV8AAAAPfAAAAD1VVVVVVVV8AAAAPfAAAAD1VVVVVVVXwAAAAPfAAAAA9VVVVVVVXwAAAAPfAAAAA9VVVVVVVXwAAAAPXwAAAA9VVVVVVVXwAAAA9XwAAAAPVVVVVVVXwAAAA9XwAAAAPVVVVVVVfAAAAA9V8AAAAD1VVVVVVfAAAAA9V8AAAAA9VVVVVV8AAAAD1VfAAAAAPVVVVVXwAAAAD1VfAAAAAD1VVVVfAAAAAPVVXwAAAAA/VVVX8AAAAAPVVV8AAAAAP/VX/wAAAAA9VVVfAAAAAA///8AAAAAD1VVVXwAAAAAA/8AAAAAAPVVVVV/AAAAAAAAAAAAAA9VVVVVf8AAAAAAAAAAAAP1VVVVVV/AAAAAAAAAAAD/VVVVVVVX/AAAAAAAAAD/1VVVVVVVV//AAAAAAAD/9VVVVVVVVVV/////////9VVVVVVVVVVVV///////9VVVVVV" },
{"width" : "68", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf///1VVVVVVVVV//1VVVVVf////9VVVVVVVV/////VVVX8AAAD1VVVVVVVXwAD//VVVfAAAAD1VVVVVVV8AAAAPVVXwAAAAPVVVVVVVXwAAAA9VVfAAAAA9VVVVVVVfAAAAD1VV8AAAAD1VVVVVVV8AAAAPVVXwAAAAPVVVVVVVXwAAAA9VVfAAAAA9VVVVVVV8AAAAD1VV8AAAAD1VVVVVVXwAAAAPVVXwAAAAPVVVVVVVfAAAAA9VVfAAAAA9VVVVVVV8AAAAD1VV8AAAAD1VVVVVVXwAAAA9VVXwAAAAPVVVVVVVfAAAAD1VVfAAAAA9VVVVVVXwAAAAPVVV8AAAAD1VVVVVVfAAAAA9VVXwAAAAPVVVVVVV8AAAAD1VVfAAAAA9VVVVVVXwAAAAPVVV8AAAAD1VVVVVVfAAAAD1VVXwAAAAPVVVVVVV8AAAAPVVVfAAAAA9VVVVVVfAAAAA9VVV8AAAAD1VVVVVV8AAAAD1VVXwAAAAPVVVVVVXwAAAAPVVVfAAAAA9VVVVVVfAAAAA9VVV8AAAAD1VVVVVV8AAAAPVVVXwAAAAPVVVVVVXwAAAA9VVVfAAAAA9VVVVVV8AAAAD1VVV8AAAAD1VVVVVXwAAAAPVVVXwAAAAPVVVVVVfAAAAA9VVVfAAAAA9VVVVVV8AAAAD1VVV8AAAAD1VVVVVXwAAAA9VVVXwAAAAPVVVVVVfAAAAD1VVVfAAAAA9VVVVVXwAAAAPVVVV8AAAAD1VVVVVfAAAAA9VVVXwAAAAPVVVVVV8AAAAD1VVVfAAAAA9VVVVVXwAAAAPVVVV8AAAAD1VVVVVfAAAAD1VVVXwAAAAPVVVVVV8AAAAPVVVVfAAAAA9VVVVVfAAAAA9VVVV8AAAAD1VVVVV8AAAAD1VVVXwAAAAPVVVVVXwAAAAPVVVVfAAAAA9VVVVVfAAAAA9VVVV8AAAAD1VVVVV8AAAAPVVVVXwAAAAPVVVVVXwAAAA9VVVVfAAAAA9VVVVV8AAAAD1VVVV8AAAAD1VVVVXwAAAAPVVVVXwAAAAPVVVVVfAAAAA9VVVVfAAAAA9VVVVV8AAAAD1VVVV8AAAAD1VVVVXwAAAA9VVVVXwAAAAPVVVVVfAAAAD1VVVVfAAAAA9VVVVXwAAAAPVVVVV8AAAAD1VVVVfAAAAA9VVVVXwAAAAPVVVVV8AAAAD1VVVVfAAAAA9VVVVXwAAAAPVVVVV8AAAAD1VVVVfAAAAD1VVVVXwAAAAPVVVVV8AAAAPVVVVVfAAAAA9VVVVXwAAAA9VVVVV8AAAAD1VVVV8AAAAD1VVVVXwAAAAPVVVVXwAAAAPVVVVVfAAAAA9VVVVfAAAAA9VVVVV8AAAAD1VVVV8AAAAD1VVVVXwAAAAPVVVVXwAAAA9VVVVVfAAAAA9VVVVfAAAAD1VVVVV8AAAAD1VVVXwAAAAPVVVVVXwAAAAPVVVVfAAAAA9VVVVVfAAAAA9VVVV8AAAAD1VVVVV8AAAAD1VVVXwAAAAPVVVVVXwAAAAPVVVVfAAAAD1VVVVVfAAAAA9VVVV8AAAAD//////wAAAAA///VfAAAAAD/////8AAAAAA///18AAAAAAAAAAAAAAAAAAAAP3wAAAAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAA9/AAAAAAAAAAAAAAAAAAAAP1////////////AAAAAAP//9Vf///////////AAAAAD//9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVVVX/////1VVVVVVVVVVVVVVVVX////9VVVVVVVVVVVVVVVVVVVVVVVVVVV" },
{"width" : "61", "buffer":"VVV////9VVVVVVVVVVVVVVV////////////////VVVV8AAAAP///////////VVVfAAAAAAAAAAAAAAAD9VVXwAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAD1VVfAAAAAAAAAAAAAAAA9VVXwAAAAAAAAAAAAAAAPVVV8AAAAAAAAAAAAAAAD1VVfAAAAAP//////////9VVXwAAAAP//////////1VVV8AAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAAP////VVVVVVVVVV8AAAAA/////9VVVVVVVVfAAAAAAAAAD//VVVVVVVfAAAAAAAAAAAP/VVVVVVXwAAAAAAAAAAAD/VVVVVV8AAAAAAAAAAAAD/VVVVVfAAAAAAAAAAAAAD9VVVVXwAAAAAAAAAAAAAD1VVVV8AAAAAAAAAAAAAAPVVVVfAAAAA////AAAAAA9VVVXwAAA//////AAAAAD1VVV8AAP/9VVVX/AAAAAPVVVXwD/9VVVVVX8AAAAD1VVV///VVVVVVVXwAAAAPVVVV/1VVVVVVVV8AAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAAD1VVVVVVVVVVVVV8AAAAD1VVX9VVVVVVVVV8AAAAA9VV//9VVVVVVVV8AAAAA9VX/wP9VVVVVVV8AAAAA9VX8AAP/VVVVVV8AAAAAPVXwAAAP/1VVVX8AAAAAPVV8AAAAD//1V/8AAAAAPVV8AAAAAA////wAAAAAPVVXwAAAAAAA/8AAAAAA/VVV8AAAAAAAAAAAAAAA/VVVX/AAAAAAAAAAAAAD9VVVVf/wAAAAAAAAAAAP9VVVVVX//AAAAAAAAAA/1VVVVVVV//8AAAAAAAP/VVVVVVVVVX/////////9VVVVVVVVVVVf///////VVVVVVV" },
{"width" : "64", "buffer":"VVVVVVVVV////1VVVVVVVVVVVVVVV//////9VVVVVVVVVVVVVX/8AAAA//VVVVVVVVVVVVf8AAAAAAP9VVVVVVVVVVVfwAAAAAAAD9VVVVVVVVVV/AAAAAAAAAP1VVVVVVVVV/AAAAAAAAAAPVVVVVVVVV8AAAAAAAAAAA9VVVVVVVV8AAAAAPAAAAAD1VVVVVVV8AAAAA//wAAAAPVVVVVVVfAAAAD/X/AAAAA9VVVVVVfAAAAD9VV8AAAAPVVVVVVfAAAAD1VVXwAAAA9VVVVVfAAAAD1VVVfAAAAD1VVVVXwAAAA9VVVV8AAAAPVVVVXwAAAA9VVVVXwAAAD1VVVV8AAAAPVVVVV8AAAAPVVVV8AAAAPVVVVVXwAAAD1VVVfAAAAD1VVVVV8AAAAPVVVXwAAAD1VVVVVXwAAAA9VVXwAAAA9VVVVVV8AAAAPVVV8AAAAPVVVVVVfAAAAD1VVfAAAAPVVVVVVV8AAAAPVVfAAAAD1VVVVVVfAAAAPVVXwAAAA9VVVVVVXwAAAD1VV8AAAA9VVVVVVVfAAAP1VV8AAAAPVVVVVVVX8A//1VVfAAAAD1VVVVVVVf///VVVXwAAAA9VVVVVVVVf9VVVVXwAAAA9VVVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVVfAAAAD1VVX///1VVVVVVVfAAAAA9Vf//////VVVVVVXwAAAAPX//wAAA//1VVVVV8AAAAA//AAAAAAD/1VVVVfAAAAADwAAAAAAAA/VVVVXwAAAAAAAAAAAAAAA/VVVV8AAAAAAAAAAAAAAAD9VVVfAAAAAAAAAAAAAAAAD1VVXwAAAAAAAAAAAAAAAAPVVXwAAAAAAAAA//wAAAAA9VV8AAAAAAAAP///AAAAAD1VfAAAAAAAAP9VV8AAAAA9VXwAAAAAAA/VVVXwAAAAD1V8AAAAAAA/VVVVfAAAAAPVfAAAAAAA9VVVVV8AAAAA9XwAAAAAA9VVVVVXwAAAAPV8AAAAAA9VVVVVV8AAAAA9fAAAAAA9VVVVVVXwAAAAPXwAAAAA9VVVVVVV8AAAAD18AAAAAPVVVVVVVXwAAAAPfAAAAAPVVVVVVVV8AAAAD3wAAAAPVVVVVVVVfAAAAA98AAAAD1VVVVVVVV8AAAAPfAAAAA9VVVVVVVVfAAAAA/wAAAAPVVVVVVVVXwAAAAP8AAAAD1VVVVVVVV8AAAAD/AAAAA9VVVVVVVVfAAAAA/wAAAAPVVVVVVVVXwAAAAP8AAAAD1VVVVVVVV8AAAAD/AAAAA9VVVVVVVVfAAAAA98AAAAPVVVVVVVVXwAAAAPfAAAAD1VVVVVVVV8AAAAD3wAAAA9VVVVVVVVfAAAAA98AAAAD1VVVVVVVXwAAAAPfAAAAA9VVVVVVVV8AAAAD18AAAAPVVVVVVVVfAAAAA9fAAAAD1VVVVVVVXwAAAAPXwAAAAPVVVVVVVV8AAAAPV8AAAAD1VVVVVVVfAAAAD1XwAAAA9VVVVVVVfAAAAA9V8AAAAD1VVVVVVXwAAAAPVXwAAAA9VVVVVVXwAAAAPVV8AAAAD1VVVVVV8AAAAD1VfAAAAAPVVVVVV8AAAAD1VV8AAAAD1VVVVV8AAAAA9VVXwAAAAPVVVVVfAAAAA9VVV8AAAAA/VVVV/AAAAAPVVVXwAAAAD/VVV/AAAAAPVVVVfAAAAAD/9f8AAAAAPVVVVV8AAAAAD//8AAAAAPVVVVVXwAAAAAAPAAAAAAPVVVVVVfAAAAAAAAAAAAAPVVVVVVV/AAAAAAAAAAAA/VVVVVVVX/AAAAAAAAAAD/VVVVVVVVX/AAAAAAAAAP9VVVVVVVVVX/8AAAAAAD/1VVVVVVVVVVX/////////VVVVVVVVVVVVVf//////1VVVVVV" },
{"width" : "61", "buffer":"X////1VVVVVVVVVVVVVVX//////////////////9XwAAAA//////////////98AAAAAAAAAAAAAAAAAAPfAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAP8AAAAAP//////8AAAAAPfAAAAAP///////wAAAAD3wAAAAPVVVVVVVfAAAAA98AAAAD1VVVVVVXwAAAAPfAAAAA9VVVVVVV8AAAAPXwAAAAPVVVVVVVfAAAAD18AAAAD1VVVVVVfAAAAA9fAAAAA9VVVVVVXwAAAAPXwAAAAPVVVVVVV8AAAAD18AAAAD1VVVVVVfAAAAD1fAAAAA9VVVVVVXwAAAA9XwAAAAPVVVVVVXwAAAAPV8AAAAD1VVVVVV8AAAAD1fAAAAA9VVVVVVfAAAAA9V8AAAAPVVVVVVXwAAAA9VfAAAAD1VVVVVV8AAAAPVXwAAAA9VVVVVV8AAAAD1V8AAAAPVVVVVVfAAAAA9VfAAAAD1VVVVVXwAAAAPVXwAAAA9VVVVVV8AAAAPVV8AAAAPVVVVVVfAAAAD1VfAAAAD1VVVVVfAAAAA9VXwAAAA9VVVVVXwAAAAPVV8AAAAD1VVVVV8AAAAD1VfAAAAA9VVVVVfAAAAD1VXwAAAAPVVVVVfAAAAA9VV8AAAAD1VVVVXwAAAAPVVfAAAAA9VVVVV8AAAAD1VXwAAAAPVVVVVfAAAAA9VV8AAAAD1VVVVXwAAAA9VVfAAAAA9VVVVXwAAAAPVVXwAAAAPVVVVV8AAAAD1VV8AAAAD1VVVVfAAAAA9VVfAAAAA9VVVVXwAAAAPVVV8AAAAPVVVVV8AAAAD1VVfAAAAD1VVVV8AAAAD1VVXwAAAA9VVVVfAAAAA9VVV8AAAAPVVVVXwAAAAPVVVfAAAAD1VVVV8AAAAD1VVXwAAAD9VVVVfAAAAA9VVVf////9VVVVfAAAAA9VVVV////1VVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVXwAAAD1VVVVVVVVVVVVVV/////9VVVVVVVVVVVVVVV////9VVVVVV" },
{"width" : "68", "buffer":"VVVVVVVVV////1VVVVVVVVVVVVVVVVf//////1VVVVVVVVVVVVVV//wAAAD//VVVVVVVVVVVVV/8AAAAAAD/1VVVVVVVVVVV/wAAAAAAAAP9VVVVVVVVVV/wAAAAAAAAAD9VVVVVVVVVfwAAAAAAAAAAA/VVVVVVVVfwAAAAAAAAAAAA/VVVVVVVX8AAAAAD/AAAAAAPVVVVVVVfAAAAAP//8AAAAAPVVVVVVXwAAAAD/Vf8AAAAAPVVVVVV8AAAAA9VVV/AAAAAPVVVVVfAAAAAPVVVV/AAAAAPVVVVXwAAAAD1VVVVfAAAAA9VVVV8AAAAA9VVVVV8AAAAA9VVVXwAAAAPVVVVVV8AAAAA9VVV8AAAAD1VVVVVV8AAAAD1VVXwAAAAPVVVVVVV8AAAAD1VVfAAAAA9VVVVVVXwAAAAPVVXwAAAAPVVVVVVVfAAAAA9VVfAAAAA9VVVVVVVfAAAAA9VV8AAAAD1VVVVVVV8AAAAD1VXwAAAAPVVVVVVVV8AAAAPVVfAAAAA9VVVVVVVXwAAAA9VV8AAAAD1VVVVVVVfAAAAD1VXwAAAAPVVVVVVVV8AAAAPVVfAAAAA9VVVVVVVXwAAAAPVV8AAAAD1VVVVVVVfAAAAA9VXwAAAAPVVVVVVVV8AAAAPVVfAAAAA9VVVVVVVXwAAAA9VV8AAAAD1VVVVVVVfAAAAD1VV8AAAAD1VVVVVVXwAAAAPVVXwAAAAPVVVVVVVfAAAAA9VVfAAAAAPVVVVVVV8AAAAD1VVfAAAAA9VVVVVVfAAAAA9VVV8AAAAA9VVVVVV8AAAAD1VVV8AAAAD1VVVVVfAAAAA9VVVXwAAAAD1VVVVXwAAAAD1VVVXwAAAAD1VVVVfAAAAA9VVVVXwAAAAD1VVVXwAAAAD1VVVVXwAAAAD1VVV8AAAAA9VVVVVfAAAAAD9VV/AAAAAPVVVVVVfAAAAAD9V/wAAAAD1VVVVVVfAAAAAA//wAAAAA9VVVVVVVfwAAAAA/wAAAAAPVVVVVVVVfwAAAAAAAAAAAD1VVVVVVVVXwAAAAAAAAAAA9VVVVVVVVVXwAAAAAAAAAAPVVVVVVVVVV8AAAAAAAAAAAPVVVVVVVVV/AAAAAAAAAAAAPVVVVVVVVfwAAAAAAAAAAAAP1VVVVVVfwAAAAAA/AAAAAAP1VVVVVX8AAAAAD//8AAAAAD1VVVVV8AAAAAD/1f/AAAAAD1VVVVfAAAAAD/VVV/AAAAAD1VVVV8AAAAA/VVVVfAAAAAD1VVVfAAAAAPVVVVVfAAAAAD1VVXwAAAAD1VVVVVfAAAAAD1VV8AAAAA9VVVVVVfAAAAAPVVXwAAAAPVVVVVVVfAAAAAPVV8AAAAA9VVVVVVVfAAAAAPVXwAAAAPVVVVVVVVfAAAAA9V8AAAAD1VVVVVVVV8AAAAD1XwAAAAPVVVVVVVVV8AAAAD18AAAAD1VVVVVVVVXwAAAAPXwAAAAPVVVVVVVVVfAAAAA9fAAAAA9VVVVVVVVVfAAAAA98AAAAD1VVVVVVVVV8AAAAD/AAAAA9VVVVVVVVVXwAAAAP8AAAAD1VVVVVVVVVfAAAAA/wAAAAPVVVVVVVVVVfAAAAD/AAAAA9VVVVVVVVVV8AAAAP8AAAAD1VVVVVVVVVXwAAAA/wAAAAPVVVVVVVVVV8AAAAD/AAAAA9VVVVVVVVVXwAAAAP8AAAAD1VVVVVVVVVfAAAAA/wAAAAPVVVVVVVVVV8AAAAD3wAAAA9VVVVVVVVVXwAAAA9fAAAAA9VVVVVVVVV8AAAAD18AAAAD1VVVVVVVVXwAAAAPXwAAAAD1VVVVVVVV8AAAAD1XwAAAAPVVVVVVVVfAAAAAPVfAAAAAPVVVVVVVXwAAAAD1VfAAAAAPVVVVVVV8AAAAAPVVfAAAAAP1VVVVVfAAAAAD1VV8AAAAAP9VVVVfwAAAAA9VVV8AAAAAD//VX/8AAAAAPVVVV/AAAAAA////8AAAAAD1VVVV/AAAAAAAP/AAAAAAA9VVVVVfwAAAAAAAAAAAAAA/VVVVVVf8AAAAAAAAAAAAA/1VVVVVVX/AAAAAAAAAAAA/1VVVVVVVV/8AAAAAAAAAD/1VVVVVVVVVf/8AAAAAAAP/1VVVVVVVVVVV//////////VVVVVVVVVVVVVV///////9VVVVVVV" },
{"width" : "62", "buffer":"VVVVVVVVf///9VVVVVVVVVVVVVVV//////9VVVVVVVVVVVVX/8AAAA//1VVVVVVVVVVX/wAAAAAA/9VVVVVVVVVV/AAAAAAAAD/VVVVVVVVV/AAAAAAAAAA/1VVVVVVVfwAAAAAAAAAAP1VVVVVVXwAAAAAAAAAAAD1VVVVVX8AAAAAPwAAAAAD1VVVVV/AAAAAP//AAAAAD1VVVVfAAAAAD9X/AAAAAD1VVVV8AAAAA9VVfAAAAAPVVVVfAAAAAPVVVfAAAAAPVVVXwAAAAD1VVVfAAAAAPVVV8AAAAA9VVVVfAAAAA9VVXwAAAAPVVVVVfAAAAA9VV8AAAAD1VVVVVfAAAAD1VXwAAAAPVVVVVV8AAAAD1V8AAAAD1VVVVVXwAAAAPVXwAAAAPVVVVVVXwAAAA9V8AAAAD1VVVVVVfAAAAA9XwAAAAPVVVVVVV8AAAAD1fAAAAA9VVVVVVV8AAAAPXwAAAAPVVVVVVVXwAAAA9fAAAAA9VVVVVVVfAAAAD18AAAAD1VVVVVVV8AAAAPXwAAAA9VVVVVVVXwAAAAP8AAAAD1VVVVVVVfAAAAA/wAAAAPVVVVVVVV8AAAAD/AAAAA9VVVVVVVXwAAAAP8AAAAD1VVVVVVVfAAAAA/wAAAAPVVVVVVVV8AAAAD/AAAAA9VVVVVVVXwAAAAP8AAAAD1VVVVVVV8AAAAD3wAAAAPVVVVVVVXwAAAAPfAAAAA9VVVVVVVfAAAAA98AAAAD1VVVVVVV8AAAAD3wAAAAPVVVVVVVfAAAAAPfAAAAA9VVVVVVV8AAAAA98AAAAD1VVVVVVXwAAAAPXwAAAAPVVVVVVV8AAAAA9XwAAAA9VVVVVVXwAAAAD1fAAAAD1VVVVVV8AAAAAPV8AAAAD1VVVVVXwAAAAA9XwAAAAPVVVVVV8AAAAAPVfAAAAA9VVVVVXwAAAAA9VfAAAAD1VVVVV8AAAAAD1V8AAAAD1VVVVXwAAAAAPVXwAAAAPVVVVV8AAAAAA9VXwAAAAPVVVVfAAAAAAPVVfAAAAA9VVVV8AAAAAA9VVfAAAAA9VVVfAAAAAAD1VV8AAAAA9VVXwAAAAAAPVVV8AAAAA9VV8AAAAAAA9VVXwAAAAA/1/AAAAAAAD1VVXwAAAAA//wAAAAAAA9VVVXwAAAAADwAAAAAAAD1VVVXwAAAAAAAAAAAAAAPVVVVXwAAAAAAAAAAAAAA9VVVVX8AAAAAAAAAAAAAD1VVVVX/AAAAAAAAAAAAA9VVVVVV/wAAAAAAAAAAAD1VVVVVVf/wAAAAMAAAAAPVVVVVVVX//////8AAAAA9VVVVVVVVX////98AAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAA9VVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAA9VVVVVVVVVVVVVV8AAAAD1VVVVVVVVVVVVVXwAAAAPVVVVVVVVVVVVVVfAAAAD1VVVVVVVVVVVVVV8AAAAPVVVVVVVVVVVVVVV//8AD9VVVVVVVVVVVVVVV/////VVVVVVVVVVVVVVVVVV//VVVVV" },
{"width" : "19", "buffer":"VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf///1V/////1fAAAA/fAAAAD3wAAAAP8AAAAD/AAAAA/wAAAAP8AAAAD/AAAAA/wAAAAP8AAAAD/AAAAA/wAAAAPfAAAAPX/////VX////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf///1Vf////1fAAAA/fAAAAD3wAAAAP8AAAAD/AAAAA/wAAAAP8AAAAD/AAAAA/wAAAAP8AAAAD/AAAAA/wAAAAP8AAAAPX/////Vf////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV" }
]
}

49
apps/contourclock/lib.js Normal file
View File

@ -0,0 +1,49 @@
exports.drawClock = function(fontIndex) {
var digits = [];
fontFile=require("Storage").read("contourclock-"+Math.abs(parseInt(fontIndex+0.5))+".json");
if (fontFile==undefined) return(false); //exit if font file not found
var font = JSON.parse(fontFile);
for (var n in font.characters) {
digits.push({width: parseInt(font.characters[n].width),
height: font.size,
bpp: 2,
transparent: 1,
buffer:E.toArrayBuffer(atob(font.characters[n].buffer))});
}
if (n!=10) return (false); //font file seems to be invalid
var x=0;
var y = g.getHeight()/2-digits[0].height/2;
var date = new Date();
g.clearRect(0,38,g.getWidth()-1,138);
d1=parseInt(date.getHours()/10);
d2=parseInt(date.getHours()%10);
d3=10;
d4=parseInt(date.getMinutes()/10);
d5=parseInt(date.getMinutes()%10);
w1=digits[d1].width;
w2=digits[d2].width;
w3=digits[d3].width;
w4=digits[d4].width;
w5=digits[d5].width;
squeeze=(g.getWidth()-w5)/(w1+w2+w3+w4);
if (fontIndex<0) {
fg=g.theme.fg;
bg=g.theme.bg;
g.setColor(bg);
g.setBgColor(fg);
}
g.drawImage(digits[d1],x,y);
x+=parseInt(w1*squeeze);
g.drawImage(digits[d2],x,y);
x+=parseInt(w2*squeeze);
g.drawImage(digits[d3],x,y);
x+=parseInt(w3*squeeze);
g.drawImage(digits[d4],x,y);
x+=parseInt(w4*squeeze);
g.drawImage(digits[d5],x,y);
if (fontIndex<0) {
g.setColor(fg);
g.setBgColor(bg);
}
return font.name;
}

View File

@ -1,16 +1,19 @@
{ "id": "contourclock", { "id": "contourclock",
"name": "Contour Clock", "name": "Contour Clock",
"shortName" : "Contour Clock", "shortName" : "Contour Clock",
"version":"0.01", "version":"0.23",
"icon": "app.png", "icon": "app.png",
"description": "A Minimalist clockface with large Digits. Looks best with the dark theme", "description": "A Minimalist clockface with large Digits. Now with more fonts!",
"screenshots" : [{"url":"screenshot.png"}], "screenshots" : [{"url":"cc-screenshot-1.png"},{"url":"cc-screenshot-2.png"}],
"tags": "clock", "tags": "clock",
"custom": "custom.html",
"allow_emulator":true, "allow_emulator":true,
"supports" : ["BANGLEJS2"], "supports" : ["BANGLEJS2"],
"type": "clock", "type": "clock",
"storage": [ "storage": [
{"name":"contourclock.app.js","url":"app.js"}, {"name":"contourclock.app.js","url":"app.js"},
{"name":"contourclock.settings.js","url":"contourclock.settings.js"},
{"name":"contourclock","url":"lib.js"},
{"name":"contourclock.img","url":"app-icon.js","evaluate":true} {"name":"contourclock.img","url":"app-icon.js","evaluate":true}
] ]
} }

View File

@ -24,12 +24,7 @@ if (!settings) resetSettings();
function showMenu() { function showMenu() {
const datemenu = { const datemenu = {
'': { '': {
'title': 'Set Date', 'title': 'Set Date'
'predraw': function() {
datemenu.Date.value = settings.day;
datemenu.Month.value = settings.month;
datemenu.Year.value = settings.year;
}
}, },
'Day': { 'Day': {
value: settings.day, value: settings.day,

View File

@ -5,7 +5,7 @@
"description": "Shows you the days left until a certain date. Date can be set with a settings app and is written to a file.", "description": "Shows you the days left until a certain date. Date can be set with a settings app and is written to a file.",
"icon": "app.png", "icon": "app.png",
"tags": "", "tags": "",
"supports": ["BANGLEJS"], "supports": ["BANGLEJS", "BANGLEJS2"],
"allow_emulator": false, "allow_emulator": false,
"storage": [ "storage": [
{"name":"daysl.app.js","url":"app.js"}, {"name":"daysl.app.js","url":"app.js"},

View File

@ -1 +1,2 @@
0.01: New App! 0.01: New App!
0.02: Tweaked proximity identification settings

View File

@ -5,7 +5,7 @@
## Usage ## Usage
Real-time interactions will be recognised by [Pareto Anywhere](https://www.reelyactive.com/pareto/anywhere/) open source middleware and any other program which observes the [DirAct open standard](https://reelyactive.github.io/diract/). Real-time interactions will be recognised by [Pareto Anywhere](https://www.reelyactive.com/pareto/anywhere/) open source middleware and any other program which observes the [DirAct open standard](https://reelyactive.github.io/diract/). See our [Bangle.js Development Guide](https://reelyactive.github.io/diy/banglejs-dev/) for details.
## Features ## Features

View File

@ -1,5 +1,5 @@
/** /**
* Copyright reelyActive 2017-2021 * Copyright reelyActive 2017-2022
* We believe in an open Internet of Things * We believe in an open Internet of Things
* *
* DirAct is jointly developed by reelyActive and Code Blue Consulting * DirAct is jointly developed by reelyActive and Code Blue Consulting
@ -11,14 +11,14 @@ const NAMESPACE_FILTER_ID = [ 0xc0, 0xde, 0xb1, 0x0e, 0x1d,
0xd1, 0xe0, 0x1b, 0xed, 0x0c ]; 0xd1, 0xe0, 0x1b, 0xed, 0x0c ];
const EXCITER_INSTANCE_IDS = new Uint32Array([ 0xe8c17e45 ]); const EXCITER_INSTANCE_IDS = new Uint32Array([ 0xe8c17e45 ]);
const RESETTER_INSTANCE_IDS = new Uint32Array([ 0x4e5e77e4 ]); const RESETTER_INSTANCE_IDS = new Uint32Array([ 0x4e5e77e4 ]);
const PROXIMITY_RSSI_THRESHOLD = -65; const PROXIMITY_RSSI_THRESHOLD = -85;
const PROXIMITY_LED_RSSI_THRESHOLD = -65; const PROXIMITY_LED_RSSI_THRESHOLD = -85;
const PROXIMITY_TABLE_SIZE = 8; const PROXIMITY_TABLE_SIZE = 8;
const DIGEST_TABLE_SIZE = 32; const DIGEST_TABLE_SIZE = 32;
const OBSERVE_PERIOD_MILLISECONDS = 400; const OBSERVE_PERIOD_MILLISECONDS = 400;
const BROADCAST_PERIOD_MILLISECONDS = 3600; const BROADCAST_PERIOD_MILLISECONDS = 1600;
const BROADCAST_DIGEST_PAGE_MILLISECONDS = 400; const BROADCAST_DIGEST_PAGE_MILLISECONDS = 400;
const PROXIMITY_PACKET_INTERVAL_MILLISECONDS = 400; const PROXIMITY_PACKET_INTERVAL_MILLISECONDS = 200;
const DIGEST_PACKET_INTERVAL_MILLISECONDS = 100; const DIGEST_PACKET_INTERVAL_MILLISECONDS = 100;
const DIGEST_TIME_CYCLE_THRESHOLD = 86400; const DIGEST_TIME_CYCLE_THRESHOLD = 86400;
const EXCITER_HOLDOFF_SECONDS = 60; const EXCITER_HOLDOFF_SECONDS = 60;

View File

@ -2,7 +2,7 @@
"id": "diract", "id": "diract",
"name": "DirAct", "name": "DirAct",
"shortName": "DirAct", "shortName": "DirAct",
"version": "0.01", "version": "0.02",
"description": "Proximity interaction detection.", "description": "Proximity interaction detection.",
"icon": "diract.png", "icon": "diract.png",
"type": "app", "type": "app",

View File

@ -1,2 +1,2 @@
0.1: Added source code 0.01: Added source code
0.2: Added a README file 0.02: Added a README file

View File

@ -2,7 +2,7 @@
"id": "fd6fdetect", "id": "fd6fdetect",
"name": "fd6fdetect", "name": "fd6fdetect",
"shortName": "fd6fdetect", "shortName": "fd6fdetect",
"version": "0.2", "version": "0.02",
"description": "Allows you to see 0xFD6F beacons near you.", "description": "Allows you to see 0xFD6F beacons near you.",
"icon": "app.png", "icon": "app.png",
"tags": "tool", "tags": "tool",

View File

@ -1,7 +1,7 @@
{ {
"id": "ffcniftya", "id": "ffcniftya",
"name": "Nifty-A Clock", "name": "Nifty-A Clock",
"version": "0.01", "version": "0.02",
"description": "A nifty clock with time and date", "description": "A nifty clock with time and date",
"icon": "app.png", "icon": "app.png",
"screenshots": [{"url":"screenshot_nifty.png"}], "screenshots": [{"url":"screenshot_nifty.png"}],
@ -12,6 +12,8 @@
"allow_emulator": true, "allow_emulator": true,
"storage": [ "storage": [
{"name":"ffcniftya.app.js","url":"app.js"}, {"name":"ffcniftya.app.js","url":"app.js"},
{"name":"ffcniftya.img","url":"app-icon.js","evaluate":true} {"name":"ffcniftya.img","url":"app-icon.js","evaluate":true},
] {"name":"ffcniftya.settings.js","url":"settings.js"}
],
"data": [{"name":"ffcniftya.json"}]
} }

View File

@ -6,7 +6,7 @@
"description": "Simple file manager, allows user to examine watch storage and display, load or delete individual files", "description": "Simple file manager, allows user to examine watch storage and display, load or delete individual files",
"icon": "icons8-filing-cabinet-48.png", "icon": "icons8-filing-cabinet-48.png",
"tags": "tools", "tags": "tools",
"supports": ["BANGLEJS"], "supports": ["BANGLEJS","BANGLEJS2"],
"readme": "README.md", "readme": "README.md",
"storage": [ "storage": [
{"name":"fileman.app.js","url":"fileman.app.js"}, {"name":"fileman.app.js","url":"fileman.app.js"},

View File

@ -2,7 +2,7 @@
"id": "floralclk", "id": "floralclk",
"name": "Floral Clock", "name": "Floral Clock",
"version": "0.01", "version": "0.01",
"description": "A clock with a flower background by [Lillith May](https://www.instagram.com/_lilustrations_/). **Note: Works on any Bangle.js 2 but requires firmware 2v11 or later on Bangle.js 1**", "description": "A clock with a flower background by [Lillith May](https://www.instagram.com/_lilustrations_/)",
"icon": "app.png", "icon": "app.png",
"screenshots": [{"url":"screenshot_floral.png"}], "screenshots": [{"url":"screenshot_floral.png"}],
"type": "clock", "type": "clock",

View File

@ -7,7 +7,7 @@
"screenshots": [{"url":"screenshot.png"}, {"url":"screenshot1.png"}], "screenshots": [{"url":"screenshot.png"}, {"url":"screenshot1.png"}],
"type": "clock", "type": "clock",
"tags": "clock", "tags": "clock",
"supports": ["BANGLEJS2"], "supports" : ["BANGLEJS","BANGLEJS2"],
"readme": "README.md", "readme": "README.md",
"storage": [ "storage": [
{"name":"ftclock.app.js","url":"app.js"}, {"name":"ftclock.app.js","url":"app.js"},

View File

@ -4,3 +4,4 @@
Take 'beta' tag off Take 'beta' tag off
0.03: Improve bootloader update safety. Now sets unsafeFlash:1 to allow flash with 2v11 and later 0.03: Improve bootloader update safety. Now sets unsafeFlash:1 to allow flash with 2v11 and later
Add CRC checks for common bootloaders that we know don't work Add CRC checks for common bootloaders that we know don't work
0.04: Include a precompiled bootloader for easy bootloader updates

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3,33 +3,42 @@
<link rel="stylesheet" href="../../css/spectre.min.css"> <link rel="stylesheet" href="../../css/spectre.min.css">
</head> </head>
<body> <body>
<p><b>THIS IS CURRENTLY BETA - PLEASE USE THE NORMAL FIRMWARE UPDATE <p>This tool allows you to update the bootloader on <a href="https://www.espruino.com/Bangle.js2">Bangle.js 2</a> devices
INSTRUCTIONS FOR <a href="https://www.espruino.com/Bangle.js#firmware-updates" target="_blank">BANGLE.JS</a> 1 AND <a href="https://www.espruino.com/Bangle.js2#firmware-updates" target="_blank">BANGLE.JS 2</a></b>. For usage on Bangle.js 2 you'll likely need to have an updated bootloader.</p> from within the App Loader.</p>
<div id="fw-unknown"> <div id="fw-unknown">
<p><b>Firmware updates using the App Loader are only possible on <p><b>Firmware updates using the App Loader are only possible on
Bangle.js 2. For firmware updates on Bangle.js 1 please Bangle.js 2. For firmware updates on Bangle.js 1 please
<a href="https://www.espruino.com/Bangle.js#firmware-updates" target="_blank">see the Bangle.js 1 instructions</a></b></p> <a href="https://www.espruino.com/Bangle.js#firmware-updates" target="_blank">see the Bangle.js 1 instructions</a></b></p>
</div> </div>
<p>Your current firmware version is <span id="fw-version" style="font-weight:bold">unknown</span></p> <ul>
<p>Your current firmware version is <span id="fw-version" style="font-weight:bold">unknown</span> and bootloader is <span id="boot-version" style="font-weight:bold">unknown</span></p>
</ul>
<div id="fw-ok" style="display:none"> <div id="fw-ok" style="display:none">
<p>If you have an early (KickStarter or developer) Bangle.js device and still have the old 2v10.x bootloader, the Firmware Update
will fail with a message about the bootloader version. If so, please <a href="bootloader_espruino_2v12_banglejs2.hex" class="fw-link">click here to update to bootloader 2v12</a> and then click the 'Upload' button that appears.</p>
<div id="latest-firmware" style="display:none"> <div id="latest-firmware" style="display:none">
<p>The currently available Espruino firmware releases are:</p> <p>The currently available Espruino firmware releases are:</p>
<ul id="latest-firmware-list"> <ul id="latest-firmware-list">
</ul> </ul>
<p>To update, click the link and then click the 'Upload' button that appears.</p> <p>To update, click a link above and then click the 'Upload' button that appears.</p>
</div> </div>
<a href="#" id="advanced-btn">Advanced ▼</a>
<p>Or you can upload a hex or zip file here. This file should be an <code>.app_hex</code> <div id="advanced-div" style="display:none">
<p>Firmware updates via this tool work differently to the NRF Connect method mentioned on
<a href="https://www.espruino.com/Bangle.js2#firmware-updates">the Bangle.js 2 page</a>. Firmware
is uploaded to a file on the Bangle. Once complete the Bangle reboots and the bootloader copies
the new firmware into internal Storage.</p>
<p>In addition to the links above, you can upload a hex or zip file directly below. This file should be an <code>.app_hex</code>
file, *not* the normal <code>.hex</code> (as that contains the bootloader as well).</p> file, *not* the normal <code>.hex</code> (as that contains the bootloader as well).</p>
<p><b>DANGER!</b> No verification is performed on uploaded ZIP or HEX files - you could
potentially overwrite your bootloader with the wrong binary and brick your Bangle.</p>
<input class="form-input" type="file" id="fileLoader" accept=".hex,.app_hex,.zip"/><br> <input class="form-input" type="file" id="fileLoader" accept=".hex,.app_hex,.zip"/><br>
</div>
<p><button id="upload" class="btn btn-primary" style="display:none">Upload</button></p> <p><button id="upload" class="btn btn-primary" style="display:none">Upload</button></p>
</div> </div>
<p>Firmware updates via this tool work differently to the NRF Connect method mentioned on
<a href="https://www.espruino.com/Bangle.js2#firmware-updates">the Bangle.js page</a>. Firmware
is uploaded to a file on the Bangle. Once complete the Bangle reboots and the bootloader copies
the new firmware into internal Storage.</p>
<pre id="log"></pre> <pre id="log"></pre>
@ -38,7 +47,6 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.js"></script>
<script> <script>
var hex;
var hexJS; // JS to upload hex var hexJS; // JS to upload hex
var HEADER_LEN = 16; // size of app flash header var HEADER_LEN = 16; // size of app flash header
var APP_START = 0x26000; var APP_START = 0x26000;
@ -47,35 +55,51 @@ var MAX_ADDRESS = 0x1000000; // discount anything in hex file above this
var VERSION = 0x12345678; // VERSION! Use this to test firmware in JS land var VERSION = 0x12345678; // VERSION! Use this to test firmware in JS land
var DEBUG = false; var DEBUG = false;
function clearLog() {
document.getElementById('log').innerText = "";
console.log("Log Cleared");
}
function log(t) { function log(t) {
document.getElementById('log').innerText += t+"\n"; document.getElementById('log').innerText += t+"\n";
console.log(t); console.log(t);
} }
function onInit(device) { function onInit(device) {
console.log(device); console.log("fwupdate init", device);
if (device && device.version) if (device && device.version)
document.getElementById("fw-version").innerText = device.version; document.getElementById("fw-version").innerText = device.version;
if (device && device.id=="BANGLEJS2") { if (device && device.id=="BANGLEJS2") {
document.getElementById("fw-unknown").style = "display:none"; document.getElementById("fw-unknown").style = "display:none";
document.getElementById("fw-ok").style = ""; document.getElementById("fw-ok").style = "";
} }
Puck.eval("E.CRC32(E.memoryArea(0xF7000,0x7000))", crc => {
console.log("Bootloader CRC = "+crc);
var version = `unknown (CRC ${crc})`;
var ok = true;
if (crc==1339551013) { version = "2v10.219"; ok = false; }
if (crc==1207580954) { version = "2v10.236"; ok = false; }
if (crc==3435933210) version = "2v11.52";
if (crc==46757280) version = "2v11.58";
if (crc==3508163280 || crc==1418074094) version = "2v12";
if (!ok) {
version += `(&#9888; update required)`;
}
document.getElementById("boot-version").innerHTML = version;
});
} }
function checkForFileOnServer() { function checkForFileOnServer() {
function getURL(url, callback) { function getURL(url, callback) {
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.onload = callback; xhr.onload = callback;
baseURL = url; xhr.open("GET", url);
xhr.open("GET", baseURL);
xhr.responseType = "document"; xhr.responseType = "document";
xhr.send(); xhr.send();
} }
function getFilesFromURL(url, regex, callback) { function getFilesFromURL(url, regex, callback) {
getURL(url, function() { getURL(url, function() {
console.log(this.responseXML) //console.log(this.responseXML)
var files = []; var files = [];
var elements = this.responseXML.getElementsByTagName("a"); var elements = this.responseXML.getElementsByTagName("a");
for (var i=0;i<elements.length;i++) { for (var i=0;i<elements.length;i++) {
@ -113,8 +137,7 @@ function checkForFileOnServer() {
for (var i=0;i<fwlinks.length;i++) for (var i=0;i<fwlinks.length;i++)
fwlinks[i].addEventListener("click", e => { fwlinks[i].addEventListener("click", e => {
e.preventDefault(); e.preventDefault();
var url = e.target.href; downloadURL(e.target.href).then(info=>{
downloadZipFile(url).then(info=>{
document.getElementById("upload").style = ""; // show upload document.getElementById("upload").style = ""; // show upload
}); });
}); });
@ -122,6 +145,32 @@ function checkForFileOnServer() {
}); });
} }
function downloadURL(url) {
clearLog();
log("Downloading "+url);
if (url.endsWith(".zip")) {
return downloadZipFile(url);
} else if (url.endsWith(".hex")) {
return downloadHexFile(url);
} else {
log("Unknown URL "+url+" - expecting .hex or .zip extension");
return Promise.reject();
}
}
function downloadHexFile(url) {
return new Promise(resolve => {
var xhr = new XMLHttpRequest();
xhr.onload = function() {
hexFileLoaded(this.responseText.toString());
resolve();
};
xhr.open("GET", url);
xhr.responseType = "text";
xhr.send();
});
}
function downloadZipFile(url) { function downloadZipFile(url) {
return new Promise((resolve,reject) => { return new Promise((resolve,reject) => {
Espruino.Core.Utils.getBinaryURL(url, (err, binary) => { Espruino.Core.Utils.getBinaryURL(url, (err, binary) => {
@ -154,15 +203,15 @@ function convertZipFile(binary) {
if (info.bin_file.byteLength > APP_MAX_LENGTH) throw new Error("Firmware file is too big!"); if (info.bin_file.byteLength > APP_MAX_LENGTH) throw new Error("Firmware file is too big!");
info.storageContents = new Uint8Array(info.bin_file.byteLength + HEADER_LEN) info.storageContents = new Uint8Array(info.bin_file.byteLength + HEADER_LEN)
info.storageContents.set(new Uint8Array(info.bin_file), HEADER_LEN); info.storageContents.set(new Uint8Array(info.bin_file), HEADER_LEN);
console.log("ZIP downloaded and decoded",info);
createJS_app(info.storageContents, APP_START, APP_START+info.bin_file.byteLength); createJS_app(info.storageContents, APP_START, APP_START+info.bin_file.byteLength);
log("Download complete");
console.log("Download complete",info);
document.getElementById("upload").style = ""; // show upload document.getElementById("upload").style = ""; // show upload
return info; return info;
}).catch(err => log("ERROR:" + err)); }).catch(err => log("ERROR:" + err));
} }
function handleFileSelect(event) { function handleFileSelect(event) {
clearLog();
if (event.target.files.length!=1) { if (event.target.files.length!=1) {
log("More than one file selected!"); log("More than one file selected!");
return; return;
@ -172,13 +221,14 @@ function handleFileSelect(event) {
var reader = new FileReader(); var reader = new FileReader();
if (file.name.endsWith(".hex") || file.name.endsWith(".app_hex")) { if (file.name.endsWith(".hex") || file.name.endsWith(".app_hex")) {
reader.onload = function(event) { reader.onload = function(event) {
hex = event.target.result.split("\n"); log("HEX uploaded");
document.getElementById("upload").style = ""; // show upload document.getElementById("upload").style = ""; // show upload
fileLoaded(); hexFileLoaded(event.target.result);
}; };
reader.readAsText(event.target.files[0]); reader.readAsText(event.target.files[0]);
} else if (file.name.endsWith(".zip")) { } else if (file.name.endsWith(".zip")) {
reader.onload = function(event) { reader.onload = function(event) {
log("ZIP uploaded");
convertZipFile(event.target.result); convertZipFile(event.target.result);
}; };
reader.readAsArrayBuffer(event.target.files[0]); reader.readAsArrayBuffer(event.target.files[0]);
@ -187,25 +237,6 @@ function handleFileSelect(event) {
} }
}; };
function parseLines(dataCallback) {
var addrHi = 0;
hex.forEach(function(hexline) {
if (DEBUG) console.log(hexline);
var bytes = hexline.substr(1,2);
var addrLo = parseInt(hexline.substr(3,4),16);
var cmd = hexline.substr(7,2);
if (cmd=="02") addrHi = parseInt(hexline.substr(9,4),16) << 4; // Extended Segment Address
else if (cmd=="04") addrHi = parseInt(hexline.substr(9,4),16) << 16; // Extended Linear Address
else if (cmd=="00") {
var addr = addrHi + addrLo;
var data = [];
for (var i=0;i<16;i++) data.push(parseInt(hexline.substr(9+(i*2),2),16));
dataCallback(addr,data);
}
});
}
function CRC32(data) { function CRC32(data) {
var crc = 0xFFFFFFFF; var crc = 0xFFFFFFFF;
data.forEach(function(d) { data.forEach(function(d) {
@ -278,6 +309,7 @@ function createJS_app(binary, startAddress, endAddress) {
} }
hexJS += '\x10setTimeout(()=>E.showMessage("Rebooting..."),50);\n'; hexJS += '\x10setTimeout(()=>E.showMessage("Rebooting..."),50);\n';
hexJS += '\x10setTimeout(()=>E.reboot(), 1000);\n'; hexJS += '\x10setTimeout(()=>E.reboot(), 1000);\n';
log("Firmware update ready for upload");
} }
@ -302,12 +334,32 @@ function createJS_bootloader(binary, startAddress, endAddress) {
hexJS += 'f.erasePage(0x'+i.toString(16)+');\n'; hexJS += 'f.erasePage(0x'+i.toString(16)+');\n';
hexJS += `f.write(_fw,${startAddress});\n`; hexJS += `f.write(_fw,${startAddress});\n`;
hexJS += `})()\n`; hexJS += `})()\n`;
log("Bootloader ready for upload");
} }
function fileLoaded() { function hexFileLoaded(hexString) {
var hex = hexString.split("\n"); // array of lines of the hex file
function hexParseLines(dataCallback) {
var addrHi = 0;
hex.forEach(function(hexline) {
if (DEBUG) console.log(hexline);
var bytes = hexline.substr(1,2);
var addrLo = parseInt(hexline.substr(3,4),16);
var cmd = hexline.substr(7,2);
if (cmd=="02") addrHi = parseInt(hexline.substr(9,4),16) << 4; // Extended Segment Address
else if (cmd=="04") addrHi = parseInt(hexline.substr(9,4),16) << 16; // Extended Linear Address
else if (cmd=="00") {
var addr = addrHi + addrLo;
var data = [];
for (var i=0;i<16;i++) data.push(parseInt(hexline.substr(9+(i*2),2),16));
dataCallback(addr,data);
}
});
}
// Work out addresses // Work out addresses
var startAddress, endAddress = 0; var startAddress, endAddress = 0;
parseLines(function(addr, data) { hexParseLines(function(addr, data) {
if (addr>MAX_ADDRESS) return; // ignore data out of range if (addr>MAX_ADDRESS) return; // ignore data out of range
if (startAddress === undefined || addr<startAddress) if (startAddress === undefined || addr<startAddress)
startAddress = addr; startAddress = addr;
@ -319,7 +371,7 @@ function fileLoaded() {
// Work out data // Work out data
var binary = new Uint8Array(HEADER_LEN + endAddress-startAddress); var binary = new Uint8Array(HEADER_LEN + endAddress-startAddress);
binary.fill(0); // actually seems to assume a block is filled with 0 if not complete binary.fill(0); // actually seems to assume a block is filled with 0 if not complete
parseLines(function(addr, data) { hexParseLines(function(addr, data) {
if (addr>MAX_ADDRESS) return; // ignore data out of range if (addr>MAX_ADDRESS) return; // ignore data out of range
var binAddr = HEADER_LEN + addr - startAddress; var binAddr = HEADER_LEN + addr - startAddress;
binary.set(data, binAddr); binary.set(data, binAddr);
@ -351,6 +403,10 @@ function handleUpload() {
document.getElementById('fileLoader').addEventListener('change', handleFileSelect, false); document.getElementById('fileLoader').addEventListener('change', handleFileSelect, false);
document.getElementById("upload").addEventListener("click", handleUpload); document.getElementById("upload").addEventListener("click", handleUpload);
document.getElementById("advanced-btn").addEventListener("click", function() {
document.getElementById("advanced-btn").style = "display:none";
document.getElementById("advanced-div").style = "";
});
setTimeout(checkForFileOnServer, 10); setTimeout(checkForFileOnServer, 10);
</script> </script>

View File

@ -1,8 +1,8 @@
{ {
"id": "fwupdate", "id": "fwupdate",
"name": "Firmware Update", "name": "Firmware Update",
"version": "0.03", "version": "0.04",
"description": "[BETA] Uploads new Espruino firmwares to Bangle.js 2. For now, please use the instructions under https://www.espruino.com/Bangle.js2#firmware-updates", "description": "Uploads new Espruino firmwares to Bangle.js 2",
"icon": "app.png", "icon": "app.png",
"type": "RAM", "type": "RAM",
"tags": "tools,system", "tags": "tools,system",

View File

@ -26,3 +26,4 @@
0.24: tag HRM power requests to allow this to work alongside other widgets/apps (fix #799) 0.24: tag HRM power requests to allow this to work alongside other widgets/apps (fix #799)
0.25: workaround call notification 0.25: workaround call notification
Fix inflated step number Fix inflated step number
0.26: Include charging status in battery updates to phone

View File

@ -11,11 +11,12 @@ t can be one of "info", "warn", "error"
## report battery level ## report battery level
``` ```
{ "t": "status", "bat": 30, "volt": 30 } { "t": "status", "bat": 30, "volt": 30, "chg": 0 }
``` ```
* bat is in range 0 to 100 * bat is in range 0 to 100
* volt is optional and should be greater than 0 * volt is optional and should be greater than 0
* chg is optional and should be either 0 or 1 to indicate the watch is charging
## find phone ## find phone

View File

@ -1,7 +1,7 @@
{ {
"id": "gbridge", "id": "gbridge",
"name": "Gadgetbridge", "name": "Gadgetbridge",
"version": "0.25", "version": "0.26",
"description": "(NOT RECOMMENDED) Displays Gadgetbridge notifications from Android. Please use the 'Android' Bangle.js app instead.", "description": "(NOT RECOMMENDED) Displays Gadgetbridge notifications from Android. Please use the 'Android' Bangle.js app instead.",
"icon": "app.png", "icon": "app.png",
"type": "widget", "type": "widget",

View File

@ -256,7 +256,7 @@
} }
function sendBattery() { function sendBattery() {
gbSend({ t: "status", bat: E.getBattery() }); gbSend({ t: "status", bat: E.getBattery(), chg: Bangle.isCharging()?1:0 });
} }
// Send a summary of activity to Gadgetbridge // Send a summary of activity to Gadgetbridge
@ -268,6 +268,7 @@
// Battery monitor // Battery monitor
NRF.on("connect", () => setTimeout(sendBattery, 2000)); NRF.on("connect", () => setTimeout(sendBattery, 2000));
Bangle.on("charging", sendBattery);
setInterval(sendBattery, 10*60*1000); setInterval(sendBattery, 10*60*1000);
sendBattery(); sendBattery();
// Activity monitor // Activity monitor

View File

@ -8,3 +8,5 @@
0.07: Added coloured bar charts 0.07: Added coloured bar charts
0.08: Suppress bleed through of E.showMenu's when displaying bar charts 0.08: Suppress bleed through of E.showMenu's when displaying bar charts
0.09: Fix file naming so months are 1-based (not 0) (fix #1119) 0.09: Fix file naming so months are 1-based (not 0) (fix #1119)
0.10: Adds additional 3 minute setting for HRM
0.11: Pre-minified boot&lib - folds constants and saves RAM

View File

@ -34,6 +34,11 @@ writes data to a binary file (one per month).
A library (that can be used with `require("health").readXYZ` can then be used A library (that can be used with `require("health").readXYZ` can then be used
to grab historical health info. to grab historical health info.
`boot.js` and `lib.js` include some constants that don't get inlined by the simple
minifier used in the App Loader, so we use the closure compiler to pre-minify them.
The easiest way to use it is to install `https://github.com/espruino/EspruinoDocs`
and run `EspruinoDocs/bin/minify.js lib.js lib.min.js`
## TODO ## TODO
* `interface` page for desktop to allow data to be viewed and exported in common formats * `interface` page for desktop to allow data to be viewed and exported in common formats

Some files were not shown because too many files have changed in this diff Show More