From e9612855cb592c1690dfc233f34aa8a7aeff98c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz?= Date: Sun, 1 Sep 2019 16:34:00 +0200 Subject: [PATCH] Replaces & merges MiRCART-{nw,python,www} w/ original MiRCART as of Thu Jul 5 2018. --- .gitattributes | 2 - .gitignore | 9 +- MiRCART-nw/LICENCE | 1 - MiRCART-nw/MiRCART.cmd | 3 - MiRCART-nw/assets | 1 - MiRCART-nw/deploy.sh | 1 - MiRCART-nw/index.html | 1 - MiRCART-nw/nwjs.manifest | 4 - MiRCART-nw/package-lock.json | 5 - MiRCART-nw/package.json | 31 - MiRCART-python/.gitignore | 3 - MiRCART-python/LICENCE | 1 - MiRCART-www/LICENCE | 1 - MiRCART-www/assets | 1 - MiRCART-www/deploy.sh | 1 - MiRCART-www/index.html | 1 - MiRCART.py | 31 + assets/css/ak.css | 43 - assets/css/fonts.css | 13 - assets/css/help.css | 48 - assets/css/sally.css | 302 - assets/fonts/fsex300-webfont.eot | Bin 136761 -> 0 bytes assets/fonts/fsex300-webfont.svg | 6006 ----------------- assets/fonts/fsex300-webfont.ttf | Bin 659099 -> 0 bytes assets/fonts/fsex300-webfont.woff | Bin 185100 -> 0 bytes assets/html/help.html | 55 - assets/html/index.html | 120 - assets/images/MiRCART.png | Bin 0 -> 52285 bytes assets/images/bucket.png | Bin 1219 -> 0 bytes assets/images/dropper.gif | Bin 1170 -> 0 bytes assets/images/gray-dither.gif | Bin 1102 -> 0 bytes assets/images/tile.jpg | Bin 2526 -> 0 bytes assets/images/toolCircle.png | Bin 0 -> 360 bytes assets/images/toolClone.png | Bin 0 -> 227 bytes assets/images/toolDecrBrushH.png | Bin 0 -> 271 bytes assets/images/toolDecrBrushHW.png | Bin 0 -> 277 bytes assets/images/toolDecrBrushW.png | Bin 0 -> 250 bytes assets/images/toolDecrCanvasH.png | Bin 0 -> 265 bytes assets/images/toolDecrCanvasHW.png | Bin 0 -> 289 bytes assets/images/toolDecrCanvasW.png | Bin 0 -> 249 bytes assets/images/toolFill.png | Bin 0 -> 527 bytes assets/images/toolIncrBrushH.png | Bin 0 -> 236 bytes assets/images/toolIncrBrushHW.png | Bin 0 -> 290 bytes assets/images/toolIncrBrushW.png | Bin 0 -> 232 bytes assets/images/toolIncrCanvasH.png | Bin 0 -> 246 bytes assets/images/toolIncrCanvasHW.png | Bin 0 -> 282 bytes assets/images/toolIncrCanvasW.png | Bin 0 -> 236 bytes assets/images/toolLine.png | Bin 0 -> 371 bytes assets/images/toolMove.png | Bin 0 -> 213 bytes assets/images/toolRect.png | Bin 0 -> 220 bytes assets/images/toolText.png | Bin 0 -> 306 bytes assets/js/app.js | 89 - assets/js/clipboard.js | 297 - assets/js/color.js | 163 - assets/js/gfx.js | 294 - assets/js/lex.js | 148 - assets/js/matrix.js | 515 -- assets/js/ui/brush.js | 138 - assets/js/ui/canvas.js | 102 - assets/js/ui/controls.js | 259 - assets/js/ui/keys.js | 209 - assets/js/ui/paletters.js | 206 - assets/js/ui/selection.js | 159 - assets/js/ui/tool.js | 170 - assets/js/ui/transform.js | 176 - assets/js/unicode.js | 203 - assets/js/util.js | 192 - assets/shell/deploy-nw.sh | 121 - assets/text/{LICENCE.MIT => LICENCE} | 0 assets/text/LICENCE.asdf | 28 - .../text}/MiRCARTImgurApiKey.py.template | 0 assets/text/README.md | 18 +- assets/text/TODO | 21 - .../tools}/IrcMiRCARTBot.py | 0 .../tools}/MiRCARTCanonicalise.py | 0 .../tools}/MiRCARTCheckLineLengths.sh | 0 .../tools}/MiRCARTReduce.py | 0 .../tools}/MiRCARTToAnsi.py | 0 .../tools}/MiRCARTToPngFile.py | 0 .../tools}/MiRCARTToPngFiles.sh | 0 .../tools}/SAUCEToAnsi.py | 0 assets/{shell => tools}/bump-version.sh | 0 assets/{shell => tools}/deploy-all.sh | 0 assets/{shell => tools}/deploy-www.sh | 0 libcanvas/MiRCARTCanvas.py | 203 + libcanvas/MiRCARTCanvasBackend.py | 157 + libcanvas/MiRCARTCanvasExportStore.py | 111 + .../MiRCARTCanvasImportStore.py | 0 libcanvas/MiRCARTCanvasInterface.py | 335 + libcanvas/MiRCARTCanvasJournal.py | 79 + libcanvas/MiRCARTColours.py | 29 + libgui/MiRCARTFrame.py | 234 + libgui/MiRCARTGeneralFrame.py | 169 + {MiRCART-python => librtl}/IrcClient.py | 0 libtools/MiRCARTTool.py | 25 + libtools/MiRCARTToolCircle.py | 38 + libtools/MiRCARTToolFill.py | 38 + libtools/MiRCARTToolLine.py | 87 + libtools/MiRCARTToolRect.py | 34 + libtools/MiRCARTToolSelect.py | 111 + libtools/MiRCARTToolSelectClone.py | 42 + libtools/MiRCARTToolSelectMove.py | 46 + libtools/MiRCARTToolText.py | 52 + 103 files changed, 1834 insertions(+), 10148 deletions(-) delete mode 100644 .gitattributes delete mode 120000 MiRCART-nw/LICENCE delete mode 100755 MiRCART-nw/MiRCART.cmd delete mode 120000 MiRCART-nw/assets delete mode 120000 MiRCART-nw/deploy.sh delete mode 120000 MiRCART-nw/index.html delete mode 100644 MiRCART-nw/nwjs.manifest delete mode 100644 MiRCART-nw/package-lock.json delete mode 100644 MiRCART-nw/package.json delete mode 100644 MiRCART-python/.gitignore delete mode 120000 MiRCART-python/LICENCE delete mode 120000 MiRCART-www/LICENCE delete mode 120000 MiRCART-www/assets delete mode 120000 MiRCART-www/deploy.sh delete mode 120000 MiRCART-www/index.html create mode 100755 MiRCART.py delete mode 100644 assets/css/ak.css delete mode 100644 assets/css/fonts.css delete mode 100644 assets/css/help.css delete mode 100644 assets/css/sally.css delete mode 100644 assets/fonts/fsex300-webfont.eot delete mode 100644 assets/fonts/fsex300-webfont.svg delete mode 100644 assets/fonts/fsex300-webfont.ttf delete mode 100644 assets/fonts/fsex300-webfont.woff delete mode 100644 assets/html/help.html delete mode 100644 assets/html/index.html create mode 100644 assets/images/MiRCART.png delete mode 100644 assets/images/bucket.png delete mode 100644 assets/images/dropper.gif delete mode 100644 assets/images/gray-dither.gif delete mode 100644 assets/images/tile.jpg create mode 100644 assets/images/toolCircle.png create mode 100644 assets/images/toolClone.png create mode 100644 assets/images/toolDecrBrushH.png create mode 100644 assets/images/toolDecrBrushHW.png create mode 100644 assets/images/toolDecrBrushW.png create mode 100644 assets/images/toolDecrCanvasH.png create mode 100644 assets/images/toolDecrCanvasHW.png create mode 100644 assets/images/toolDecrCanvasW.png create mode 100644 assets/images/toolFill.png create mode 100644 assets/images/toolIncrBrushH.png create mode 100644 assets/images/toolIncrBrushHW.png create mode 100644 assets/images/toolIncrBrushW.png create mode 100644 assets/images/toolIncrCanvasH.png create mode 100644 assets/images/toolIncrCanvasHW.png create mode 100644 assets/images/toolIncrCanvasW.png create mode 100644 assets/images/toolLine.png create mode 100644 assets/images/toolMove.png create mode 100644 assets/images/toolRect.png create mode 100644 assets/images/toolText.png delete mode 100644 assets/js/app.js delete mode 100644 assets/js/clipboard.js delete mode 100644 assets/js/color.js delete mode 100644 assets/js/gfx.js delete mode 100644 assets/js/lex.js delete mode 100644 assets/js/matrix.js delete mode 100644 assets/js/ui/brush.js delete mode 100644 assets/js/ui/canvas.js delete mode 100644 assets/js/ui/controls.js delete mode 100644 assets/js/ui/keys.js delete mode 100644 assets/js/ui/paletters.js delete mode 100644 assets/js/ui/selection.js delete mode 100644 assets/js/ui/tool.js delete mode 100644 assets/js/ui/transform.js delete mode 100644 assets/js/unicode.js delete mode 100644 assets/js/util.js delete mode 100755 assets/shell/deploy-nw.sh rename assets/text/{LICENCE.MIT => LICENCE} (100%) delete mode 100644 assets/text/LICENCE.asdf rename {MiRCART-python => assets/text}/MiRCARTImgurApiKey.py.template (100%) delete mode 100644 assets/text/TODO rename {MiRCART-python => assets/tools}/IrcMiRCARTBot.py (100%) rename {MiRCART-python => assets/tools}/MiRCARTCanonicalise.py (100%) rename {MiRCART-python => assets/tools}/MiRCARTCheckLineLengths.sh (100%) rename {MiRCART-python => assets/tools}/MiRCARTReduce.py (100%) rename {MiRCART-python => assets/tools}/MiRCARTToAnsi.py (100%) rename {MiRCART-python => assets/tools}/MiRCARTToPngFile.py (100%) rename {MiRCART-python => assets/tools}/MiRCARTToPngFiles.sh (100%) rename {MiRCART-python => assets/tools}/SAUCEToAnsi.py (100%) rename assets/{shell => tools}/bump-version.sh (100%) rename assets/{shell => tools}/deploy-all.sh (100%) rename assets/{shell => tools}/deploy-www.sh (100%) create mode 100644 libcanvas/MiRCARTCanvas.py create mode 100644 libcanvas/MiRCARTCanvasBackend.py create mode 100644 libcanvas/MiRCARTCanvasExportStore.py rename {MiRCART-python => libcanvas}/MiRCARTCanvasImportStore.py (100%) create mode 100644 libcanvas/MiRCARTCanvasInterface.py create mode 100644 libcanvas/MiRCARTCanvasJournal.py create mode 100644 libcanvas/MiRCARTColours.py create mode 100644 libgui/MiRCARTFrame.py create mode 100644 libgui/MiRCARTGeneralFrame.py rename {MiRCART-python => librtl}/IrcClient.py (100%) create mode 100644 libtools/MiRCARTTool.py create mode 100644 libtools/MiRCARTToolCircle.py create mode 100644 libtools/MiRCARTToolFill.py create mode 100644 libtools/MiRCARTToolLine.py create mode 100644 libtools/MiRCARTToolRect.py create mode 100644 libtools/MiRCARTToolSelect.py create mode 100644 libtools/MiRCARTToolSelectClone.py create mode 100644 libtools/MiRCARTToolSelectMove.py create mode 100644 libtools/MiRCARTToolText.py diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 3b54d2c..0000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -MiRCART-cordoba/* linguist-vendored -MiRCART-nw/* linguist-vendored diff --git a/.gitignore b/.gitignore index 5713056..ebd528d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,3 @@ *.sw[op] -MiRCART-cordoba/node_modules -MiRCART-cordoba/platforms/android/.gradle -MiRCART-cordoba/platforms/android/app/build -MiRCART-cordoba/platforms/android/CordovaLib/build -MiRCART-cordoba/releases/* -MiRCART-nw/releases/* -MiRCART-www/releases/* +__pycache__/ +MiRCARTImgurApiKey.py diff --git a/MiRCART-nw/LICENCE b/MiRCART-nw/LICENCE deleted file mode 120000 index 3f75994..0000000 --- a/MiRCART-nw/LICENCE +++ /dev/null @@ -1 +0,0 @@ -../assets/text/LICENCE.asdf \ No newline at end of file diff --git a/MiRCART-nw/MiRCART.cmd b/MiRCART-nw/MiRCART.cmd deleted file mode 100755 index a19e102..0000000 --- a/MiRCART-nw/MiRCART.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off -start nw.exe . -rem vim:fileformat=dos diff --git a/MiRCART-nw/assets b/MiRCART-nw/assets deleted file mode 120000 index ec2e4be..0000000 --- a/MiRCART-nw/assets +++ /dev/null @@ -1 +0,0 @@ -../assets \ No newline at end of file diff --git a/MiRCART-nw/deploy.sh b/MiRCART-nw/deploy.sh deleted file mode 120000 index 2d4a8ea..0000000 --- a/MiRCART-nw/deploy.sh +++ /dev/null @@ -1 +0,0 @@ -../assets/shell/deploy-nw.sh \ No newline at end of file diff --git a/MiRCART-nw/index.html b/MiRCART-nw/index.html deleted file mode 120000 index 41e2467..0000000 --- a/MiRCART-nw/index.html +++ /dev/null @@ -1 +0,0 @@ -../assets/html/index.html \ No newline at end of file diff --git a/MiRCART-nw/nwjs.manifest b/MiRCART-nw/nwjs.manifest deleted file mode 100644 index 26f4eed..0000000 --- a/MiRCART-nw/nwjs.manifest +++ /dev/null @@ -1,4 +0,0 @@ -a9e66b292c80e86f51b616933e8491dad4007da1abe4a0ee85a3477edfd2750f releases/nwjs-v0.34.5-linux-ia32.tar.gz -2d50bc19619e9a26ace46da3a4f3a4a0e9850920267300eb35759df4cb92e2b5 releases/nwjs-v0.34.5-linux-x64.tar.gz -10409d5519662f25c1a97b027492da13cc42c8cc464c08b76de945969ae33413 releases/nwjs-v0.34.5-win-ia32.zip -77138f6965ad1ae6eba3390e5c6403d3156431ac5247fac39f4491a7c625a216 releases/nwjs-v0.34.5-win-x64.zip diff --git a/MiRCART-nw/package-lock.json b/MiRCART-nw/package-lock.json deleted file mode 100644 index b6f1c8c..0000000 --- a/MiRCART-nw/package-lock.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "MiRCART", - "version": "1.1.6", - "lockfileVersion": 1 -} diff --git a/MiRCART-nw/package.json b/MiRCART-nw/package.json deleted file mode 100644 index e9d063a..0000000 --- a/MiRCART-nw/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "author": "Lucio Andrés Illanes Albornoz , based on work by JOLLO NET NA", - "bugs": { - "url": "https://github.com/lalbornoz/MiRCART/issues" - }, - "description": "MiRCART (standalone NW app)", - "directories": { - "assets": "assets" - }, - "homepage": "https://github.com/lalbornoz/MiRCART#readme", - "license": "Jollo LNT license ", - "main": "index.html", - "name": "MiRCART-nw", - "repository": { - "type": "git", - "url": "git+https://github.com/lalbornoz/MiRCART.git" - }, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.1.6", - "window": { - "title": "MiRCART (standalone NW app)", - "toolbar": true, - "position": "center", - "width": 1024, - "height": 768, - "min_width": 1024, - "min_height": 768 - } -} diff --git a/MiRCART-python/.gitignore b/MiRCART-python/.gitignore deleted file mode 100644 index 04ad9ab..0000000 --- a/MiRCART-python/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -MiRCARTImgurApiKey.py -__pycache__/ -*.sw[op] diff --git a/MiRCART-python/LICENCE b/MiRCART-python/LICENCE deleted file mode 120000 index 1f126e9..0000000 --- a/MiRCART-python/LICENCE +++ /dev/null @@ -1 +0,0 @@ -../assets/text/LICENCE.MIT \ No newline at end of file diff --git a/MiRCART-www/LICENCE b/MiRCART-www/LICENCE deleted file mode 120000 index 3f75994..0000000 --- a/MiRCART-www/LICENCE +++ /dev/null @@ -1 +0,0 @@ -../assets/text/LICENCE.asdf \ No newline at end of file diff --git a/MiRCART-www/assets b/MiRCART-www/assets deleted file mode 120000 index ec2e4be..0000000 --- a/MiRCART-www/assets +++ /dev/null @@ -1 +0,0 @@ -../assets \ No newline at end of file diff --git a/MiRCART-www/deploy.sh b/MiRCART-www/deploy.sh deleted file mode 120000 index 882a98b..0000000 --- a/MiRCART-www/deploy.sh +++ /dev/null @@ -1 +0,0 @@ -../assets/shell/deploy-www.sh \ No newline at end of file diff --git a/MiRCART-www/index.html b/MiRCART-www/index.html deleted file mode 120000 index 41e2467..0000000 --- a/MiRCART-www/index.html +++ /dev/null @@ -1 +0,0 @@ -../assets/html/index.html \ No newline at end of file diff --git a/MiRCART.py b/MiRCART.py new file mode 100755 index 0000000..12085c9 --- /dev/null +++ b/MiRCART.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +# +# MiRCART.py -- mIRC art editor for Windows & Linux +# Copyright (c) 2018, 2019 Lucio Andrés Illanes Albornoz +# + +import os, sys +sys.path.append(os.path.join(os.getcwd(), "libcanvas")) +sys.path.append(os.path.join(os.getcwd(), "libgui")) +sys.path.append(os.path.join(os.getcwd(), "librtl")) +sys.path.append(os.path.join(os.getcwd(), "libtools")) + +from MiRCARTFrame import MiRCARTFrame +import wx + +# +# Entry point +def main(*argv): + wxApp = wx.App(False) + appFrame = MiRCARTFrame(None) + if len(argv) > 1 \ + and len(argv[1]) > 0: + appFrame.panelCanvas.canvasInterface.canvasPathName = argv[1] + appFrame.panelCanvas.canvasImportStore.importTextFile(argv[1]) + appFrame.panelCanvas.canvasImportStore.importIntoPanel() + appFrame.onCanvasUpdate(pathName=argv[1], undoLevel=-1) + wxApp.MainLoop() +if __name__ == "__main__": + main(*sys.argv) + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/assets/css/ak.css b/assets/css/ak.css deleted file mode 100644 index 751cc94..0000000 --- a/assets/css/ak.css +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Background mIRC colours - */ -.ba {background-color: #FFFFFF} -.bb {background-color: #000000} -.bc {background-color: #00007F} -.bd {background-color: #009300} -.be {background-color: #FF0000} -.bf {background-color: #7f0000} -.bg {background-color: #9C009C} -.bh {background-color: #FC7F00} -.bi {background-color: #FFFF00} -.bj {background-color: #00FC00} -.bk {background-color: #009393} -.bl {background-color: #00FFFF} -.bm {background-color: #0000FC} -.bn {background-color: #FF00FF} -.bo {background-color: #7F7F7F} -.bp {background-color: #D2D2D2} - -/* - * Foreground mIRC colours - */ -.fa {color: #FFFFFF} -.fb {color: #000000} -.fc {color: #00007F} -.fd {color: #009300} -.fe {color: #FF0000} -.ff {color: #7F0000} -.fg {color: #9C009C} -.fh {color: #FC7F00} -.fi {color: #FFFF00} -.fj {color: #00FC00} -.fk {color: #009393} -.fl {color: #00FFFF} -.fm {color: #0000FC} -.fn {color: #FF00FF} -.fo {color: #7F7F7F} -.fp {color: #D2D2D2} - -/* - * vim:ts=2 sw=2 expandtab fenc=utf-8 foldmethod=marker nowrap tw=0 - */ diff --git a/assets/css/fonts.css b/assets/css/fonts.css deleted file mode 100644 index df42e9b..0000000 --- a/assets/css/fonts.css +++ /dev/null @@ -1,13 +0,0 @@ -@font-face { - font-family: 'FixedsysExcelsior301Regular'; - font-style: normal; - src: url('../fonts/fsex300-webfont.eot'); - src: url('../fonts/fsex300-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/fsex300-webfont.woff') format('woff'), - url('../fonts/fsex300-webfont.ttf') format('truetype'), - url('../fonts/fsex300-webfont.svg#FixedsysExcelsior301Regular') format('svg'); -} - -/* - * vim:ts=2 sw=2 expandtab fenc=utf-8 foldmethod=marker nowrap tw=0 - */ diff --git a/assets/css/help.css b/assets/css/help.css deleted file mode 100644 index 3f44ead..0000000 --- a/assets/css/help.css +++ /dev/null @@ -1,48 +0,0 @@ -body { - background: #000000; - background-image: url('../images/tile.jpg'); - color: rgb(255,255,0); - font-family: times new roman; - font-family: 'FixedsysExcelsior301Regular'; - font-size: 16pt; -} - -/* {{{ DIV id styles */ -div#box { - background: rgba(0,0,100,0.5); - border: 3px solid #0000ff; - border-spacing: 0px; - color: #00ffff!important; - display: inline-block; - font-size: 20px; - font-size: 12pt!important; - margin: 10px 0; - padding: 10px; -} -div#box_wrapper { - margin: 0 auto; - width: 50%; -} -/* }}} */ -/* {{{ Element styles */ -h1 { - color: #ff00ff!important; - font-size: 42px; - margin-bottom: 15px; -} -h2 { - color: #00ffff!important; - margin-bottom: 15px; - margin-top: 15px; -} -p { - color: white; -} -pre { - color: white; -} -/* }}} */ - -/* - * vim:ts=2 sw=2 expandtab fenc=utf-8 foldmethod=marker nowrap tw=0 - */ diff --git a/assets/css/sally.css b/assets/css/sally.css deleted file mode 100644 index 3a4e4bc..0000000 --- a/assets/css/sally.css +++ /dev/null @@ -1,302 +0,0 @@ - -/* {{{ BODY.grid styles */ -body.grid div { - border-left: 1px solid #444444; -} -body.grid span { - border-bottom: 1px solid #444444; - border-right: 1px solid #444444; -} -body.grid .tool { - border: 1px solid #444444; -} -body.grid #brush_wrapper > div:first-child, -body.grid #canvas_wrapper > div:first-child, -body.grid #letters_wrapper > div:first-child, -body.grid #palette_wrapper > div:first-child { - border-top: 1px solid #444444; -} -/* }}} */ -/* {{{ .initial styles */ -.initial #add_custom_el, -.initial #doc_el, -.initial #export_format_el, -.initial #export_textarea, -.initial #import_button, -.initial #import_format_el, -.initial #import_textarea, -.initial #grid_el, -.initial #load_el, -.initial #save_el, -.initial #vertical_checkbox { -} -/* }}} */ -/* {{{ .selector_el styles */ -.selector_el { - border: 1px dashed white !important; - left: -999px; - margin-top: -1px; - padding-top: 1px; - pointer-events: none; - position: absolute; - top: -999px; -} -.selector_el.creating div { - display: none; } -.selector_el.dragging { - color: #00FF00; -} -/* }}} */ -/* {{{ .tool styles */ -.tool { - cursor: pointer; -} -.tool.focused { - color: white; - text-decoration: underline; -} -.tool.locked.focused { - box-shadow: 0 0; -} -.tool.radio { - margin: 0 8px 0 0; -} -.tool.radio.focused { - background-color: #6D6D6D; - box-shadow: none; - color: black; -} -/* }}} */ -/* {{{ .vertical styles */ -.vertical .wrapper, .vertical .block { - float: left; -} -.vertical #brush_container { - display: inline-block; - float: left; -} -.vertical #canvas_wrapper, -.vertical #canvas_wrapper div, -.vertical #palette_wrapper, -.vertical #palette_wrapper { - margin-right: 10px; -} -.vertical #secret_wrapper { - margin-right: 10px; -} -.vertical #secret_wrapper span { - clear: both; - float: left; -} -.vertical #tools_block { - min-width: 100%; -} -.vertical #tools_wrapper, -.vertical #ui_wrapper { - clear: none; - float: left; - width: 320px; -} -.vertical #workspace_wrapper { - float: left; - position: relative; - width: auto; -} -/* }}} */ - -/* {{{ Class & id styles (simple) */ -.bucket #canvas_wrapper { cursor: url(../images/bucket.png) 3 15, auto; } -.dropper #canvas_wrapper { cursor: url(../images/dropper.gif) 0 15, auto; } -.faded { color: #404040; } -.hidden { visibility: hidden; } -.loading .vertical #ui_wrapper { clear: none } -#experimental_palette_toggle.focused { box-shadow: none; } -#export_wrapper { display: none; } -#import_wrapper { display: none; } -#tools_block > * { cursor: crosshair; } -#workspace_wrapper { width: 100%; } -/* }}} */ -/* {{{ Class styles (complex) */ -.ba.focused { - box-shadow: inset 0 0px 2px #000, inset 0 0px 2px black; - border-color: black; -} -.block { - background-color: black; - float: left; - height: auto; - user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - width: auto; -} -.block { - padding: 4px; -} -.block:nth-child(n+2) { - padding-left: 30px; -} -.close { - background: black; - cursor: pointer; - padding: 10px; - position: absolute; - right: 20px; - top: 20px; - z-index: 2; -} -.custom { - float: left; - margin-bottom: 5px; - margin-right: 5px; -} -.ed { - color: white; -} -.ed.focused { - color: white; - text-decoration: underline; -} -.faba.focused, .fbba.focused, .fcba.focused, .fdba.focused, .feba.focused, .ffba.focused, .fgba.focused, .fhba.focused, -.fiba.focused, .fjba.focused, .fkba.focused, .flba.focused, .fmba.focused, .fnba.focused, .foba.focused, .fpba.focused { - box-shadow: inset 1px 0 2px #888888, inset -1px 0 2px #888888, inset 0 1px 2px #888888, inset 0 -1px 2px #888888; -} -.focused { - box-shadow: inset 1px 0 2px white, inset -1px 0 2px white, inset 0 1px 2px white, inset 0 -1px 2px white; - border-color: white; -} -.locked { - border-bottom: 1px solid; - color: #bbbbbb; - text-decoration: none; -} -.transparent { - background-color: transparent; - background-image: url(../images/gray-dither.gif); - background-size: 8px 8px; -} -@media (-webkit-min-device-pixel-ratio: 2) { - .transparent { - background-size: 4px 4px; - } -} -.wrapper { - background-color: black; - cursor: crosshair; - float: left; - height: auto; - user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - white-space: pre-wrap; - width: auto; - word-wrap: break-word; -} -/* }}} */ -/* {{{ Element styles */ -a { - display: block; -} -a:link, a:visited { - color: #6B6760; - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -body { - background-color: black !important; - transition: 0.1s linear; -} -body.loading { - opacity: 0; -} -span { - display: inline-block; - line-height: 15px; - min-width: 8px; -} -textarea, input[type=text], body { - color: #6D6B6D; - font-family: 'FixedsysExcelsior301Regular'; - -webkit-font-smoothing: antialiased !important; - line-height: 11pt; - font-size: 12pt; - font-weight: 100; - margin: 0; -} -/* }}} */ -/* {{{ Id styles (complex) */ -#brush_wrapper { - border: 1px solid; - display: inline-block; - float: left; - margin-bottom: 13px; - padding-right: 10px; -} -#brush_wrapper, #letters_wrapper { - cursor: crosshair; -} -#canvas_wrapper { - box-shadow: 0 0 2px rgba(255,255,255,0.3); - margin: 3px; - white-space: pre; -} -#cursor_input { - font-size: 16px; - opacity: 0; - position: fixed; - right: 0; - top: 0; - width: 30px; -} -#export_textarea { - background: #001100; - border: 1px solid #333333; - color: #00FF00; - font-family: 'FixedsysExcelsior301Regular'; - font-size: 12pt; - height: 300px; - outline: 0; - width: 37vw; -} -#import_textarea { - background: #001100; - border: 1px solid #333333; - color: #00FF00; - font-family: 'FixedsysExcelsior301Regular'; - font-size: 12pt; - height: 300px; - outline: 0; - width: 37vw; -} -#letters_wrapper { - display: inline-block; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; -} -#secret_wrapper { - clear: right; - float: left; -} -#secret_wrapper span { - float: left; -} -#textarea_mode { - float: left; - padding: 4px; -} -#ui_wrapper { - clear: both; - float: left; - width: 100vw; -} -#ui_wrapper .block { - width: 100px; -} -/* }}} */ - -/* - * vim:ts=2 sw=2 expandtab fenc=utf-8 foldmethod=marker nowrap tw=0 - */ diff --git a/assets/fonts/fsex300-webfont.eot b/assets/fonts/fsex300-webfont.eot deleted file mode 100644 index e2e493b44411b43ff839dd664df67e284486df0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136761 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�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 K`Zk9DuKxhP|M3n0 diff --git a/assets/fonts/fsex300-webfont.svg b/assets/fonts/fsex300-webfont.svg deleted file mode 100644 index 787f710..0000000 --- a/assets/fonts/fsex300-webfont.svg +++ /dev/null @@ -1,6006 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/fonts/fsex300-webfont.ttf b/assets/fonts/fsex300-webfont.ttf deleted file mode 100644 index 50a6699d18b580520a44987011f32dfd5f19b755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 659099 zcmeFa378yJ+4p^_rg{QQfK0lldqN1wFo}Rd0ApN06n9)faaWYE?^^)DwG>oDS=e90 z@m2@$fq6$QIr6~KbB_HU?@vX>dB+^R^!Vf6dEX^r;}PiJdEc83-0z^*o%-^V!zP=3 zg3tH!Cu@XX>~`_5^?J=}$ef`hqKa~B$`j2COY5xQ4KiK~u`)m3iV*la(_3V#NYlLK4|Flg*-?YtU93GMx zN6a`nq%)3bUK^6;b>)Gr-r}Z56pWE7l{pYuy&;AQqFJpi2*2~#{Me7ypzp}M& z=xZ%${hcGrT5H)KYi|^i_Qvf^LfRf^Kbiffw4WaO+Pk;k#r`SnGdX@%`={*xto<|g zf8PEz`!}?2VE;Gm)$HHdzL)*`+V`=4fBSy+ALu+aB%R$l&kkwlIUV#B-ms!ue3S5o za71V;o)?~Q{E{P&2v0lykR?mP9yTIOOfW`c|Mi}HnH;&~ zxWmIn+Oxk5o(T^$43D=XNthls?tkJ$-v1>2cHwVV{+`O;Zu~uszo+xJ`$VpB{af)I z!Y1L($G;?RSago}?n@PI?ZrS^RJF-wnM8m>5w6X7cO$u5OI^ll?0lGXfKk`+GdM_Rqp zb02yPAi3WAvt&<^n^@tPKljNv*(jNrY{}TH^`Vd&m8|vQ za_=MM-bc&5kCl5LFZVuC?wwQaom=jmSMGhX+&jPAyP({=u-v<--1}6ycX7G*>2mLq za_=+c-e=3b&y{~l3kLQ zCr2fxB^M`GC4WrrO*cvBr%y{?ogSBd0Q7AH!dk5_K<$#&aXeq#`Vr5cDbM^^?^<89 z^T+CZdFEO>^CdfTOxGE5FJmsVGbeSOx!%rv+0Go*b>^pb<|}sQ$gVSFNT^+IXO8GP z^Hn?cP91CIJXccxP48M?v-9uL`BLhe?abHh%qd-GZn87qursH2o%ySs`KFzDch{M} z*qJNr%zL`d{MpWY%g(&F>&%UI=1MzrTGyFB*_m(KnfG;_`J&zeQ%vE;g z{at5%Z)d(|XFkw%=681H`*!Axt~0;2Ge591RH>TXsGC^yYCCgQ*BPo7XMSjB&h9!x z-Q~WBC)WgXoq9ICFsUJ{tLsWRKc5 z;|M!02~OnbemtL`@iR`Ka_aMk@@}b7IVc?8-q?C>bi`IO_KfF_fzq*fvmX@fhNq6^JqS&<3Lj`3 z&^WMhP~+hCeT_rgYZ`~Q|Jh#Gp6H~VM&sDVagC*o<2%zkn|Ee*hC0KY*`2LABc1u3 zZ90$b?9kb%v#9gL#=F~p?d;nAYwL-P^BSLQoZq;xaZ%$_%{$r`wa;yTu=Tvw3)>%Q zpWps?>m{vi+FxpazBRx7mG;*fUu%55@r}ke8&@>G)wr_p?Z$T+-)&sg_+I1tjUP0w zZv3!uP2)$+`&!$#7B(Mlu4(?Gc~fim){~pRY=62n*#2y1esiq--R3V^Piy|E{r%?e z+P`f*v;E`dU)n!x&1~M%T-N+m^Zr(+aclefR`yCXs&J?-nhGQPvhRk zeU1AY4>TTZtm*99c(^&y_-Ffr?T<9pHP$yKTAQ?{x3+4{BVwjuo3}Dcc{}rzS&efV z=Z8_WTOYP>kM{Uola+q&YaG?&S>W`o$Wf?cXsSNzO%UV z$p3r)J`@;4)?X#JeyrBKz_9xpPYrVL&ZTpMuOIr)t zUv7W3{jFBgN?U#HZ??bDzM{2pYoqqJTm7v@Yg#L7-qpOjeP#2W=Dm$;8`m{{(zw3$ zisoONe{Sv4{8{_r<_+!7w1%4N+uv#YzO`HP#`gDGJGXz+dPe(4tO8f5Q)_YEYt2>dPqoi$f2g%b>qYI4wl8RZqBXnqnD%AuFSMTBzP$bQf5&UB$F+87 z?bv*%`CuzF|JHhH^QWyn+m|$NZ-1_{p!v`CRn4Ebp5FXp`v=Y2+P`Z(t9@;2M*EuP zBh3}9InCcUA857l+D}`Xwb!?Q)%-*IXKsT@UVAED`#WCy5K_9=wrdTvMq4BQvBjSm zwi^7>;AMkf9{kGS<%3@x{Mz8x2TvOO#^5&xuNeH+;FW{l9{kSWcL%Q;{NCXA2Y)bl z_23T&uNnN&;ExBd9lUPvCxi5grC$d7ph5jFk6dg= zsQDbxr&%Y6d!N!7JGQ<&=Co8>%g;4e7iTr6_pw@4U~DO0`ySq(-o8uc+ZuVA)+U^~ zRs{-a+IMST>kynXiM2Msk>}Tr+@~YWJ8DPnwD=3pjKHEm}%t&IGk-PJJSLbOw->FrU_E}n=(aH-e8#{CshQ935x4_5JyH&T>?q zZoBUwA7I6!FV8p<=F!V&&h3AiHL`8a+LG;U8M4i9Bpn>bG=8ISTsqPBs=n9u9o=_A z-<$j1-gkQ62l_tM_p83K>^<49vNhR18=E&?*?1#1J)Nv_fB&Zav-{`v@6!K*{#W!L z-T#OFiD_S*cKfuo8y`4u%E0LZXAgXI;M{>v4qP~J$-ox|zCCcw!1V*a9JpcNPXlW= z+hw!Y&3OKdYiF#R*+28SGxwPJ;+e0U`RbYb%zV$x(`KGA^UE_YpZU$1-=BH)%xh=< zYUUqj-rd}+Iioq$+^YH9=4+d8CI8<$>&RKh&w1RO!{@wt&O5d`Z>xXK9hy65?sMk8 zc5ObKven4eBMU~hAK7u_DI>d%yl~`{kt;`jF>=e+>DJS>p1JiFTW_`Xc3VGd>piw! zvh{(ZJC2?*`hn4NMlYKm=5I8A)A_UKkIsM0{1?nWZ~h$%E?RKef*TjywqV_3j(f~I zwt3|?Z`kI5ZB}pl^zDz@{%t!f*x|q(j@~KVY4e?Sdhx{PMwTsF_UdJ?UAE7%!-j9d1; z<;Yu>-g3sRXWV+(t>3!!m#f~i>hx7VduX4B4twaHhc|n8i-+eta_S>r80#PFjJy*=-4@9=Z{@D z_UWxq-bG+8 zj0}y;8ksXPZ)E<+V@DQ_JRZ#LHnQ)?*&|ntECX}>TMuqMtHj*CTOTkQMsvg5c_rrN z&0jEo_xY#IzhXgHaLIz7F1QuU1;gCyz}&KJ?%jUh?T_6d?68wzZaSE|`g8M^g=M>g zxz{h-Z`s+)Zde|c@4kGm<@xfnmtPL%Zdkr-`MoQ`iWw{Bt=MVB?ko0Mam*cq8`;N<3<*P1y@P>!>edySSlZR(Kyye659yx6+j5WdB z-ea#Cd)?R@$MzpPcIUxs~gm zW|(^=nA>ms&=PZ}gSoT8+{ebx9lv1w;_=UxnETrJ731F-|Ni(jO)Q>x+{9xiW+216#^15Ny>{)|f3AIK z?V7dsuf1>Wy=(7UyK3$2Yj0V*Z0+CI-n{ltYk&I4j~@BKLw|kf-4DHG%}HzCwC2P$ zC#+ez=D0P-t~q+mQEQG|bNHIW)*QO#;57%WIdIMXYxY~SWX-;7-nixsYhJ(Rb!%R` z=H>Ul^!}IJbI(0@-MQbLqj$FNoVof#tIu40+UobLK6UlGR_CkVvHI<+-?sX#tKYo( zLsgRy80!ncU#?BwPw}5tL|BK*Qz^LtzLEes@qoG zy6ToyD^~q#)itYruz&Rq5WRqtB$)>S93I(pSBSG{c2uB)DM$Ax$7dB^ka*!7NG zR<2yReC5q6Z&>+@l|NtkwUsBVeBH|DtbFFmZB}l%a@xx5_D62t`u44EpLN>>x1GD< z%_~k?{?PI}m*4XDm;QZ^zi<1)a}GIq$MbePYsWKpJY&cA?Remhi+5}g+Ez% z&BD(w{LI3SEj(>uzVNt(2P}N`!WS%j>cS^3eEhJV< z>$V@;cGk9o+pM4S$ef4f+&ky*bN)8x<~e_zbK~q&X1{6n(`N5B`>C^coxRKKr_6rx z>?h5B;_St}_XnGy5^K7tEeNd+XUF zv**p8yT$q~)@?Di#o8?%+2Y|X9@=8f77xt2aQLp_TZi92e9G{*%w>7GZYSGRz5Eg}HQ%BXq)}thX%)j|tn*6K}^{ zlRO9RqiQam#{0>Xm$%vV=Zp?@Qm=x@GSc3=Y;2m z=W!+O`CQw0A+wnmhnIvs!(QQ~;bmcOu6DeF`OT}stHW!;Ys2eUPuqva><~EZ0buYW0X!pf|CScQSLNw{X?uZFKbS2zhvC zcvm=uS<}0@j`Civ484zay7zOv=nUpjXK`iagRCKbn5#!04Ic|1XJ&N{*ILfwTGIJk zNw|;|y-zXM`ZQNxJ`+A0J{K+xpATOMUu5=m8P{XJ5-ty44POgi58nviWIpySu04D^ zd?$RDt76{^-w!`vhW10Q+59N{I9wa93qJ|hho3TM`#GzGzYM<$zYaHq-*C0!cj5Qp z4_w#zQ@AnwIs7I3HQW?#4u1=OXDxAgSP^asw}yX&+rsT(Ww?WDKdYJb-4*T*_k?@7 zVts#jfU7}k!b9QV@JRS)SR2N|y0AWshY2n@B}tm}C0WwoipVr(iW?`JBm>FxWYc7` zWb;pWN)t1ydrsJ@~Y(3$!n6=Ca+`Fbf4r6 z$s3b>lO@T1$^OX!$$`m1$-&7X$)U+%$>FT29?6xRqmyHjW0T{OrOENh3CW4co05}~ zlan_mZ(+stZOPk{cO-f8&g5OmDaonHyOZ}M@8w$1`&f&8fAWFkjO5JZtmN$EgUN@I z4<{cV{L<;ho*uO(kkzL9)0xgz;ia%J-E<du@>D+W)I+AXkj&j{>LHd|3-?{ z=>h41=|Sni=^^Q%>0#;N=@IFX=~3y?=`rcC%vqPF$EPQxC#G*oPfAZt-<-ZBeQWx* z^zG?8(mZ`<`mXep^wjj->3h=mrl+OvOHWVVpMD@cBRw-cD?K~?VEUo-!|6xTkES0> zKc0RfJtsXkJum%adVYFAdSQA|`l1WcUrWE9ek1*6dPVxJ^vd+x>37oardOrkOTVA~AiX;MVR}vaqx8q=wdr-~Ptxnt zpQb-cf1ds#{bl;A^w;SP>2K2CroT&npZ+2JWBRA`#`MqWU(&y(H>EeHe@p+KE=!lE zE7DuiTho7}x23nIE7LpDRq5*V&h)PI?)0AY-t@lo{`7(L!E{afQ2KECNczuoZ90~& zOV_94%;H%JNHhS_e!7)d_CFsx8&KI$*RlAtN$Rg-bPkkMP5}_y_>wMta?8g z^#O9~!(`PlGAj9W;Dh9PRf00^v%fopPzmnnf=exKOVj|{ru?{P$#aK ze)jYav(WN+4FARO-M$Zzx&KKmxHw!k{bR|8r=L6hgH({K20l)8`60F8kIH}pr!sFn zgPH6522Kx;Y?;H-gjsV6_TI{|(gYsfFHegx`> zD#u@v$Ah$+!{v^p@NJNEQ+mCDKx;;ugM>V;3jvVk$lyrcN4?1MF%JJ%&utX)2^tNS zr~Ba0p?4UiUw9lnf^kR|FIqfmeG}Ftv~-pFYN>&*gb$!q&{jrW{c< zhfVSp0Bc56naBD{cdf?-bwmjrdhf`RyZEfRs>@O9@ZosgVDNtPE{f zXC^tf%=HV!EVuQdS`~ z@vL)_ud=-=aM(^PT^h+IiFj|evT`R$GKNPvB!STqbrs)S;TrjR^i$`IA-s|VOr&|1 zpIBbLi&Oz1i*3>y!2d_(lxYsAHY_1ynLY;G3j||$nXwWT46KFt5er8Xpx<*C2 z6&1#dXa-8aAu<>aj0XNeBGHgMLnCGZM%zCdB}pI!!P;gr>3Clb%>mKGlEM}bMS>pm zZ9G!j+KSaR;+25 z#!Vnmma~!*h-`l-%KQNxZH1)@NefveujdDg*#WvYMUuc9LLiTy%lX_K`<%y*@&gRb%N{+*BWo}OuJDMi zF{U|&@Cfi0E3i3#(Z%;s8_|s3Drql5cz`Y&h(w(>2RYP5Jkm8gaXr5Sv8Y;< z;R<2=%+ z`wJ@2gQEO4GU(b#2aQHHa~V{4!!{1MdS!CGgrSHaWOD@BSc&8aa{P%9@&M*ir&-GS zC4#EFvuJ@x4mFjiOUc}mQ83A57B@B7g{7q(UDZa`iU&F;=!rkO@@>@F(wW3%h)6@z zgg0iT(kXe$wBae%H2J_IOWG+RDZPrf$1ri<$LeXY$d})k))XU*MH~ccA6NN0W@GY> z9ueo3e;naueR4@55S^sGNt?+Okda&@B}{&0q9SWp=5Vxh$snsaLP{B2BFl$WjVvrC z&JLCsa&=KQ;1i;&7Qx;pIK3ji%qfVC%^>cvS2i2mgb@3OA=aad}$u-qr|(O#G;&vH5-GNrPT0Er!lmLgsxnTSYdlM*b6piHU$20|6q z)k{H1SXbPV1q|aN%$W56h|P5s&CL8^WE9mR2Ae2TqywHj?@2ZuF@g&qYk+Gg%Q-l! zxESyXp!kuCRH})Q%~~6fw3m)f)jVmG(TKBykXCyfy+xf@QniT7pauhHma8KdX0^2Ah%RKV(@-`t zJ6ir39OxRbp%g2w8@Og^G7~He8)hG3 z<595d1L~i**`P8;i3I4&dX7|Kl(*(Ws-N*G@Dpc|!n&iLte=?&7;VGcR5F+53SgN% z>Q$XTy@F!LP$(3~J$wOOMXKy3Y0M@@)+GX&N;W#8FoFY5{0kh2xhd)|OFqp)Yx-H1C6IYbYKz!bcYR9yhP^dU6M^Mt`$zJT8rmX_OuXp9gmOGvj<-+3Qig#suN+b1%}{jU#pZ22b=Klj z_7a-Pn3RDL+`=CUc`xru{sa-cc4;{;}ip_$5JxdyqFHYF=gqWd(6v4c8jEdJ_W3cJ(&p(|Fm?Bx7qCB}-UW6B_a65Q!) z){C}-e^=f0xYQ7=MS>u_&FJDOTT{f!URh|9uZuN;M7e;Gn!jcIjRk4EzK}Q6#}apO zv`~dGGMI*H;96AA;8)2QYjKQsi(QM{S{{*a^=HpOTOO7)90+U`Et|U*l6x(7nK7s; za{R2KN{Ea-fYs9>=7L61t&og^f^<^i5a}}}&W#<#MFe69+0s5**pkoMy4}C5w+xm) z&2N?Or;e9ey%ky-^?2zSE8NyG<5xW#FoK@UbQhE{y%4nS5iC~q-J zWs@R4OO8YAS?#QFYIz?`86{FsD18z8d(SYw+GxG0I#V0r#Yh61%Zbs7xBJ`WRhHLh zEESkTYCQ1AzgahB6IOJLhv5YM{;j$RdL*Fc{H8ds2vEt&x`y|NHiIeaTOI432}>nR zeK&sYq#g2>-z`VbS=l<9MV$N!qy1gLKW}4B#wB32VZ0?Q@1#kV?mA_*A3K zrvT#r`uzW#&$+&)ejk9v>uY2YVxG!A)%7*y5pNgc625#D=K;!j$`?Lo@&1Ku2R&6p z%fz0B7=pu<&#gpRVyA3dRU3UO^f)J-N*MZsr{IqjW*|Lb}P(U?pJ5D zSPxrg)jLrhf=@x&)h%edHDZlJbYDM!fy}@fZdnJW!AjJ4_*E;7;eNS%Er0r~QncAk z*ZJfT{3-p^2bpJ!jE;2bPo#6Pb|B+RqF62pqXyTss>w}}Ll2=-5 z^+?Z|alpZRD6R|X+Ku1aQmg@}VlL{lGKP3kBI44nhoMmd9x^&VgtNR+PJ$$y81%{Z-G{-AeY1BpVz&<=D>=d&lo9StBQ3gR@+kD+N=e_BK zFPdQ+pD$u}RZqXZfxR2%iSA<=q(n!tp%|#Y(~+Ld@FtnzgB7jIH5+SYZ|Ij85ZmB& zIRd`4{T%MD=(4+CA98FUw`?E`(N)M5S!s2obW0<#Ol?w|MPzY~nI5t`ZxooCkxH)6 z03~!WNTC^)&&wM+$!J}tL8-2M1ov{aO_an~{f}ErLUhg5eJr?>?>t(Rfiy;+)k6-f zUG0=)^izi~c$6B8ZVC7}Qkd4$V$&?>!_=?W>6MpBgasmUgB zimhfM36Gfo4qDnZ$!0YJlC^*txKMm}9WxLZU1br^C!%MDU`P4IqQUA4PdRx`=DB0ISfC0&s<$t1huSvkREX6N6a@4haxUyZ(DML9y6Ym4-?i%ArJMqg_N z%`gg>OlsMJ2e$DTj99XBVAyOU`Q0j>o1=xWP6lx<|2a>Uje@x|HJ(-*Hm4(iXKk&( zI5eeC)Crt$Jyq+N6+a2@cm<70NJ`iR535c31h&!w1w$R6)Ef+6o)J zwN0OpGIl}OTG)Eah&S<7joLTdpp|n{-CjC9Go0`y6VUa9&WC{XE-rQ!P8_Qr{9^@jgj% zO|%`E%X>EFaWTWl&jo&DHjDaovYxDl-GtP>FcpnhyXZ%HXvl%sB{k%MY>s;Fv>$?R08Rv4+&uCkGoH0&w{gZBWc#6Axq7BoR3*)LiwwF*ro z9-9n?hWw+((GZzWbCEQ?EoWJlRGe8XAe~m=hP;O01+xK&QHNzz1$`$CHI5`=!xJ3r zk_6oB0~~=s?i^YDpoyB1HN_Ry5pOnlu+q|JO9ji0PskL#B(Sqo9&gI8YX! zLe3sEl*TUPm31VtS*en`0!CFQHpD}6*DMZ^=uper=D)(?leOST9&7CDV1>P1QTwRY$9rS}LZtu%rS_N=ngn+t@5vZDbz{tGi+=;#ziylx(H}z84g^ z#jLB;E(ICw;$&P-gd*F&pi|{#+0p4#5OXp{vQ9_%B93DeDB4E!ot*BxT+x$U(ouAx zu9D6rm5AN3(4#2^gSyqUQbM`1^m5cSI=Hf#z5x=HYmiT#H92egnk-!!E4j$%eofTX zj`T8*DbX`J%3KK~g>DEzM!K=17fT`D(@9G}ku$!~OY1(8#%h@E_hAH9kneb5(=5#0 zN2e5R)6n(8*d?J0V>QD@2H^k<4=$R8k-An&qS2kQeCr;7k?zsgb>e?P+adt3Vt>L(Qj6K`1SLVKCjl|chY=yMT8{&p%9Iw4x;8emkYU4cm zP)_Hx6+GncS={41Nh9kBV#8|MS+`o_rNEOnq?zbKT>lDmjqygeqgmV;L)J8EoMfxY zPr?{VSqmF`Rv{j0MqNY&bl98!3tmN3Ac1|-@~-+NjR4M3q2;sh;^}{q-&Oupn{v|8k>nw-AD2-==a7+jeadoD*7=})Osrl zyX7|w_sDOk!V|T4iT6!bT6j|~72MZ_GL8Xv4!V{2s$qC4ZUu&Gx>%%`*FE)C3KcvY z6J_0MXibf*$GtD+RnaW6mHKvlTzysybfm-jG~VpwW*DT#IQe8cmBs6HqOqMyCMtwf zorcG2l%+QV)hS7$!jv_kM6&L$VD}aI-AN_Y!g6)}%CL_LMngr}GJThUIOlHn#XM+J zy)E$;){>VYV92gK$k?Wuq^VWJ7=SvexZo`}M9P3=pG@A`*zb>q9FL(zy>t3v)@#vK z>x|>=C9yu45vrI_kA`KZ?1`;1sYZq}+@!mOoMhxrJ^gy}0$X=Y+7R8iT3B=h(%Yd~ z_`goKfI%%sY^ZOQ>ANDVE_HW!O%`3^I}fWx8{#pk5_R!V%0m|=Rr7IWo-Bv~TP=RY z!`2rjTfV?x7j^7j;;?R_s`|*Mcp_6qnnsToh*zs+LW|?UBh%r%%`PjKx#~bkk5jgXxQitDE0zs%~+aR5; z+)>ae%es`hB$}`e?^O3_}tc_?c1%ra$*@(MdhBU)>La59>uY= zWlBYhwsJYO;A6e1*}O;YNnC33D@_!bGl;kr#vvc$4Iu@?c-_ioAy}3!vD@OB)yV1@ z-girzDfFZ{5(i-d71v-LhxE-)<~Wfyxx>D{W3-LF_YHKQb;<%nG<=;h`}#*Vk(~;e zaVXd%Pge6)pLYo>JZkg7t{NpuZVH0KwDGmljN>`*lgy$G{+f<(c~N~cYX*2yrMxQw zr=$)ovY|G-kp*4_?Sgi{Xxl19Mcbv;^P^QOIa5eCQ;BT167B#FR=iA)9$uv$|0%Ch zr84(bI>{G3>p6u^p8x7KtI$K<=yHQ7&}+yAN;BunVS~ z%Cm^4M~~DQ?`^BeK8249*&}}beO{$DS#Ul$*wPv?p!EyCmSh@qt-LPw71`K!x>l%# zITQnmHs5ijq?R@|7xKkvYJuH=Jj7R* zJhj~4EtjzCPA#O1&Ma|L)sr6iYBVRwS&>x=s!3}wv3{>Uzl-aKn9B~nFJGeWzLQPP#XY%w?5wUshP zeI~%{D}j6_l?zH`4HZGjN<egYhkd89B8U};a>>VdZK8pg zlFe#~<-*0~b$IiZ9B5v# z@m>tpKG3g}$ba{$z>d+3!eqG(211PG82+hQrpp@U6j)TTRIaf|dgj#IrS_$07f-FR zM8^nv$-)>cGU;vWj9Op!?m}p^s)8L&Vq!5`Kp$7gXwod{ZPzRSMJLWj=;R|{bjb86 zVk-6*_3OP)f}2H@&vZcXK*o|s+E#jZ2NFUK|!FhQJrtJNWnK+TWmeR z>$dITTUfImMTNJFZ$Uv}ivpHU8r7^!mXjU($Sno`=ymbON%A-Y$r_`>g7EV{V*n%rr^RX3xgU=Gy>W zSc&(q_~=4NRVVI|mCyLc&p1WAWxDJy<0s8_E||hd^IoA*XzYl{`Nv=GZ02 z*^+iyIy`n`?}BVt)-SIqMMNo!+<-U`iLr!)dJoCs#;`GnOGs@cZY}5I0g>Z@Xa#QL zw4qEfQ7$c0I)%z^Ioh!X$2@M5-J+&CuDmn3%IqRD1g&W*R|uJ*=SoE)L89%SmTL(yBi zWMEyjOJj|MmYcXYM%oyDRsXU5l;ey~IW7}79~bikcv9^JQIoHrsh@(g;m4RqSz)Fg zG2Y3C3{}qg&uIy)>eTG=XGP0;Si4hll3dE)<&3^tKD~4QL$#99(mHAvI%|FCzel^0 zIt#FZb{6uo_x9i2oovxqc^YK}>XP2zYk63)8z4GKgNhIRo^-G}Kc$7}N&amOrsa5W_*jFX?_$Z&8m=7W2J!6lo|AG4F9zT;ws!NpS5LDGRE;w5!lIF|~k- z)NY?VA1i4gY~Ejf2g9@SB-?sKmN6+mS<2CiS4|!Az?6Rr(W9k}8Bb+=O7@PfDEW5* z@nKJHp3>rx!DO?Gz8T&yZT;YA`~}>YNxarjrM;7V^*4-7WQbE)NN~vc1?8$oC z?8W!(WEMDBuQ}CqGNGo5sIDrmd?>d7d*yvLanLKIMV+^bGxkf`_-K^>Qzqsd)yEC% zoH+h={iZpMzBFrGer9mE7di-UOh{$aQ8cld$cXMxfyFJ zTL_3*;8cvC9Zln&`{*8Bd$SzljsDaQjT)J~0FuL$BcJ&8Z~3t&BH`QP#~yx_o^BLaAxhy# zeGk;Klu)T|S-pp(GC%1exn}*^kg_(;Iyi8oDAhO~>V*AjMU4Uj(OcAv2yZ}>w_sg% zSKg5%@*@#sbjyBI^zVOgnK{Aez5vA&YEO=e>~2{2yqRRQ@rwM zUq>qWY>xm%Fg@8kr?eN68r{NPlFQ8nU0V=EFr=xC_0=!46n#{*){rs=HdhU2i^h^n zyzwIhiXvTU%@NdDF;bs!Tm(vtFX! zPS;4*u&jQm=*gmoiw@UGc_$vlD&;YI7i*1C9Y9{Y82&9S{OOBCj^h;AnXH~F)kX1H8EdnIl1zvQ&o?2)uaxl7uTaF@ISh4t(aYxO%=DzrhfF{w(+j)Gc1YI}uNkH}Hp zxP~~`Ew3T2i*hAz58)n>v4f07h0at5Ln4Q(7?&>7C6Y4gqo7C{<>M;58e5~05$#%m zDzBSHug5E}rkDi*dRkDqEV`{oTVXr-I^Or7d_jXr)RW~TlD<6=`v6|4$e9^T)a;ia zki(~*Fq4qHQx^3Wd5l+MiFIu&d4hreNuEK;QN46ZpR44}bTO1XW8YzYDpgtCqVz0G zK1IJH7eYsm?jDC^YgyBHDS7y&n8w6*&0;7lP}IcgU|n^=NqGTx(^I)Et<+f$SGuaJ zy^$2!+-<&JVBY#v%@1tO(XEmC3{@%7uQZX3{I>LNEl^aa>UqiLjdb&plt)?Z%yL!F ztFBoFaa+q8u7{2qKzY?=173u;=m&h?@$YOD^ko;bmsQkgIk;+FkFk?Dh`2VlPo~{o z`F*B0rTlK0Udl2&{&rd(fBKeEjV^V^GGb+yZn+GcwAF zRc~auziT`?RvN15L#U`-6b|(Qn{0({nO|oQthr;OsM?7BF91I7Fjl{DvxqhYlFyP56f;&#a+cnPn9yS+GK$s+LHRJ zI#~AAP_V8=h*>FH{;qPRt{Ki_LRSdJ25Mbam9S>X-yh$N>8q|EdSp@1+?n$2n<)M-eRrJxfg*Zh|3Op(G+3 zU1X2(8&ol%BD`C*^CZIn;w|HIR{jW&u5s!at8tbkC6#(c39lD1*H8II3T~#Tlf|3G zhV=~6f%yjbFx^<~k?b-IFZQKHp7VyV=g}q$3WCUl1*0x@*Zu;}twzYcpXFvkz0sjr zh^#I_0n8>4NJ=!dKkcKlCQ7PpQh^wez0e}FK3TcV6GQBj;byX;Bs83!52yWO5VS#( z)u9@Wtf#dcAnQm+_^Ib!>gd7_|(dHL&p#ZI%rnhpQ1R^gLPh$&sMEvNWV-5pli9ds)J>|Nf;dSL(DeO z_zED;HOf804d;b*g1w%KNF&GzeRhEN%Epiqt!P*4SBzH76$xa`qKZJfDNA?A5=n@;F2oBwaXdA_?sl(_ zSI1MMKm~xgTi0rE*=(d`z4Si8tfG1;|H?M1mLr4mYOa3}Vc$EAM&LaMpv`X4#g(~> zcq;oKNO(L!S@dLW5whYS3kf3jpA6_|l&-Q*^}U=pvvdiCTTwGhi3)I+NJbmEoIvrO z1n79cIT2g+Z=BftK+$QPvGlixa#X|ygiKJ#YV+9Q#rAbXO6UpSMjrSE>=ua`M)+?ykYzu0`Hu&vfo3w)Ub3N2=&Hu1k;PxH#6_?szo< z9c6M@dKnR^TsecHQm#;-x;_wTkc(p{riQ@nhA^PkejkP5e@Nw98vbs8689xEF_HU7g!WC@}QXqqbT4szNCRMm4{>rFHq3H z$QcjKC1W-fvg&I)c-C)zVI(R+%>@FXT5dxWHnUQfUeNSR&tt$qJ<1SjrSJKifN-@|&iz93<9;(S!)(@0^i?O4;W7O=oSR#HjtXTVj zif0@pA8k|6A`{B@_)PlMbC%}?OO4QklG%1ABk7xm5TT68TT;6gSUi|>v1OyC z)OmXt*BQf}{#2a~QWU)LRh@C1cEhY<9~U7?=8{C1RlC6kYZyoV>Wk;N_D=%ojxR*9 zoPsbVZ)}4kO|%yc*F|$z_IYQT2WhM=)_FNmhf;D6M`aTeLKraqncY7p2*y8hfAH?=C=yl$A?WIJTEY&e8<9n(1*gw1TKbGlVY zx7usojLpdXQ~)SgcV9?o)`Hwgr}*0xymeG@Jvvz?7}g0E*6qp55uh7&5@E({Bbef!z@Ry z_`OHR2_D5(1$EcRE2Ri1T{&rEBNe*8>ti&Lee!pGx};XGA@Nkm>jEp>v@{d9z*gB` z^UJxle$jLOtVzqMNy1c4#)n&-AF%FTXEjGh(ud5d z%>R!tNqQ0(WFV_d=9uS=s{p#Sc~-#gOKTXhY~yzC8)=U8=@-`PiDvN#6%1A4T^5@r z!T+s4;|%x5(lZnRXPl9q!JV*CqY^k`D}Pk+wQ()qbZI3GVQtKnooh&PH%qM|473N6 zntBlm=Bv6Lb$x%*9VFmNeC)1*UVIr7^N>iY2ADRrh%n!E>l9ZWssB+Y?}c0=9jj@h z9Be*vWolkx*SSfCB9`fiZ4O+;hDi=lj|vrTFzU7e1d>*T+$KO-8Dnk*vW|L99yYho z9-R`ERZbaA8+eJYRbY0^ zGDZL`6oX>rfnrRMKthnSi!dDH0NPc$dG@HU{o0%+>IDzwkxH*hC)Wxs5noB$*g#%y zrAf&n#4N(hyJv+;mNO2~$K9F~45UKTVy#IZdmrNx*Gh`jYhlQ|GlZ4&XWpU3$S_Op zW-sV!`A?a#ke|}2H3BM+dn7{#l*o$Tja=aJlbfi(@`JFXKXI||rou<<47^0jfhytk zjwd-t$ly$&lg`)`UPqnhAJ{S~^7d;Gk*D*r$ne#eVhtvOSY{F@bH1D+UDY;gPn!~Q zo`EvIs^0L*i6-`Nz2aJ@B0=#XV>pDO=%NN4UANWhifG21xWV5xD6?`ftX3zaxNM>ZA7is;4C3^lhASi^wDsRkX%&^Ai9YZ1YNU*mD9kl&8bU_70f`f+ zf-FmeP*Gzhzbf@LLjKP#S#`psE$O5Cf1Q37a^ubv^-PqXy5FBDzv-;Qw?QD z0iw`~v;2B^1fBqDi@^x#S1}5eQhvyplQ<62p85T)DJ~2ewEu1XrBzM3{|bL3VKa+j z-^jhrf8#KsyA!KQT4~?K-CC8RKhQnwlQnn!_%UlUK*=`3R$hT|&YIN*e`}<6A0fjT zprn8`vjR?a`zOfiX%h;ECS8g>{tNbz-29s1~ ztUR}#U&Nte4FSF|AM5{l?OHn_bUdb1VI-+C6hbE?u7a{;aaztobw%BR`ZGJnlYS6U z$B;sDXC=Q)4afY?a21jvt@UqQ*3G-(i&dRkP(<^lP(`Q{D(s(`OefidZLM;_-E=K| z;obbCez8Dw;(c5|0mY%yms-Y!^x%r-$f19DomdSz2s2X@-^{YL&c{7!-{?6J9EfA& zYD7(NDWrD-fw7j_hO|Ogoz-0@Y{k#gYaUbU@kyMl%V^!%t`4ZA7h3kgv-f{%h$|h^zTh_bwssI^kYSFtpE_H;jqQBAwfnIEfW+L&@>HQgP2L6 zUhpWt`^lB``W(#qAfZy20X@t|?X^OvyG&_AJcAiauciCUxL_7xY%6)P_N#f=EO6R` zQN!aTjx}t0p6X_3Okv`UzGXu3Lr24<pas;pH6%^lSJ6Ste0Sd9L z^fH5bP4oF>PFRsqcUvd117X?KK1wf|5HA~veq^1 zw-(rE>x#>%e-oh#(Y>0KcA7$qf_Bs)R+yfctUO6vhpu3((VirE%@10m(p6LCe$6En z`5-%XB$I4}UxA7U8e%3#J!0SnA)dL65|BQst>B41{@r@JTS5E=7tyDXX?S!Y9uSL) z)stM{;>jrMRm&qv)<)Z&gs-XceV0~s%qB74cWLCnmGRUZ6uQLN0^FWP9>VkF=#Fx+N{F&?BW}jPy*#u4^MgM`2f+c@@%?#OjiX zj(X)x-|MGGbi>g)VL-vb${OV2L_vTbvhNwtV+n8=)KoOzMU0uL9dLHmKVm0&vRBD} z27J$84bZAId~lodi-A@0IYSG8L@YiO0@gnOTan>eq@89YThmAVruAvEM3 zLl%QGNZ9<_Y#ME$Oz8bq?fw&6KLn{PKrsg1g1Ab%i=zNGc&(R6K-7<$Z56?>9fg1a zlxGFB+6Iz{!p78tqLhOICKYu~=v99f;~deX$v$Q4ThQ(}QCoW`e6P&pEHzpZl~f@n z4P-q1`5Aozx)E2^^D zk)yDNwWZ?^2)=fUT$M198%3h;_!ThqHG1^iZ>^h(Nx8%~QfKVibw%v=Bm*8Jw1j6< zb^U%ezZNXlj3T}9=GA;{-r$Y-+kRV0Hb5*lv}PrxuJDNKj}|%(@t8{z7|QRapRo{p zbUUUU!Eg>ReX)%d?vkd(jMhgPuf<=Rtb!zw)iJ&f7wS}1g$$U&66Vytux9zWvYS;I z3w6QL9s;Ui$X2qHn;2~1M?%D8v%1DnA(R(B!3IDhU1Xht?&2C<-LLj&bb|;&QP0?* zUboD$Q_sY-X5;8Iscc_*OHkoNn+0#KTSP0m#69P!yC98Dn^)}E|8DP1)= z8oC!dr9b0bxcgp{9)wPfnv!-UbHoe8i4Nhv;lDo>wC)Sw6;asHinWjk4CEO-BrSw$ z_jU{3&^ZL{M~)?t%WEwE0V@RJ}x>mm#wT-T)SRSl_=QiQ zqfA4vds-p}95nwxOz-?a85c&I^#flal$`cJ)}qIf&tVM{yU6Y1i%!cZ8%>dCi~QJg z`J*lTw`mQLCc01$${j3>v0zqTZka)*WO!jq%L$q_nH41q>XsD5v!H+w?ncK$CL)Go zuj^PbF?9?WWGb8jA&HehGR7^k$2ju@?LvAglY?-ccWDYr-dpaf@rg(g((t?x$aBJ5 zK5U>fsDKsq!1BBP1R!L0!V=pE8}|J7t_(TSTLNpWEX{}5Q_c5~;2whtv&9TtN@{eB zGwT-_XRC)IAmeMQ043fa0s^6w;ckH0h<+JZP(u?UQ^x0a80@#Z^c8CCEfC9PMu~SW zd$fB{&s4L7-i_FO&lHv^&*BX^P%9LRpzklxErEx~OG#`V;rYW~c zns(+}n=L4_2+x*byuy##uU#1CIg6f9E)Vx$g2|+^(IF>m(6Tsov>#;_aGE4pD7LL7qXzH2je85%qA>~h5k5T67m}9 z#yVwvZ=J5@vyyhP$vHV%M95&~EPUcp4Mf9<3U@?e|6BNOj_EDLX z;li3xu>cU&62JHu^ve@YK*(1rl%95Dj#J<{<_i^UhRY_(2jzHdrF5nCO?!4TA~G{d z){~dng+DKnM)JowUwPfov?%1)K*`|p=XnMN3{e(v<8L-7`*0Y$8Yp4kD=Z_AffhW_ zFucLuEMoG$U}H~s$cp|}kyu0{ zJmjeif_zBILf3JxJ*XyOEk|W|NQoBq&I_Aap0E-rx%Eykw$`z%TZykT2Jkw!FV%JK|?B`NJ#@i(e}(l6N9dT zL!pNQz>k$d^fUX&KoJZQ&~!v1y^1b-;uA4xveoCe-be`45Enwq86d{-p^__xIRr&B zQq4J>$5<DE3$w|syz+`UfE;|!;9I%)>P{=RY{w8XW$+;J2)M2u^3@TdO*|h$8KB)(eKrH z&5u^VuF~G1On6GbfK;MeMbe)S)Bqoc*0Ix$1B0VmfWIULA%yJVtROjwzU zzcB;#C{vjSp%>{Uj%QI&e0e(|_0R-Le%nwTGj=D9%Vgakl$6YTOgIPc|it$ME=Eh zSA>Z8H^i%QWpOQ7q+}CmUbq*^QakrL&k3VvIkQ+*(exjktjc0NGoYcu?jEaS3cGRT z(720t!Plyz!4QNauJg!Li+u%y48tgE-o=Yw_vVjUWV2?i_)9)iwQT5c%y}!xIjGmb zX11{UV^oC~Jv(%%;P&NzZVx7u5Mg)1 zt-`{7{9zem#E_wP(sD$iOApga*fQ3rgsIgLYWAE>-cb#))PXzQ9LBa7#<%iv%u(v&eGgbtgj?D2 zD2%gtn=Zga%RSbz(C)AjWb&d%te@7!GR`c5_Bhg@ttarTh>BwhdC^h$#e<4_bo8_) z1mGhJLgSN5$5>-6uVHuZx*6&7s|+SKELuq~y4=f_Ff?KkJvX#Ii5Q9ihMD6%h8Qhj zsx(s8qG<1WmX#il@_!9PtpGao0$ZgM>kjH!%>LTHkerIgRt^7OvI>=)nd>5ta}N9EhK@K?Gnub zIB6kf<1rjU=?fLYa~zlHH}e1WxV|t}jfG2<-};1jHDrn?1E1I2srbAqgDi;@<+$i|dx1A( zNHWSyqEY$G?&4)U(lgeIC!gda9&~}NTBEl)x2`+ee7N2Nl9?JroaG?nCb`i-@un9e zsk8b5c=St@16`EM-I}tfWKmb@3kg13(~!DQ?8iE0>rZ&WqbAxwsSP&5f&o8694Nru z^(p7S#d-vMRjbXP-K$}qfDDucHM!E{F?dO?a!yqA8TKtN(NopLTE+Lh8VMF*dX<)7g#*=sXrsL=uU1Mc-E&9+ygWCo1f-6+EoP<_)7KxQo_j)f-iSMIp(EEzj_3=b!{#(m66jc-0*^9Jltgr7myEyIF=7VU z!s22>y%>3m5wXp&lxO2r!))PP-)haBPOP)#_3K!3Z2c!eF@`9Z*a}~eCiI4Xu9o=+ zdF3B!cK7;1)J~KH@u*#?pXg#8{WCU37BfM*&{5Zv%r?qdMQsFKsu0-6_(XDzS?=uI3OcHBU;b=^O4-r9* zV{@7G#oGp4_$3s3b{!)Y(9!>QK1rp#!n5KBOldfOqUH3g7_$-}_c^|?6eM{z9cf`* zN1t7CAwcyRq0k2j{7wb3sW_G0t^Yr-3K*dUhWv?mgRe3M-e5_^L9Oq$Sfo$pUUDQ= ze`h{X7opf<(ItTPMe&!mr7h$XJ0fR_n@!Myo|6OOBf7#zR(@Bi zi!RhK0^(b8;u~y}I7oH3P7fb=!B(ni(pd7#xL3~kmDlweknd7PSuAqmz8ZcB&oYTa zTYhkWia1-P7#J-1z`LyB=w^2c$F8C3h42HIhjr#0P{c2)I6w>1a5P(?YEkoY@aO%W zj87Dq261j8w=gdnwfR69KQfYsH_O-Tmy&a03|2w3*~}OITUwr&iAtLf!lr2C5L_M^ z8s*!;ni-0kOUbJ-3Lr;*j-tCl(Ny{{XMMs51WNyhxHhE=>Vg$sjN0TlLHDc=F z4YkUmMVC?_!F0)^E@pdW1*3%MW-*=S{dW9 z34|;PMu!%t3fk{PD@WOai>V*UTe5fP6xT`3)=lqSlta+eG8RS^E%tklWrBkKnI(AY zdS@w(Qy#;LFaM3j`VqH{zK2PTv3rWC;?w{$hP`@iany5P5GF``W`On~nZP#WEakr- z3)%x@0Kp*{PrT6*=6p=k#JI$h=RP*mSgYBVH8o7S^03w{4mCo`l$MNyFe3#K$v~Vy zobRv2d08A!A8zK55FlCrvm@PO#5>wqybad8#c=%B6Jx1Bv%aG8%vSFAro7A1j%O+i51X>LVhc|O`7^!YkH#f;GtbgjC%+(uF&D84d~5aY`v^b#Pa@Bu#GfTo7kV$tJDJ&a2W zZT8}PLLWB8n4L;)hU*Zbl(B4xK}Ye63y{hT3MGvZH=Z&V!QKlfjPK)tzck(lDoo^S z1C2!&Lyak;%dK}Tqs$=CaIh^}EZ(K88E=Y>v4*c4z7}Pcft)E7Mwl-8sT>@7WNWa- z;aAx<&Y|(FS^&#{Lbdc%JXp`jdmqc&yy4?4=b@YsA^#P;5VpZsw!ns6YM+-!OgUu^ z;s&bxYuKleiCV=Y%Q0jCleRu6zYt21FM8TJjaMdyljXyyVod*kH8EzIkY=E(Eru95 zrfZC~|8lp+z)T@U#ge@oD zki|-yHoyw;)rIATq(s^bewNo1eT0N38!8*fffaf}N8&kXEl}hG^*m^aoQ#rM`n?M= zw^(vh@eWz-w-7wGiMb+5wZf*j{$G=ryq;XG40gS;=EM>ukx z0lo7@wqNgDfuAcLQ+A?)<9Fssx;@8{yN+YYP4KENCm3KOpN=hJCRgz^V|B&!LmZ}! zu(_6{YP-TM&#Lw*-@cIDuBjiS3T=>Im&Bvbt{f49jXPFYi*XpB2GnPV*q|MSKylGFBfnncd1~7r z+5_FKXGTN5X^Z}ChZ;A0E;nMjEa*7KMA-SWeQY6Bw!|b$=Plc$#{Q`{1V&r?+4B~> z20Zyb(i(mt^!MnJ8SI6-|2}V7IYFBYRJDm~j-+H)KDV!H5a%galIhAU0^9X!n5=@B zC6QnB^@!}VPB6d-nD}jb1vNb$KtnNc#BTVFT(~B_s15KRBS*{l}0$16v(bw=cFeEAM)K> zqH9daitM^Y#fmTBoqVhz$;d5n%B0-4ZIEoSQ5;c_SZoJRoXk8>xz;>MAK3H#tl1Kt z$+fj|VNVIbr#Pbjv~4A=?g_-pHk{`x4cW6z%-Sv=p6V8v3+6oNGUH9mj4;OzetKSJ z9CmzDgIzy^CGr~GDqy!FbCw}9SX=WYEyTPg{Kw2eE3f#@n$k@W+x0Eq7`}`r!zF$U z&g&wZ)-yJ(--B0e_%U;Bns8kn?wnV(43>z^MQ|0u5%>DrPBV26^;%d;_5K5=a#o$wRW5}E=Y%)vYFFv7 zgpRKC{F3WY>?L+?&oLEK2Iyr$SPh^veX8@H_BTuNf3KjT+c7Umz7%SCeJHohf6XGE zi&*IRzXMntTXpZ~WQ)T&4bbUhlb-rb3=%t7Ao_JayE^AWGP0jXGnI3J%%H;>JdM7p zagR96lhIQ|8&kYbE-MyG1XJ=%VhNiw^C3lEtqybI3(@kGB4-p}#e5>7TYY_AtE5^9t>Op}Kob zO3jh0qoD$)e3@xcSVy*&FaD*i(Pj22w2T*WY9zdK?mk9*RB!R|voSSR+Ga<(=f3Lh zx%P(?SvqL?EKce!B2ovdqn_0Vk2c6Xg_)Aa4qm;8PshJTpBqP}&kb(DKK(H{==Z9U zzNqcjdEZim);XikLUHuPpq!q%;B6xCrY!iNY%Zpg@j1+aKYk$U1lVi77ysv*r_;%xLuL#sHaQ_B^A0L0|9m&4&hq>;yxrW6ewe6r^jJL@u5|(aA z#g)!2y)gsZx}@f0d|g}$fuiD+oL=BdAFo$}rD6e3s~lA6++_7J@i66ReTV;;TasCf z8}Ag3T~lR1>CMdTv5%4SYoeFvDX>MH)9k<7AM2XQi!t={_*=~FGigf9Hjgddp6VW} z5Yr$&N%op|dYc6bGh1ra6$x7rycWLX?-eLgKVgql_`sJO-sjFXoPMZ%Uh%gzjP$q5 z@`nw&;*)53dDaIN=^Zk_oV-g%C2!B^Y*1MD1FhLTYpp+{o;~&bv8eeIK?2W)$fC5o zEndh|eu~^xdHOAurbIvOQ*+&bo>gnpcI4;QH~G1%3%VuAw~x)*R-Mm%*BW9ce*m5{ z&f6IHBf7r7_b1c8N?I9~ba*8aKxyx*f!$u}g`T>`SsUc4hKxOGj>{55wCwtchRS*` z&t)M!%2s++?CG{kaD2-bI6B__mK_p-46ox5(&rx}_65jATFL9#5woy!$zD*-A@u0_ z8~XWgG1nRP=Oy!y_mpu%qNJWRYRKn9j4Ic%mY70sr`W6r9I~T;sCqKt!vd+XOngDo zemAzQj$)5PeZ>ZhXE&~mESH>{tI|@33v@d~FF6w+@vRkWqAzrXs z1UFA}K2}MEVTYipCC(=zD@2;USuUzzOBVbe+&ll}-Y)x^m%JW%b_}Cw-c{9%^jRKO zwqf%PgiebT0J9OwT3kuC^k14|B1 zpGf~zAymD#!SfEmk^lO6&QCR|~r}Oswfq~=L zNGtM=yvdFg{`)!J@lZM142n-gK*;Vsjc#uz&C$0bGgkQUh!KcV$fi1KA=o&!shU+j zaDoRG(JJyCE+Y-2vV5*mEZeXixgOi+w{A!Y@7&+O`8C0#-#f?Y{V=q^P8Ww_#0v;P z8t9X!rRAJCSz2r~C3j)PH2HAemDpV9e=|qTjFeHAVcp@53Xyh!EpM0fN4M7!McfRq z@Qry^=)U zzMh=?q;8(zd^xRHA}{02=BLZ&y(T%B{D@$PdbP~&`n%uO==ZfoLZ#GRzMQqK_I)!B zaJ9Y}-!sGPWDc1ZZ-at2*j4RNRef}`yH=}U6}j8r`Yy^K^?(3USc!llQFz5I>KZyj zZtm1BS~~_kLrHVIxAZ7o;#dW8=>i4@7+DxFTA!T`{T*21x4z?3$R#DC!Fv`5hS*A> z658UN$1HA)*a97@HK|p$9QSqx{E6wu={)AdhmDqUO20?lMxeEbEk${Q%@hG z&N#1#>sCiuOJ{o{Wv$5qw(#h>M-uN4XWxF}eQ?mlx`0l%$;LMQ?8eK6{zYYf2GP=X zCbKGYqIAf?eFPcJd)2jqiPp#x8Cat~bxWgf=pFu{Q(kT_)f%O*dRhy$4i=<`D*a(7 zCckejzt;nlBvn-~!GE~Y=9{y98P8=)fbf<8h5E$X@9o-muQM2@AFN5+vZSya?Lz<8 z(R$!}CqC*rEPb4^dWU)ao)}TnZRSgp;V3%Ga^$i5d(eW0J-dDL^!M@|y{G(LTOjk< z->s>_|AU!zcW4%xb0eZXSSvlBSYtq^uGE%l}Qi_ zBRG1qpDn%Ds_`(ahoivbYHgRYo0 zIPW^Be<7vF-IJ_SZiVzOHC_med)*ZJdOpEAU+~S_q5Hu*)89pE>I%aMct}A z*@9Tt0GNfa$;Yfasa~3na%7yYmB+huj4z`~X?Cn>p|2z9Q&sd82-7dAxADu@taQ&p z*Tz9yI9q$HMJts%k{Tz*VAokl+DV8nkjf$w+wZmu8vp~TK?}LOR{Pn!BU>@A-{e+X z<6|8<*`2`Nm!+OXn!f>1459=;;JWygkV6KYO=>$WvvC@~O|@Q;=BaYg+X}5zDYS`vV5Q^|E!rLpYE2he>$Ta#uReu>#;%9F@;}dA1uW89d!PzHzDn)=5 z1(FVkrR-+BV&{?5-ibJH5L*N><#_Q zVM%w?kdqXpOyxM|aLS_K8xIR?Sv8nHjn(XjB zi^zH)Viw)KR=bYAohG`1rVV!~J3^}RiC?F#$SCJp!kto?c2EO@;V>yrO4puWI#p2j zEF;zRu61@fuWi(YTFbkd3-$EsdXp1~Nb*7z2ZgBGZ|Gld+zH3@PxEDT)$taeq}G2( zpN_i|J4HB76&0N1#Kh%7>3^gR4EZ#S!mT{Z7-9+Cype{-<6enpW~}1`jPn< z2WL(#|JJTcJQ)APSYOxCdT^_pY??}DFQDLq7Ag`Zo7EJWmGv})rW}Kz@q7AUPJfXc z2*K241$aBk{v0a}7o3sQcen!R8`Se-8u_P*igbq~*BoD*jvpE8$z;U?9d!RbbSnLY4&f{v zn6*4VWdnO85Jtc0_S1)7KJ;&zP)0QnuI-e#Fg29I5Nvv76ScXfNN>(F%@dPSDGIdW z_q3C2v=1%w={jrC8aX?EtT)trAq1S=SXg#lx^{i#{NHbcRh{4TwYjAc{$p?%UY1-I z)0Rzs>s7*6aT);l5C?Xxenl6*hcBFY{4;pO|I4W)9hdse0}t^>|0T{M3NAnj?MmY4 zr4KC^Q$uo$&yD#7|C9Px(1cD28e#3bTalMuvqxv&$Dg2tcXC2bv3Un)#Ac7%`C`qb zyxBD~ojPV;TF}z`-!()3camJ8Q<5PKmM`0*<@5W;`gLV=lGh*v>E4iwqk_(`WuLAe zi0^*tqRE2t#@t~=_4uSankyC>SERL7EFbFqJC3z2I>!Gg^r~dDZ1ZsnO|R|o-)dVW zid3n#fgByp66SYh+lXB!Yd?uQ_+n9-Y1273wl|NHST80(IDhdsLe&uDGl@YT(fHVx zCE?+=x~!=Rhb?)^4)&1pEX!7n5F@jz7EIccs(ib^?ci@^0jXE-bK+N7-D{xHG}buq zgR{KM6E5XaSk6=8+6Nr|M|3d=N9A5=*I21sqIcVeWHPCvB_>B)7Xnl@`OZeUb(G|z zbPC>i_Nx+K(N({}``KSYNoc2y-%GgU&ISB%tB=7HlL}yB^}k#Ghee%~y8M>U-{vwZ z?kjU{0Fn*gRa`g}j2@x_yK-yY2QGTV=zBcPnP~Eo?3yRJ_rNpOPp0{mgGl&&FP<@3 zWox;WIM`BtyMJWnl-{F|8+Ph`-uW*4k=aDl!QjC%Apx~5`&KDq9*$Q0lLovRxbvtQ z!YlWcR9<2@w4o;!y!e+yt)v<=WtXC9Tc?xaZWrrGYAeV36)75m{}087wcit4j@I>` z%J~(Gp$27*61sk1-bLcuTJsn7pGZaTr)-+7h=c^pX1c+)x)V3I0Sd%9j7@ z8eynHP!u1RCN8ENu2^EDb93FpR#+8o;)e$)n^bHU>z1OB&;>g_*QM$#PExl~You47 zw$-agk6!pgfJje)>?#5;u_H1q)PirF;gLpSoNva(V2Lz#>vje!8^2rP@0=ap>tAAy zY1gB0fw%VQXip#>bOGR_K0qV>@ugA;Nh2G$6g>-u;hxb;9bZ09oKa7#wP45y5eM@$ z2_PEuTGu7j0(7jQ9{5TIk0)tsR{RTwbWnL@MwlzOc z9%vjq08$DiYWh~0j zNd=@{G~`oV;O%&6^m2M^G*PQDH-Q?om%GBGxrsp~g3i#T={*m6YT>}iSM{uRH$+ul zday!;UXoALgm9MZu4Blqra&a8ue_#x$5td@kPOO`&% z62AvqXMU62%-+#HV{AOm*jG2;b(!Gk-P*S!P7B6iDmg_=mh-r|m z1aZ?+*o$c?i4Sy`ThwoP9sEq}k)@r?@-|eHN7M!X`WfR4T4KwNLMxaN$=Z}Vdh{c- zT&2|lZHSbujZgkc#&O?(Cwa8*O>2J+zwsaMyT(&jXrnXFGD^&@X-U)4nXMvkRxxJH z*g3R;;~poE%M-9_6Qzy3l~qK9Jwe6!*^q%isK&(Yu#V;x+Qn>HmonLaPtH$V_5CJ6 z8nnlJZ+VMC`}>iI&mMY{sQ+DeL1f8q&s+boBfJT ztlp7iibBHDFyUPHEVhl)_WjJ)Gl$&0H}225_Xj_^tpRTO|5zhZ>RI)$g4lYl|0*~hCo8U2=!XGC63?hncF`g5NZ zIp@7CVnJTy^E*gk5Yqr6cOfh;P3j5`eYnf*-vRizw-TCD$r5=X$g#$1!b1xJhny}IOvvf zSmo+aOHExGn)Z@8?Ij&G2VX$j#O{a@qxsWG)ZC4l>f^ss=qhcU0^fEnpkfq1W zR#3)U)lKU6Q&K=p#zigjn}DrR&@IgAuQ$eVMl1))Ek+s z#mdN^dSk}`KZ#Y0i;UfnOB}1}2w^_hsvE1{K%{+b(6E&?W7)Q>5y+)dII4e0w!j_B z8PopKT$sMsYA@rYs-&T3t?Mx>YmUIfN#wgryvSp-XQ)HmZ!%X1AvFLJ1uRwSaGV)5li z3u-NXAUps_slbMP1-9xsBq*YHp{w^7zK)^J^s@yg#BGsl5BynzB{Nr_sX^wX7pEg( z%kh0`5LngykEjX-7)PJ*{_NPofLG`TxEAkj^EEYy72TKv+WEb|SA!hlDjdQ2e*X3H zTtZ3={f+bFaMbCl261eb`M{WZ0|Ap#I)aKO<=hUKAmeTQ5gCOa_(TO6dmN4B;Xsrb zz4`>zmG&l~z-f~a`VT)SI^aqEa*)5)9CXK%JznL27e?n-^+#wxia&i;CUIkt9$43$ z+m1JM<6Gsa#(pFm`CuOnZbMK=Rn*Rvh#nob#K7lkjT$c1wVqv$&(<0y2VGMh)4xx( z!=cs~^sV1G-&zA(5JO%6%<7~nplGpSF0ZlqcIjG!cKi4?$h=Z(*b$L#Dwn1G)^dJ* zt&!;WpEE(rUNEs7Kf3Shr&=S8C;P%FZD*}{vs|HSkG1J9sbBK@sN25RJ-%<~A17k3`(rN> ziH?{Cl{IssnahF}ubRuZ(g9`dgLtWs_--VG7-!{O%fJ*oF1d5FDJAPrZ7AVBGmBa9 zaWPPHjFU(k?dM7VNsGwGP1%dcG(i-{I)@2oGsSo)c#m%b8eh~sW;yA!E zby+IEQ#(e2fwfm1EjkMn+95&IvF-4SYRmsQ-CK)oS?fr_UN6o%sl+%q3i%r_ONL<` zvNu#ds+vk))VdeH%*!UmZ@EO5ggd+o?q(a> zi)=6A`c$*rx4m=BR{ZYv)UzIhK}c6nE&8!~q6DilPyaFcSMh>g;SJinJhwU?WQ)z; zZ|k=FEgPN9beodU43}sE@9fpJIHqT?rcY##=kUx3Wr=Y5xcRTPOJZ2nAA8LWY*e!5 zOILKSy5I?Zxxrq(5R=pSif{IB*2*zIe)vYr9N+LU$nzZ!aBS0e@EyLfHOstLkGr(h zwX&a9FdrJXs!|nz@vbm-3hKy$a>0qfzKKZR9`Eu85U3Ui&%P^2?L}f=W~O)kZ+$^I!dG{_6PZDRPT=Fo$aBN}D&Y z2R;&C5ZFbBx-ShB)EADjt_J#oI*j+^hc1)fwI1Jt-=2lk%6L+*@m^SVyLb-`|5=u2 zYxfW`;a|`dOPyNTbyD>!Q#(9Pu<^y6!ITXxb`<2URrFD%bW2Y?M2}jm*U3l|Cna zqzY(Gy>@0X(Y12gs1yWM!-#8>-+A|Ap5T-WZ8p#k$2W$8e{$Co|7$DNvN3GPB$>h+ zgIPiF6=UfLlJ`@0^{{8KTT?(cjpskzxyirAc;TKZc)l`d*C8 zMLvBE9i0+$&0$DNFk^g}TndXZQD;CwMQzNJ3=7hl$a3}dbG{FLZ; ztQzZzXRaKe8;*ed)+kQxyryG<8Va1oa@mNBZ@E+X<14Zp^d)OV7M@=<*Y07=^Yel= z0*w{qX^C!7N&kyH9v31p`s4P)Z8a`_wfs+{k&es9uI0Q=rQwrJ91lfu^|D24b zgUHB=Pi|&x)^oWP(1b_h_()Wf^Vl}qowr}(JLs_^A%dprr9OwX zbKfyzs@POnQ1| z#oE6{>X&NTfzkf7GKXQ+E_~k0$2`I_StD1~o_g5rd4Z7U@zv}U&;2$cJnx%-Tr4B; zd41$3=_P+jKlyR__3|6y;P01zx%_LQ;omO*e)$i}e}v~t;_vZoe~)cbg4ptmZoeMc z|M-EoTi(X+`#T)%^1?B`-}ZO5J?=K|ir7ZlhaU@gJ}>npFb~Ur;++WQ=ntX{-3qG$ z=il~^i(ZSKuKPhVKc~}j0lz#jiKzY^D90tLUy`<5?11=kT)+I_clasKLfe3^Dy*L^ z&-CP06K&@)z=wJ10((S12KHDxn8lT6G)ef4YztKLv+Vt2AV*zWbbJk?ZI)(#Vq6&XH z(1166*4NRnZo_?`F>!=)#&XZl(7k;-G$IdV%`NtlA>8XcJ+1j;!3g!oI=%?)ya6S< z%RLi=>N5JtzHa!7@T=O~&NlrTWjHT6&DeKau6LHfAd=KaxRrRhpB6zHXY}Kq@zM&c zUkY<$CB7XEL0*k`Csq&|MLX7^BR`I*Dw<}Cz5a0;>J%^RF?kt@#f#+e{dq+v1qz44 zJ$%|`+!Nvb2|Xnz;)5u{JF7-?+^q zSw`~A8M`ucCqq#}7P-En?d}NvcMjXOzy8I^6)UJJ=@6pLxB#e&iINiIj7Eo{nl7#yhqMC z(hWS8rC+8y#0~kPX}lt<<1igu!$XP_!#DSg$9yXqA`!dCwb1+LTS01Wvy$g`jv*er zXHf>2HAs|_M!PRKc9pZ+OB^efKHpZzF*4ThCbR`sldt!=lt;<*#TvfZ>qnyNi}P7; zF$(%k-;%0DgbYfS?@Le0V3w~E&tJsCx^v7===JbN@{EF&aAw`SbN%&&%G_jJd0si8 zD9wZs8}W5CY}5+0S<=)Ok*m)Cr`)F#2ucJXj zX&^>ukQ*kAHSyc|H?akuWJdEz+@LO{EG&_I#QaqoFsgvKY6GqA%X1C2{@*aBI_5Pp zn&`hgJJwQb|7fVZtdW_qhEsD|to%v$DRnl_O!`#r?%RDXNUn#)l_sy(`J9-P3E&J9 zeKi81Kl>TqZL8PYd;$t{G#z++%S6AO%=Ab0FxvvI&dMmeniRc*g6>UZ)bUbY_OTlW zTT^6NIq}oBOlP8U?o$N;nz4~m-3bE-*5^zxYX8E0J@C|HT zpPVWD;*FP(_U0LD(0Z?lQDf+^Mh8P;7a?xr|8U=FATxkibe0TGkxm)|hZ_?0|7uk` zY7~t{v2}N+PMbz@G+HC)a5FtNEYZwhpHx7K4 zu63&}Qny}I;i$au<6~p~R=UJpfs}9ywYs)IH$?I(R+zs; z3*yPE8X<;w`Ve+aUlN6|q87m_MY9|1`R1JFA6vBi{k#t3C-{cgef_k&316@5QFjmH zDzvAz4O95G2TdQ{edj@nI7^8v%DkdY5LageBMwB|m)pgq2A)R4Zqm|V$_?&Xb^J27 zsD~ANz2~Hf0ezxU6Tq^yz+Ku+7LFQQ#O(atLwUGJA8GBs{gaTOR+)?4*6GvbX+#d! z9cG~H2t;#aP3@s9yLe~Ez9X!G^tx|PesPdSI}y~pW|$tMC~Qg~^{2nE&U@Gjdj~=t92p0V>Fo_%S0hww)F*TgKVT?hH6{%_-O| z9Y3WR)Y1>s)`Tn4>0~8ja>TU$$kATQ+xcR3c*+;Q`=|09W-1lS72qcS?tm@=^Ur|lxernh!}zoCbiuhN4~&kx%%kt-Ly zmd}hWX0NB3R}x0bzA7`Nbfps3jif<4Hfs9xci+_A%=ab!*+V+LYZxS9aA>Q8=$9aJ z>`%!D^?PLcjN?-g9$NBvd9tq-(&&|Ps{-Drop=}QEBsV#=1*k*^Joi?Qy)A*C^q#&EM zs5ajY9w>2@6V+$xWXdq{%V+2LS~leQWt>@xwQbSs$nQ=r{672+S+M@?QSnMX=-=V| zl+0BnJ?YAnRZ+ZW1k};_`SewjQpN$$vD7d|C&dMrbI?}nRy8V5b#SQg8eJUmny%Yf za>*TLtDbeRg|+X0|GLE1l2819NvNE~E|j&yt>`PtpdyT@6O9DsAnJXWUi^_ z|Fz)B+^iu(Y-F#p|9b3FhNGhyznGG1$}UMOhu&Q)+b~vfO+g*UW7~{)v|m5}!5G^8 ztm4PZOPud(N0GJRW1qHBWDS3qIlwXGSJN{tYy3Q_qw=!Y!}@Uk=F~`Ywsp)3y?k_f zr3FOPn1he%85Dm=_-WyPdm#Ao36(ei25Z?InQwT==gi|++tujsz+{O1`-RlFK%Zgu zA+9qQkl!rV?-GPY28v_+60$fs?G#QIIgUf_wsV9KZA^_f?cSj)V|jWI^hgclFbRg~ zoGN}o}BRz{GJ#1uaMJnky2qzcEnsz)*o3Yh_w&Tic+WtE171}snXnLF_Y#}Y} zp35T}b6w*ORb@7+t7zyP&QLL`#tuy*_C0!ANs-T0(P1vK3gW8`%I-1c z$4+FqAmYhuzd)yqXZJp){fbWacgxZHMYpiA+=`#!<0TcIuishVC?v%&!YqRpGBFcy zriJH9jihfDfNO5fJTY-n9H zFmlwEsmjB2RT{QvrTqOYu9^we&^COmq3BS=0pvq;QI%pmRALjcMhZ|#r=trg8U6`J zL$>|-8_mFey~-hFVIepoEMgsWq8(}cWD$E1=)%^AHgBxy#Dv*4{Vtl z;32b!@S&Adi0|s{aY6Q&1dHIDj)KXN?&9^lV=p5vhLSjAPN}7ra+9WXj!?+`02(>I zlKa=&!a%*IiCTa|b#=i)9BdQ(=(f|Hk?9nT|HuJhnruzedn?Q1r_ay-eiPD&qAGm) z;A8EG2VCpswY;Ljb$-#J3I~}|PPT};E@fd!Q2{{iXs_sI+j^aADiBe60{+w{{aL2o zGl;K(5Ub@yU-T>}2*JXgwM$mEm9IFSaRb;uJ38Opy0)+;9_)Z-ikgpqEJbBXMc!?EfiGhX8|@`VM?KBWq+k|hpW>H(W{ zSw?)9#YfFkWm3S@Rl6sp&3+GIjnZj0TrSW!8o&*WGpo=t2Rt#731Wz%eQN2k->xG* zSg}&}nIi}wEl3nyOgcAt)e3hI3lm@T7@mS?w$}tp8D?wCz}#I&FOlZVL3I^_c!FN2 ztz}GzA^D0UTNtRsF%N&6dpJ*dI2WNY^AL$#tc=MUBO5~nQ5HS`C_V#RwJ79F$?!VK zm~3{4jVcO;FC&~ijb0SUs%`8I#z#Ne{YG{T^O0A_%=F}%Z5Tq5IL ze;qJH=IdEa08sSOJb4`(A&wr~{t5s?{)~FsHb)<^zipKv*yq;_%pr0xkvVc2#S!g} zLJ(|=^t$p)*U?1oIO&@D1Dc&Zso|Kl^-Sd#S5d-mOyB&m?0sI(dD#a%TD?cI7l+s9 zXOxDXfaB79N^oPTSgPqhLlxS4oK|lt;{McNXiS*CRcDZm!>OBzimgB&H)oG5y3A4k ziGM0QP;3kzCVu*HW2QTf2UPC5IzG0~0H9$I0-^|gVD7?Scjup)khxJWSVPEfh?w5n z7J`7XsmRy|Nvrid`)BlHYK!J-Nweq%4MEG8>~y}ua4s#lA4V*e_@YYKK>GgH>|uH5 z^Xrg*OmY;t?Hwn2YM=MU^OOUEnpKC39|Z7sP;`mR=tY5$|35_@Gm{}f>n(eQed8}w z!aL72qssL5giN^s*~f^=dH%H|tRf7;IZF%u!X%}kEvwh!@B@dlc&_=6`ki?9S`tRp zFvz2OWb_|;CO^8Usvg3_QBAe0|K(e0*x$7fHY$+l>EG4iPjXry+V>LYdgJf`OSC*7 zG*{L2ZJWcGRZ^i|YVK{mQ(k7HI`rrWRLNFy_hcE-nBDM=o}=H(cr;$3wj8q1s&boV zD-`fC6VOrK*kG6UByA^kg#83&E$X2b#Lh5sLV>p)VR$*~6;3T*0v0~PxMgo(jfft+1)E-fSI%&T4dl+7z+B`Mb>$S6^=heypddUA`b&`AwH zQ*s;wz+7NaFl0{z&i-BI_)p6W;@(r&cbw=p=(NP=m_sX}!@ut)d6*KAKH>lT_}&O+ zttBu$DT3P9t|5Yjs?aVh!6Eic{*lnYFFvI*Qdpsc97<#xWh3__f5v)fp3#y+Q$73> z^w&W@azj6PDyZpR)~Z5f1IU@&*kTY+^x5(n4uq$3+?JaDf5-fGkd}~vP$|g@)Y(_& z6ik*~o|4^&+O3YhQa}jZw$9bBN{$B*2AW+KhgmqR$mdQi=ub%o^F@-i5otJwNRNK8 zJu&2n%ka)C{)2m$=m-ytn{u*h)LbEbVgFPw2f@$+o**?^<*=BsFfLGS@X?W{T`>y)355> zgsljy%kQ@4F|c#?sL_iZlavK7;cKI2iJUAPXza>w;i~mbHQi(KKLfW5;d;b5+5IOv zth_LIWvgT zV)4Hnl6cZzh|8iW$)A3aQP2FD=OV{YweD?R;Eav}Jpnd1n2l*19AkG-p_f+fC%lZ) z^)1{i>G9wn??q))O-72M)NJKUs8E--$^`Qujt-oSzMei$J;@;6L|qasl5i$MAZ$W5 z3Um5F=GS98$*TIVwoPi73XQmBY@#VTnxic|OeIEgUC6~bjB^MjDjl168`Jjup&Y#Ep*JdeS?bSUmU^>{G+bRwB9w=9oa&kf((*YmdP}@ zIMWOTsRfeVeqPy12Y`COTiuXv7GY#h!s%#2Bl|PwXL0$Q>#q_%JUw$Rl2o0-X*7c3@)n%v z3X#ck^>r!#R9k;Ds8=;pKw7KhN``Iavu?;_ziC|2%9cLm(LskfWdEdHMst;a2n6^t zH&SzCX7)I1ifBfHFV9v;k+?NfNl30sZ>Q(-BBM+42>8@^lpawpc(l;LD~uPQi76aq zyX``|73r6Cd#4V1ype+(7E89~KfLDYKqmBJFW6etfA4&8r@Oc1t=$6mp|I9CLWO&j zq2c&;v?to41C8G;5lZ$(UTP$twpjIioigvM@+e24b zq9-WT^+_+N#O>k=h#cAd@+^@-6+~Me^zn=lSxF_xF(qL)Dmep)wUU=IS~7#f-I@6L z7&=vzpul9dkG9~eZPser*ON*ErPphb{#jd>NoXxP>!6e0a46fZ+fQ1yomzD4C>R7aGYcdY(iux^_H*x;r?=BK$*j@Z zSTjpz2Ge-s#nB6&YL04(8?95(M`_Yu6vz<(J}(}dJinUbXSp?lGpC{3YMh~)wrA%4 ztMn6cz3x^0))dd-d&Lz-77(lUPTwqk_UXQi(RhYFXKPbTn;U-EquOHQjKv;;{;9QE zsM;-sP=v|~p$GHC7<;6vjFaSj`mjL|u6}{{12s``t(wId3?%ZhT!cLo;;3dY1)U|Ju8etgFb>Qzv`p$5c3_ zhqqWn{>;*f8${DVE;Gk9t)IR|O?hL9$U7-Q>xQTj0zvgKX{(tR#S9^{@vrUIkzqI|LlW{-xsr~il9iPWq23|eRb7+o>$iG(Sh^3P zgK!l>#H;McJn88GmHASZj7AE*8ZE}D?rq&SOgx^V*>NDDF_Igl{L7OOK8Xvw=MA$Mn##|iSYq(eIH~cN& z9;&v&wv3Zw$hG@(SE{eogQ8>&bce1Ymbmqq4GrriHhAlQsK`Ctjw&46T~*_PuEw4( zu?yQQ=t+I6^)~A88Ykg9Re^J!p^|p*7QPD`&bN<@X3RkRg08NrVf(a*XQRf^A>rtM zopaI4AMsITaOrP|Ee~`qfCc6E%5N5Cp0CadWqN4(^Z3V@`=;7&U#AWY7Ft(>)X?9A zQf-vjdrjd@oXvKR$do7vpK<_Y8U#d`CG(y5WyLQ&5?KM1^mH_0{l)&L96{w>BO8@S zvC@%-PiB=y;Q@c?F!K@FRKP_tSuY3@Fv@4lgOmC=8lmMxAh;I*0G10vQ-5Voj)?Bj zpLS~R%<)`IZ^j0%2oJ9v^U5*ZHugbw#%zc7aIbo$oXr8J%MrhL=SZ@Se(UKC%3UJ} zCrI4N&x^~Cekhr>bgn3>3dkqh2Fc-9M;|kj8dJXQDN-ejeJ%6wL)eMf=(cLhJ*`|k zItD?qWE{_Doj>&xH}B^c`fga(I-{MKY1R+iK-(< zDc~-O(^RE57i~w(z1c3qCuUxaX1GJiz<2pLIb3}>|1ckd@4~<5FFaELyQOoe-MVWU z$1Le@E=kkhBeH?5+FMapri}No#wyI}*RszqM7Ah0! zn_m60L}+YWv9+3uxwG>$qXEWdSL}zD{O4FNGc}BHn84a`A}jNJkl6G9KJ3xcn-eD| z%FvVMks@tvT~Vy9Hf6KUCE_wiccg$!p-^+_F|AD|0oP%k_S9nEWQOe-iOfEU3H#<~ z_RBY#vXX12gKX7$N~Ra|bQuz60|#P}&q>!i^Eqbj^XyRjM92=Jx^O5GMn-w(Jhi_= zQ+j8b5*zO+X$!t6;Jh?|mC_mS&~BJR zQQL)b%Q>)MH_M<&Ec~1&iT XSP86karNRYj<&ll~HI1jV?>)BX_Wr2iH2Ij3s+c za`-&@ub=N4ctY`2DFW(Xc_o0mC$`i;&hLE>{ulU*w^TpN{~*Izf(WpdZP%swTeXlL zNQX7mz*^D;pGK2PR~P^B@jG(m!;9DX$GFfub!~{DWQw&~D6qU@HjV&;rzqNM)*HuSSTXB4Qf&BPc|tzj$x%rh$n0z{ zf9!#7=1Y&=kmQ35{8!gEm*zuXPY6>F!pAKYN6U(;k4xKJA!V5!x{jM|O;%r4Fn-=n-p zX9_#O5DJ#>Nk3z;66j$w^x2c-fIs(x(kv&EV9lIg<@%Sptd)LR_nx6BS*@)qDWWJ*YAp|wk*&O zBy-m_491*3ClroU zs(418{Tg#!uXH@P`vdn2SD$Ru?9>pzQ&a`1zyOQ|7GRH1hC;+=9)J=0#< zWGUw*Y0!rx0V*;u9vwVkQ3GJu;hTNRsVfMJm z`M}SRhSU#aBkpXG7I>H0`8Z#oSNog|^fKvbd^E zA{MJicCuA)!v6{*z6S4q{Cg%--1gfpV{?DSE|>verABY>~DiY9M+EWN{63yM-aT~VvOO5lQD zDBxVy-d;G6@!b}UowY1$&!BuEIK4(Oa5`Vn(%+(;@h5d)q-Y9FVt(}OuTmAi`;?)j zkDiDd*eq+&Uk81A-d8z{`PNstXsdgi-sug?<%ZXHpW}A)i~Af8u5kmNJIXZ%--%&g zbAHV_gKy=ovh~?gnqL$7zNapS)fcVxhjqu+=Y4+$-@$q0f-h;U{;w+D{^Rida4mFs zNdLg#UuPVX^o~YzC3KAWAY0i5O~#BbtL$s%6oU8@{Q0wnYhA}RS2g`CFZ)+9{v1y< zOyYZubp;}yz->b4oP!tV8r&FudlkgXz4pAks+%m^p~qMViG$ke&*E2T^O1WNzHJK@ zz0T)RG?1F*0YuZpH$L&bF8WWV2KfrfV~kt=LYrL4{7qfII?8DmKPM8@L>-)GEp3vw zBwN#uOIGKH?#ZGS#WIMsZfI7ux4f&yn@>7`OA3p=a-Er6Ev0Xw4>a-4VI0=7p!K|f zty`2~-m4(<_(vYO3*p`s@_0jgh55$qJN%{wH+&I`d|k{Zf3F3sqc&H^SNR)*zK5=Q z=rw_Q_Rx@J%l@`&vr>mAqWd)c%y^Y^iHcL_GT- zPw3tEtz<)NDJ(ar$!9qE1g3WS*+#7|ak`WZ zxmM>av@-qnpJK&vU#DJwBhzll1AC42S;*R1+n&t7h#PX&H4pMFU0?bMGoIPidz8&` zFBz||0__s7sI{d5C}6zN=KZ2bbKDM(b;CAw)$$I9%A#k=QEDgoPDIDOOp$lo2mK1Y zF}t&VrNq$%7CjE$*1AVXE?gHCl^u~0VU-OdckoC*FyKIcJc+bdfNhXoFk;sq`!$an zyrmvQwyG(T*18r)${PGQK!tD|4cDr;B(*V*aPN*Jd?NKp(Nfo)3~~`a#`UU=p6^q* zo?Sgtv?_93pw8uvJAFO3+(kaEf1U`9r1300PJDNSQ=Mcia`5}xM7uLVBNGA3+Pa8E z`^Y^+M0xti37sC_sEW(ZV_n>q2|~eWTj%p!>ADOSJ~dsx=)N8(tG^?8r(u8OjuY4A zP+YKNvrFy}qjg-n@qZbA_0<8jvai-NeTzH7w(Ug*>tF?zdAGLqs$K4GQ)QJ8`fd{q z%fiz4$)`T5k!)Y7tLLpTTIxxkx)tw|pe+~Ymsk*A{Ipyq`Iu|~!)=|{#9yNaUM=lC$`NtMe8pvj7ee3* zBq?~o()oPmu(_*HPqt!2X7$h_s8M%R>QJSH3T*Wet!gR`bD1xhU+Q@R>}W1d1}dCW zvBTqmz4i@)5nKxv%j<$BWI34q#WgbpD7GXPS1gdL-P{M9DD-;D4KMjbR^&bMfvg6& z<$_r|k1p8Y!_Z`mrQ5D>r1}FJf+m`9KTC-U$>LM8V{TN^N9S)=%3S!h_rMNb^f6u= zI*luLUXCR&Le~Ph4<~ojUhx#nS~3mj>WOo##7>`XAZm4AHTR@2OOtL0h4 z@&H<&c&v-JrtBE%TkQ>ZC`T(|9qOWa%^}JRT~2J0Tj3Kedj6MrfzrWyp?dCP$I$s2 zd30_GR>M{mi#L`k__o7b@Sy+n8V9qO9E_VQZQ^k9Xs0{r)2wKMO*m=(F6qy`rk?mI1; zRG(qrT>hi9-6L1@z*4&Z|GIaX*vi$g2i%VsC z9>%xHgEr+wCZref{p;*G-@_b|^-;BIIe7TQL9iX26)(JFc~B;egQF>%$pq4rJ(>k8 zmCr^}d+m4`w0Z|(>I>2%wyFEMhkU$Je^`aAP#TLfBj#!;Ndv22wTCq#%@GizB--u|T7E->Gt?n=2?m^-erpZl8VTb>p8c9pq|pN^l60qClDb|s z=EurL(a<0Z(Rsa!O+{dV|IQtu@fIK5M6QPS$}2N+{Ce?guG&1Ay?LWTDJH_NU9mxc zk}-1dL96gJv7vh3J?J(1c1@j*ye}L+jv|xS%6HL%9o3Tzxp%(knHTf5gD)8RtCc({r|gHWVivys644j@ z!hN(WTU5iqMH81(TYt4^-b#exTlJ)-vYB^h$#vjOTU-jKmv3@bKPLnl{5J(iBu>q6 zn=M6{d?n;Gl?-iZy}ZY^R)4hPL^ShvLY&Hw%JUS{|JUt!w#FWgKjH`2#FU?>7f3g{ zh^pCWU-AQmqO(EA9G}j@UPz=~kT;`0RikYTva+r>WCKY`UUek`OH=wUB`7IG+ZSGm z5=wv`O3@Di8Q#ermxKQN8fw^#r_cbfe8G!%*CQ=Ey!{nSxQG^-!_|0EW+^HzpGn2+ z13CA041pidXlj2v#R4=~Y{}vn3Kx}Zwj&G$aM7}6LJnlMSHjZBKs|&6Drk;T_d2(I zBj+lwFO@4tHfY>3{KokmJL6eq!kcDsi)t3rmT(nZS!x zCy(>ia7oHgfdm@Xl5J5_?{(oLbjLN@JJbzZ=@N(OKOAu!c__QqKyTiDUojio;GFzm zT;`c#`ioS{Sq7bt)QmOc@M$rQ^_M;3PPonJ(*g&)kSoEmu|%)#o9gK^ zGkT@9N3b+tpSG-5yIqbe8TNJ-X`|hacj7tY+RtUo8gFW0ZGMwA;~0>iOYqr!>@)r) z%C~-X*P9j=affd5ti43+wD*S2bDw)eL^^khB3*Q#vW~IS6&(>j(-HNN8AZYDuPEi) zO-FCM%Kg@><&CF40I`gjdPAGPmF>s|937wfBwAkg+VMwOp{h z@a4kc$x|EUT=VH@Q^kt?IcIlcnvC|+2m}W@@jhiWWAH9=={@D`OH$r}Fc(+{`|VxT z3Dr?W3`gs#$Q%A5eF=qZf?2og`3@`lff+L|=`(Fz#YKya0P>st?m{bY9z9TcU?j*> zwH0=oPerXf*ODNN7Ot4V>(`c{y)sra4l8EKZWV8Y2Nj|@lSkmG%2I9Zr|VvQ+F%0g z4m(mj=R}HnKAFvFvbUo~aRgeg5sCKaYw{68u{xJ+YoDsuUX)80bO@K9KRWzmF5%9( zS|I0|-YDyA0cp;iG5#JVO3gbKhNL4uPI4r;%gT9OFG3N2Cr)#k#p3ZieJB$l>2ori zOSJ}U5Qd(McHP!=f$U`I9EhGjPNlq4pi=%h{T4HL3vHypxqMF|sfO4-(5P`xd*Z0K zeOjOFZC>pctBG@SX%+WPuSbmA<|Gp|`ANF%P=ZQ+|*+@3shDfv8S^=eaX#YTGarLE6quF(frR27fX zoWLn|r9R{|0dr_G{m%0v7^0e$eNn?qOu*}y*^3Wl-FF1&0rd>Z;H86=A3y@Gkr5hi z)lg4MERqMTp^>bvi^Xzkm{`*4-F98py7qDCS+x8Mt-m7$t0(Nlm^Zdwv*x2Pw=Ce4 zn8408&ZwBE9-*wD575{i3bxnh8<)PsrADoM%9eleobz`bQw#B*Q9T_6^)WL9EtRgK zB&;lc6CZ6uWJ|6g&s9^$uU=)*bbKORShkey&!UvEtjJbG$~rNo?#j!T-7TraFHWZo zbyWFz`UNdfRmnHFtxxgI%n?)c2$v;}VRKVy-BF=0B z=81JPd`B#EUdbgWtn`(+lU!k@;yU@jkoM!cB1&L%d8c#!@bLnQ4{CzkNfS{-OX4gf zfqb`a3MXy;P^kN?nUj&tyj;$gE*cT^JsTZ$ImRgcrtRuZZq$Y^XA7$6DU@3srcfJv z(-)NcVmi+;G#JZJ!yb7RZe_N7mZzr=g<89b-@ar86C*PEZGAOXM-}=P6T0B(0q@Bw zB_L96##=sF;}6>W@fOKVnReODXGKKB@RkxETK>xbu{xcr#FYu^%(AWP_*te4r@V(6 zB0?tfnER@m#;1=TJk*w7WBGVVL;dPh_BDo@~xjr>&@Ao`T0=2RDa>jpaulxy@V zlCJ1Ny9jT=B+uQ^tK)On{SV7KPS}rC{g=8i{#~;)oKg;@)=F!; z3r+kkxuhjC ztgzFGjb6}<7s42V)mxc55q-1&SgW3^yObBlP$Y2VHkE$^EB~{xDV-;=q7oUNyKJN+ z6Jl4*)Ttd)v3-&kXSk2=WDL*D0^gdKA$8%WVu~)-5=L$EYr*ND2v1hh^o#v`+i|uC zT(wx?=X9fi?-C_fzwlkpUkT}0ien!1KQMYsnw6A2W6T@nSj)GcQNH1M<6N&$tlBZX zexk~;&J%sn)%eIBG=NpX@J{^me_?+_UK!6HT5MPTT{PzU+)JcL8>9GbXCBK2<65(S zWjCOUJ6nED_Ga*wqwFUr^&Z&aO2~#W$2Fh6Qw5}aG3wO6N%!$W)|hXIM|uSc&x`pb zse546O5%LMSr)h9TKTDnNb64z) zMDtjK&oLuu^-Bp7VuC7D=T_In305dchwr8{=EkSjH!5s{k#i3;k&Z=B-7r#V4pCwt zg)4O+8To#wd{2F^I6f@8zNrKC89gImvpBfr7?~hU=8*iTx!i#=ry=CWl^DN+8)-@o6}*b#?~~ zaz|7})Lr6`rSq zHLnjl?D}{9Gm4gRxBib8Awwi^1?2=e`Zn+p(j>0H5sae)*0M>O2Xz~}B`od50?86} z$;nHe(19x$Z%(#pgSZOGCBZB_Ep^|Fgy>s)APsF7IBKt;_o0X+=vZDaWri z%T~n8AMDsrX1C+V45P)|YrFO%{fc+=_NvD9TKP^(?;Vix(y2LwO|ZutKgP-li4g?K zKjmJ6+7#SrP?qk4O5|B3Ha49zepwmgp}KLR3Bg|~TO=VgyX+G*Jm6vM!w<|JW^28`G^9Icg|riILEhx^S|I%1iz_qE3Qdu zK&W7jK#9ZjChS4BB)u2*lHJ%*x#i;rCG+j*Lb*$p-SEGUSgS_@uXzM(iEH}*I2#8$ zbQzAQB!5Y5d~Wou`oyKihq*zG6!^U03JD#%@%cbpKz7)vy7u{JOMxFLy?(FvW8Exyb_K+n$ zff4k+D1bH%kRYv5FSI$Tat5LhF3S(J&3xXN)!{4fr`swsB^P1^=;|a#$PZ?5cgnhS z_-BYsYQbMGE2KNWtf;XtLONY@aNb0Js+@rbw$EjJlryWUda^=99$0gdJ}B5}i7>YJ z`c2x$rv6@d@%q!qWN+zZ1yj$_O37SES|mfk;hwdZl-fQkEST%lKF;*%)a4^jaAa}B z43U~Eqp{7wA33_;{gJ=ldT1e{3jUsoKw^+9LqETWTHKztF*PD-Ye;I+ddr}Yceh{- zo#9(|+hs(qoKCOawKy3CAJ@{CD6IFuN!|5W@pVH3uk|HnCoA)GAzUrpRAK&Jobs#X zkplorHg`pk_i9W+v&jg|H;! zf(t9`n%a*{g-wiz8e0YWgi`!F{YT9$j$E~WKN%-J^%aeTEkSIcjBtrAu#H3M>hBaP zW1VmLb!`1M_V4gn=)7EMRtekjj^nhGb|y_4{N|xN>xrZ9;ZH|#)L2dbnBi9|4fbV; z?7Rex*h81g!imo0>y(9qU*KiYp-vtl*Ws#+9zG&B9v27CcL%~3eG#70go)8moNALT zL{tfVvfMGf4o>o_Z?0mRzVTaR`n%>U||)dE)k;uQ0WpS2uOh6@Yrd(JP{3 zcf+}tjX8~a7EJZ3dFp5G*RQlUQi8P%7k$Prs;PkL={|hBUmutzXC0+n+?B=nRJjXp z{w3eyH;@FC9T&88hGAoNSGo4zIT^QS$)=-(JN-uH43OlhB_dP*%wvk+JFJGo3>4i~ z)W}(~Wk;e=#D!YmSr!&C+mcJXhBJOwle?x5d7O;K90sl-|I0xpBJg9$v_cSx;9VDa z^x}b0VW&u|hYL7Erw$-anki7^`2nbQ-QaIsolmp2OINjbUFio+@161JZ%%S5*LW+Z z7Jg&E1RKIk6Gwt;xkYvW%c@eds8IuZr30Isj$cnT7I^53m--Du`rqn_(gPcF8QzXz zuydmqo6AJGiW$O!p^w!TUV~oF2^lw&eY!u$vkq!b)_YC?qiGi}qdLQk!JjeK^Eb>1 z$gDgf{>1u(#r+&#Jx} zd(~7?)qIL1KzE8i@jBLhKhh3A9(LHDygY|J=k)pYF0z!5yiyzBV)q?q>3(X}ck0^Ju}2{L*39_lw6&n* zauyQ2F1!)a@qO#Pj`Z>5cN_Wtw;iGXfW>Aqqp%{c@ET*GN_6HMi!O7Iy+Cr%=oh|m za^r>nPYIRLrv`&nLCK+frdu@g6*zt-)tHT(1vl4JBJ_?7mqc-8X?FA|Omv$@>}qo_ zvet0a(Buq-LZ+^dcGY1Q*v(^Ky(h(PB$u$7;OEfR*s(2M^tl>I#tGPDl z?-=txA2Wy7eE@wgHY>aAa~O1KfD~8Xr;NU4t}qxzm%irWcwl;l>5Xmb745B@NPd0I z#Tl!(AIDhg`X;-24w5_6@6AE>??gx88Q0;0pzY7|k4BJqY^!)j%6*JhSdd(Dn`UNB zPcV1~T+cs7G!>AQH(AEJfO|pKKW^_AV%4WXC0Pvw(0z9Q;36_$pEXMW_BeVnxj9Zl z&;qDt7SRRSp{|mSZ`@HcTJh-BBW1Kv7qLSyGk!|nYpt)0oZI7~N3LRJq$<-}r}#Az zB451Z0l|7E`QRJU58Q(DDH0Qr?UTU=c(R*)9vDDf`-)k;fFe;;g=C)BS2$HYB)X-u zb}cKajAktMz8U`S_U+#o{ujR9yiRP5wtBwBfOdQz=jb!jZJM+`dyghja|R#e{TlzNb5f~?nB`^8R#9NRl?V$IwG=K>(;eQCLXP3h zGDnGlx9A%~{$d0N(Nb~TIIuzQ9jJ)rD__{&lC@{6maJ?@sW0~R`Tglz1cHeI@f`7v zv~lB~9E-(a7&}fBhu4E_QCsYG1YBZ`MfxP8kh>h-< zUE1@9ky0+qQ+2ARE2q9U!!vp@S<9BCvO4l2kJ&uX*>SrhUfylocdu93^Nt?1py#Sw z!lp7V+2k$zwV>wx)Hbax`I#Etp_)v*a*kn^h9PV-(aEkqZhyUy%l) z1+oAJfO{`hCwux2IbC(@)PH21CIjr1BVPWJvV#(*h}pGU0L?j}(`hGOj{9rLx;eS8 zzSqkS!Cbyy4yqc<32CeE6yURXRvF9{{aeq{02VkKi#@qe-xpZH+LcHd^U zB3H!=wxbzpkLK#%O;|sGe=bc8C;$&ZP=W|`1tC76=~a3KJHsHM;JMW=GbixJ?XNcc zB<=-v;E57o-qdTFHa5zp33P&8puI|_sGRo$>;TF1)vtFjj=a&cFi*~6R z*rAu0FW;58x;JurM+p7BUt;Mlt2uaHklaP5-1#n07fr0-Aoe< zArluf3HQtgtdIpUdp?YbsmgRHFD^e=m{;ODUd0SveeB`m8LD-R4LqYkKz-xl=^c{J zz8*&9|4u{WBZ#6NQIcbsz4ip1``qWRv2U{AtPRxByb@Wt-)PGWX=N28ZOMQhQ)!sU z)BfDXLPpNK$POt2QQQ^KhM*Op9QT?B*di={Wg(Fq)frNR$hJH@Ak>QgeP=kwF8s@Su1(6+jGS_zbn9FBDui<1w6|uq?~X3(FiJhOGsy_0IwmF z!W?NKDSs8syw8*<2L`X(b7Urqa)M`8?m3gv}fsPzpp>>K38X3lBD zNOlX%2d|#rves%aswealh6cO(Xhkf-J$}sb3Og*a=-R9tb_k<~++`}Pg?%{B!ophX z`7Ov9FLHuUOre6{CPz$_U*a{re8mBgUhJYf)C~_U$CCR>gJFJG%3Q+m!>WdxE^)zg zucC>vf*LtTXXL|0&|u-dA|7p|FB9(uK3tb8ye3jtnwSccyR{JX0!w`~P-w^c{;JGUmQxIv8*TXoLGg}X_E?@-K%kVj{(}8VIrhC(TTstTtRQB=6}uNe z{{;Nv{&DAQ<7pQX-(2`D)sbi@PKK}*W4V;PP!FeOS6`)2|Wms$?lMs}+}QjWKN zM2^S0qw$c#O!a^eJ0{H=8BZWB$t>0ZaZzk#M3lQGwP0GUC;$BROg7VB)wyeVyrc5h zbX`0drDX{3XLB^@N@r$D)M?KQ$D_|;<8oX=a@#f}V2RJ>%9g)le1V^z&6zDENM6%t zK^dKenY&|IGwvZ&mh;=qBlnU`j59#Zp%TGH3q2FEH^zT+=;`#^>Lb)2j@(J4>_uBN zp}9!O>ZuV4PlntE9K?6hRmMrU1SgN}wTSeMaqM%z z4WAS#-h7I5iOrfBDvKg_I9LD4rusA%AL@yG)fZ!rMxLB8eeErpgbFy)xV!&wlBLV= zKz+;v4BUr4EYEdtb|FxZhsx3qpcIN7K_V=Rk8A9!@t<)MbsIF6^f-r1!3(8ChTsT{=Dvh)}lr^FX>++l%C+|+433|F1*;> zojeiH814DQ*#T%*a(Yajm9MYz@=z?YMNS^(!1#6aGg0B_%g9qzlStQ&BeX_N2Nbvg z2wBgv&Ddz$4&etR$k_dVJdn)x=j1%^;ES+I-Z*>LTar)})0IX{d<4_WOtLWrQTKb=3}SX(&+p@PKGQK0@G*NYsU1gUq>jYnpOlgJ(&GyJK$|P3S!Bk4v97Fb^ePv9%NUrLWD?AcxeDWo6 z!9#>d!Wv6=McTFXs%J*i7w=l2+s6;Tcw_fA6yx?1_7$OgGB|2>ZYBuAfL>?RXKY(G z3gh6nnul}8O@NXmMjD;;z3gfBNp4VhIQ`+kwJ|nfy0qC?i*XVw^?j=^Te~-xF2?Mg0IDDgOXM-I37|o=xYFdr(STtqwhm zmEx;*){I25U5=t}5RAQ6#}Myx$5%MvhfiD&t86kg5iQ$@z2#oarRO;~(gAD7c9_@j zH;x&XbFDP;<69SAnekWE~0LGUtoF0Za_dx_)v-d`Lf6sYrAri{ftqQf-)kl5Lakm}1&>wKzU>Yav^f`z7_lRGECv*aMPApnZhoal2DiBzX?HiC;eo(hnaXe1^Bd$O#|kQwD$OOxk`X!I3syo_ zT4BX+$^3C(Q);!sFgV-3-ScNf;vT^R>ETlV>obO-Xr93cb_F^hYRe_iM5XlI3&cy# zx>#PpzOdvs&hfc^R(Xw-rDK2(`lLqru6c(}+ZhYc10Ir94J zvezzubuRWlvXw_`px8x^9i@WtpI>fjMCV+jO{`%{G5D@3<*POF67q-as}?jT)Huf_A2|1 zlR}qM|KzbeljK4BVudFpHU7I#dKXe9hv(Cp^OeJMtBrwxB(yLDWC4^z3{j07AV}N7 zFV2b?B99#2aTbemJ^TTrllR^$b1|W;G|d}Op7zFvKlxOBWXW&SUqX?m!UgAYjQTWJ zW|_3TYlxUG+B)HMMC4HiPfz2P%5D5>;bX->84Fo6s&w)|S%VH_KdFiyke&Zw}V#HW*g6d>Pq+lqJl@#<>fDuwM69yYZg(;j|v7t zY?B0&TUL&kCBTavAQrrm6Mx44%vzWkN%5tJNflR}`Z0HfqAHcF5E<$!iIi&je|USF zCP|VbP0thU*}WhH#5Q}1v*7G3w%BYAArQ*QNJ|M0D-;Ta2OfCffd?LV;DLW6em18I z81Q*sRWmpDh{&qy0qL0;8DFmY>Z>27X71rpQn_DuMzQe47};$`-mKRKr`Y!!I)TK7 zBXQ+A=6Q^esHixpUXf2gk}7sbRm{r$uytrPlQ7fT zLuhNpOh&)@o|KF3coORd0%fzQYUnr9^0;B}u#Wsq6f;i2QJ=dOMPlEq)v-a9wHfFR z8Y%Tpi|VX`xKw5Q<))_jl^BrA_6u(kKi_j?H?wUdAAVJ`x<^34f>-tc1G+nEm7Xo* zv_=I-KUe>B!tMe~*0}+MTEMpM|8C1QdP$Qex(d6o6w|!b0U!SG@=g;o8luSiy~T^| zQ_1I*el_NzZqeuQgEfvjo?>VDnpcHlFb^x^K($3~^!22T=aMwq&+|GnRG_o@rMA_1 z0(#MmDgVV>bBMK9?n8@U3wspAQs*tLb+pR7r`C}YufMc*`fYaq6LwKi^iNWe-0(;G zDo6Be8U)GoKCg*IJHL7V?)OAHGq-6eU{IV)@?KnfD?YUJYn}r@2=;NT_l;GC{oh&b zU9E5!X27gIxyzI&ULd<-)~vOfw_N+V+0)Ja9b-}k8hng-&k#UjlQQQIdryUNSNZI$R?}DA$n{!%`H7eG zKs;egFt_%&x7(BmZ>lNY^HR}@H9pxk`CWmqlG>YGu~#*OSz&--SN6es)0qj*2&!qf z&6vKcnX~ugL0|2;K6!ctVzk9p^akm-bu^FtQ*8?<`z9SU05`I^ezS7>AK`Ym4knTh ziO9s`kKal{p=IZ|L@6PG|Hj*3Ixio1i7mU9A~LQsjRE1l?lXMDJ?YcV=1=x~b4b(2 zL8Z;{c$^U8+R|W7)(+RCgeeM&Fi2c0Ux+9fyE3@G zBlEU$DERDeYaiZYLkT!fu*ku~?3eE`N>5mEp2GSbRcgs3ZgZ$dd{m%^w- z6V|uitxz$s3WOdv{yiOqr`c*a`!j+Xd+evzEDU~PjQ9JK4_NTO-`D*MHa7pUwX(S& z-^@^Sp%lzqz%+GrM-bf5Gjrwg#A9Jq4$+?V9&kA;6esa4ZQ@o$*&N+DC&MGuM@dJ(_1&YLSr_EF#l)^3C53MkE!qrONu7+N2SDD)r93RUiYs_fM`chwEHPz34sN$!x7Ma~D53BZl|OcKaSZ zFg2#Hkd1_}qnkjDQm*M>Z6ep187$>a;_>>4@#NC%YMOERF!z@}B(YSVSUKuDlH}q& zx%8e~VsB`uGJt*M(VhQ5bf^dSjHQ-muNEnRR>-Vk>|L~02=dT7DQ6(V#=)u9bT#i- zsI?;-c}M(Sx^(-p5B*5j*-@hp{}DKGKjxM1+r~Q612K!7tk0FL zBWvu6RBQqHmo3E=td3cGkIjj+8co9z`}bIlk!UYlyOI?3NHA-Bu17DT10}bPV$jQOyIZ8|%?2taV?u`Wgv=s}FL&J#R81Tjxjv54=h69D2w{&O-rX{kR%nE8~yW z>Jcxi47O06c+Gr`Pr%bz+g0;JNA6G8GrYsdf>czx?VGn~28=YuQH7?S$9j7ePdC1y z7;RnqH{!Zdms=6;zAP~10FwVnR=fLy+LFo)wm4<^;apr}(sSwh2!m;kqhdM{eVsY!$ zLqtO#=t4>q6EcF;yrcv?b zi=&6=zBlvI(T!hpApL;`MV1ChIxDD0BOmZ&9lz;gA|0)<2ia6vZ1M9GnA}tgv=L)Z zyFvJLmq}D~+R(uhd(64dGTt1uyO?RJgBppM>|{riJ$V~{ zDK~avn{p9$;MWT#A6sHD`PRod2Fn$FvHttlZ~0UtIty!gk=-jAc7&lXGP!HDF{y{_ zU4FgB4Wsya#d_AkGK^Dg`9xI(mjUK)3>d^{h?f{l%AoVsv6~!)iDKb2X6DlnH+S>> z&A(klcw0G>N#X~@;fH;iG3y!o4$JCwZ2DSxvB{pk&U^d;$)+fRRbUC=53i6*Kfcz# zEKwnFL{7Jg22HjanmTx5Ze9_Fn=#P&7AB{cIzDG#6~F5XeK1mB=dmGG5kTaw`CI+D zECPOby}b<^>PKGXl7gnMSpoVwM`(8E$wP zQ<;~?Ed|$ZRTcJ%7_JOR&-Y5Z){y>rh`>1%Q2Z-az6D9O;VPWn7!?vKjgQNc2Vlud z4Jvs_-YS&=6=1Ax34Y{|b}}X*eywM|VdA4U)H$auZ=h5r0h#h+DBw2h1mci3w|ECfKTPZ=M=(vADgG0*G~a1=z9wJixhqY4Q=^%EjS1VHQHHDf1{Dyo96 z=K+c|JeDXESnvYF(IWCeC?VzafP?8H2bQs-a4i^F%hTOjvgIBw_qcF1=_$tL`=h3h zW1)+;G(AFj?ghBhW8ec%1Uu_kD+Yi)pl`w_-;<}6PofM1j`aLs`B%hi&88KpjS)=j zW9ZH^Zn=lN_=WmW^MsOcj`z&>t0xJY#w#p@JMbF8?RGyE3O?R7aqiCZ?aZdTfBfK) z{zOtjC30NAG1m>68fUoI@$z>>D1Np(e%H1_UHb)l`TlFdb9_UL+WD18fcf9;HMa$n z7i`rI+rj8D9QrP!Cmnc87j(LFqs*9cB^-@*KxH?oM2x)L>QgeoXJ&1S9I*wECq#Oj}jK}tnft>`1y7&;j8uAkboKPWz;>o#QV{5d@r>z@w8MwRYVC_mn?CW ziM)A;+2Kj9cnZ82(Q@k8U{xmA7?J;uTBuN~Mdcg#WE>Wh?Sy*_)I8=z{h~4-af6nL z)9TmJ-tyDe<29$~iq-Bomgf}Xmh+4vWBD!x@#HW1O}&i4+}gsyF$oVzs{V7yBYKKGlYOIhIj= z#8mg&^~kpF`{wZ$h8Qf5$S*!kSeTu=( zIz}Dx@a&Ea>^1}%RMv%6B(GiN5rOy8Ku4sk(%?v!pT)T#hrqrYY|1~ByqBP&0+;}w)~>aZI>d)HvO$16MKq2R60q`!TN2ti=B zE)T_abojJ1CmrRac#bVxd*{}35PkN@5=Y?J>1VF?_TVtbELD2hQ_*p8DX+%`xk=tL zbNJ!0u6Pz+Hg*~+*xO@A{8W`zVGP2#B~u$}EwAc`O}^CxY4yDnslZ7w#a3MqEA+q{ zEpOy}vmu9k=yP3_F(p}-U)gv3h)2@}b(J@8MV{A4a!l=?De&8GHqS?|pCQed5Z8k3 zXWLkn9>a!>@pmxQSk_*>hxQ%u_KJCsd}pr~v)#iq)0)TB0_#e-U{#Q6XB#q2$IH^l z0K&atd+g`=3~)cw$J&4Jh@{9#yn~JS8$X9jGX9vKXRmbpT?mcAsixtykEv0wx^b#8 zlrfl3L%iQN>QfD!xoQ;}j7*y*21OfD($Y?Yt|KzJPOdSX6;JZcY?*S6#g_X`!0{uJ+&vk%hT$?xMQi-x~{ner{H+)fGy@JR}1 zI&RI1hkb9kPS&l@qGVp0OkHr-z|6C9Zu$K;NIuXT(*L~Z@$q7VHr5!2BH9J@bq-g? zP){;sTUkckAJ&jvR^C_sl;awL{{0wrFWgJw@D`6x`KoImiw=7X#?SO7MC8;k<*(w6 z&x0;ho0O65xuM3vz|VDQW*jBv&uqQtIk|d8+{)9Rw>s!pL5jrbXs4(ZNSM^eZ>sjf zh@)XrJh`=FyQmN>0sidO$=<3X@$7=m%kZ3D%Al8}b%6r(9E2WrrAYrlD> z_JXG*(TZAc<`3>-509qRANkmrQpa39xyZOk&=t%6NAEaeXLIiFAaHOa76bHa9S7Mf zBAn~v{2jP*F_+2L#5T*Al>7ZO!WlnEF{g%U45J7LKiS_pNUWVuwHGU#ha7f+{S3$} zAg~X4sjI}n4|EGBd0kU47N#{mL>-)eb=z+n%ivjwc@KWm#o5EHaOd^^Y`m`VAM&QE z*a@%rW8ljBKkuB4;ss^fe~ukXBr_>HrX`){i8-PVJv>8ky6t_Q6J9+=)*q2GRz~V0 zIB=$GY05R~wzWTkGv{F$CmeaMrA=)&UU}Q1r{-#{#T7F5usb6&2`Bz!jrw(CZ#N|D zqAU*i-i4cIWO0PTpz*e?MXT&(QbX1nJM4>@x}HVK+CNy67wk<->MiwZ9D|B|9$O9s zBai@OJNP9|#^;H~-ef%__qZDgruQo2;A))5!#Hx%?>To$=;R@>*Zrx=Ux+{5!+}43 zj_#_|ozrIw=Cq_&=QPrIU|R9m%!25ONh0%uApYaTgA}|wQW=VDj>74e`y-3I**9^U zylth^n?zKU4D9KGoR`8wkpiKIeq|c@l%dTL@icGz!4YJqank1m_!_M z42p{^xo%z?Py1-fN`!Z;OhooIXG}zRXU)p%7u!|6D|Q|6lI~$x2AWgke8@P^Ji)~b z9aE??*p!~=EC(mwMKV$+U#vJsUK00gBr>Zq{A?SwZ-`iMEWVTP5BD)(02w$2)QAJj z>X7PQDC1K1z19el0PkxV_EDwGd7kE5n_bT$ziy0C{C5Uw>B_l3NxQ@-y2h$#jya^K z>#;9qZamUq?7gAq4P9Cz3jg$8_ebON?}qf%pnQT-6tA0~?OZK##$HR@K6}IG!zPyj zOAm2&=o#zBMHMZFW!>fOL+fkv_qxfM!G`3ic2Y>C(M`1-ircd8#TOo3KR%R{uj(K~ zyrq3s#tbajQa(d^ov~O(rqGXf^K3V56kyt)m4ft>b$YAR}Pf zM@9;j8m;+_kv^RM+o%7E*MHE)dri`7MyoA$@^DACw6;p_Qw-8*4pWodtKu8mQ0|*u z>f6?x&!#>j z!^|sl(#f~Xze}DTne)03fb^(vl2Jy=K4zwaAF7SRC0mcUZeKfpx!P{68M$g)%}@ro zHNi@yN7cu}`W-%>(Usb;Pk&plb6oy`#*XUmhPR1oja&7iI_>V@n8#<$Jn<;5Py7-^ zn0q!jh47^{e~r!=VJK*Vf7*s~c|ra$wqR%ye!XbZ~{I{1}d!YG^0JYoo6 z?lX2rtyrz?n0;Wc(K~HMq!&+@%hhC+4zu%OV2oNtYEdE%u2=ug%KWZog+;{snLFWC z%Q1Zf6nBt+gcJ|UT47ZEsPJ8EF0QGL@o>7UisDtTZkU?!1J!?1vT~<-?l1baF_!1q zTfJA3^or}qDUPplpE^Bocs|4G=pfSd4?NJd`tZWQGYDB-QM6nf0<1!IxI`zGPf}CH z`L&J7G6FL+2S)cdUQFl&o`IkMHfr*f*JJSTI?PuA(h+9@X^8U=P(PbyGGGwo!np@Da9OgyOiJV^S ziOtOsdmE_(t1*4>3s81**V;V`Mk{AoD_TAKj{TJ}S6f7YcZZCUV+RQB!O=d>YU+Wb zq#Q`+_O=0;{|UOawy{{v5`704J? zMP8TSOP+Nrd9mx@rfbNw2YKwZ*y0>Vq0^GnzDDw43Xx6ZFs$5KKiY|$VM|(B$?AB( zFUS7Fj#b9JoQ?}DT;!yJ3>;bl6`aT6-W3?5@g(IF9PECLXO9sLTjl~sMa*H7alx*N z9flbw#*BzoKlM?!fohE#$CX2-P%3t+^DDlvv*KsVD*cJGTJbwrH-LzJb~*Sed@^4( z4|GQ?=jd;*8!i#Via$~H0(rN@A0~}3(ubC0z`2#oIQF)kuuTr(vOIC}C$UtqHR;eS!B+1*3w80&68zXwe+G~rhyMk|EJG?N?=|3DHV`SEVH|TRMAUJbe zsMo5Gx>d)QwA?e9J?Bl+ZBf}Lq8=!*kt<(C!)J29_n8=ISDrD` z`gYHO&+sBdq{kUO!jk#mID*Y<8MsSF*|zfMI54xk{NXsj`}Mg}%y@w$D?JAU&Z2vl zfA>%3xbMjG%Ey9WiqBoeF#Q+oqmxZckG|TnsY+B~1$7Ut31bD%9EtuK+ZP09Zw({Z zPcyh(u=r#wK^a`8XK_~ZE{0%EiA~AjEaihx_~dKogfdA*LXdTiwJba2HEGL0!n4j- zReh{9fV@+wJWT~(a~-b0#wRX4#+)1t(`7Y$ejM@31jr1xB9Dtnu(L zvWJ`1Mo7XSxk`OXeOFFu`w~UiVc;%f#TdJ=vLlHzZdz9A`;;|esL4N2jj>|EC4az) zsKOPVV0|3ns}WU8!y3E=Te+^u2UCyH&fw$?Hu2+MxJisw9323UQwoaf1u<3Pys^vf5?vYK~$?n8K?9TNSdY1kKD;*RhzXlm#SHzL3 zbMA5bz6G~O9r0HAXApu|LfQ{q*<$&ZqB)fCU)f5pvY_&0ice8SwQZ*$q45nU6DgBYbm}=jx{?x3KgmJ1xVQ|RF%E!;c9}=*=;%(dQ`BQycdv(@r zL+VX<&=Ga?v4*^0NjKJLW}OV5&NGXKt_Cs9XE;g}uN?GpFOE(bZLlae??0-A^28591dTE(obtI| zHbpG1-rR-Yc&?y`^Kb^kCvk51M{Zfx(Khpbw%^7GHl2{z|< zaHkA!53d|@)(oA)+=Qe%7F)aLDNHR7_Eu>lTU!=B=?uA*oS$i16|c_Q*w%B+vQAG@ ztY_4*!T~N+lUh}?NA`jX2c#sf`P)n93r5Du!Cl32%{+~R));y6=ZEQM?uCmn8!jlKn{)^&i(EImhT$Mh$d({%zkh>G`F4vX zr$1OqDyll;UpK@LDq0OuZpPnfu)W8cmY*>{YbC|9(KMu+_kPy$BDfYSsTz*)ZUmX~ z!cStudz)q&U^M&|WZ@9$Qz! ziJ!fv25{xWnmf5}gueW3L@<9|vBI&#ZUmoMP;;_weKm8*3f8MEc)iHtY7Obo_1HsU z@OxkzpEp>r>8nQP|3>H{s%Jvj{14G}Xp9)(*AGzmp5rqIv0cj@Lr?M_Nw=szmW|*= zv`OE**7)PGdb*BYM(*Lowwf??&KUqTB+4xNPg}QDP92k} z@S37nj{phFn~APQgolz@Ej!|PM`4OR!Stew?<5&X7dh@Y{OgRp;(yz#XQUTD%W;Uc z@P>WHh+-cZH2_tq@!=v?mFURw{}m^^TS@GyoNG7t3B!YZFln_V5J`UqWpfvM|LtZ6 zrI5v5zIu@mzh%e@I^AC-X+eg;xCNtc`*A)1JNi?{ZC`l9*s-pZ_p$eB|BrJ5davWC zaqVfmTL)`jLSkc!&g}2CJ!i|Jh}W%pi`rWn$G+oSgwMh1LWCm+Sh03JH=tpbiSgt= zeDM1Al^;Xvs+Xoe+X=UQ+iA56fm9WOz&Mbw3^>(?$iT<4gr|p`&#`0L-khhm=;M54 zg16Lpl&%(Jp>2?mkIoe5Jy#e$vknd`#(!qq6MR|YZR(02I5&*UIa9{_i(E$IK8xU? zTyZ{=J)`7KehO{kCD_SFGq1ZeQgN{Wt@Rml!15bUH1=BKc!d8rCik!7rpNv>H;KK- zt!p^Fg*@Gy>#uVBzyc+Q`((r&PnHI@)gO$0bVrAW^~!+&f7^kvqz1d?;luCnXMbni zL8yMt=PdK2{zuW_lRA!aNWOUGsm~Gd$Ri^^!W%Kw=fymYDUJ>U^$}wu3wTk`N6_l@ z_$E1+@q);$^+D0s+F2?frt;3>fIHGbNZNFOGcxvVzf~u5m0`Cb<5m~;i<}z&a}1(o zF(@i6veFl2&T}tINsJKp5;3m23C%n(-gpwN5q`p&vG%lLAA2+Ei>ZLJCa^NuRa_!3?kK_^crHuvx1;i=x%)Qd_!O6`1jb=UfnK| z*te(_y_c7{nh|aEdxsA*7IioJ?qrKTlo=bB0srXX$ev74LK|X-9}`!RcaQY}&T)-r z?H^p*(h0EQV#D@251~TJ^~*VB;CrD!_{!T|6CdWA6Csy>JlAra?jUuQ8=M)1&r)+O zRmbD2%n~+%)@OZ#Gj=Dw90|_iip7Tr2e?iv>rRi^`kNZiE5#Ry#iX&dV<27pw7v3S zgw_df2*{|ia&Q+{`km+{7B2qM`3PhU?i^S==__&Cg$p``)mi2Pf9{YtbuL!2csShT z@$w@+Gw#R#R>L!|1ED>@%0RWECh%4SfNlUB{*S-TwjbT-#rDW4%OMubK9OJU*00Ap z++u%nDz)sT3Sq-O6x_wF;@CQJgz)l;}X-Y;V!Dr?5GQp(0A~k?3p#F_59Pr*e@r%Ci<69{5|T$SvM7cuDMgZudNrgO04u z%F0NDs}{KL^2qB<&i8rni$`jjeW%6Dh&yG3zpnbz7@vDW8umT)&yo=zMkjNM0*5Aja0J5QAYNGl zp&WF?+8uX#rzh(t9Wh5iid)3{R0eVRYxh_FC0Fj^O#j>6KZ~;%k)h&FPic>%S`j*X zec;t-*6-n;X7KirLCP)fNzC)z2dS96t5yPB0d>gSH(Yfa?@dg(?g~ zI|T4!_y?l2A|@w9xJ#^&Fz&NwaTXrntj|Z3Ta9(R!wByGW%D#Hx5QJ{ zy=$$^E>+Ud8R+S;k)A!b$_)fKX44Bl8v`#fiP zBL!;T6?bfYA2rrXc2N08o+!+T(a~d^on54JzVr9*0vILj^g4O1xTu)#$OL$E7cRix z@s^4tBQhR2&0~e0R3c*KJ?EfTYvO+6_!e)|)~fM^W9m$d=Qwul_fCJW`_|Op*dLW; z)56<4=9F=Vm_>>ykR+HWbk@j(fd*;Ppkchc`eGilQ|3Dn!N+2g5uMB!qH4W>pn{U} zQ+%3Q@&c3wLvRUCq3x`1U(6A-myx=>(3A#WsZFG8b|oq~zU!&xF(tS}ckb}%JJh&J ztxR`I&5eNDj;!(qcYNxEJ2}Yc!T!S|ui#A94S!+ABz}kSIH-37)ObjUDgSQ z@fjuVu_cGT+4h^qZ;ZkI>HRO)fwtNSVuQz>MM^^_Yx|Zz>XR#@m;KsUs0!6Ts z&H9mJ%<#uwpk{m?ai`HcZPVBOFybWIuICne|igpm~_B%4BxWy(mfh6dI4e7z56jV zzZ(qv8>~JMkb*FP-TpId1_Q>AVeE4KReN)A<)04l#K6zwUlb`1bv-orN~M|(_*&nG ze?9N|?eG0=)vN6__&&n$lDs)MFoQm>Uhs&ZXEgSZxAQQxJcjG$bI-QL&Dd>1k4NYkkL&XPF(1BWOreJDc^!@JDl= z3i*)E(QRH~OFd4HkvUzDDtFQylGQs$sHvgakH=cH2rY+>nqyN+{JB#yS5H!)r-rft z_;*(H5=!K!muP;-)_dVmDjvh{%1=FUVTTy)HNk(s{m1RUA@T>?m4YWTK1h#KMJEr6 z#pI}$$jM#Yn4ojp?XUD;|L{a=)Eo2WhfUF+wPRQ|>M%v za%UzyjC1tQzK!+sum!1(0Is1&CK_AkER86KWNf|yyW-Z(Gl1M<#i$<$bv1S4bz zJaC@ROL6{RpF=QymqQD=vL>^>M`z3^6+gv*wj2eTJne3*FQ)55sdjPA00flzi|>7r z4g2?Lzep3oXPL)YG#~OQRnOF8+-L6@zQbL@zM_^k-isd|;Ky&rNQ@y?5V>ZDj0Gp} zVSV^^^iPqy=Og{iar{O@3iB-khv=%0DvC#3L9!S{-{V%kXUFe2wp+Fmvo7yBbV<^D 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

lQWgAM8MviEo>H8p?bLEvGMEq`ND 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

s1#{nX;87 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 diff --git a/assets/html/help.html b/assets/html/help.html deleted file mode 100644 index 1b90565..0000000 --- a/assets/html/help.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - MiRCART v1.1.6 documentation - - - - -

- - - - - diff --git a/assets/html/index.html b/assets/html/index.html deleted file mode 100644 index e7b146d..0000000 --- a/assets/html/index.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - MiRCART v1.1.6 - - - - - -
-
-
- - -
- -
-
-
- . -
-
-
-
- - -
-
-
- x fg
- x bg
- x char
- + add
-
-
-
-
- - -
- square
- circle
- cross
- text
- fill
- select
-
- rotate
- scale
- translate
- slice
-
- - -
-
- new - save - load - help -
- brush: 5 x 5
- canvas: 100 x 30
- _ grid - x vertical -
-
- ascii ansi *mirc -
-
character limit of 425 exceeded
- -
-
- ansi *mirc - - -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/images/MiRCART.png b/assets/images/MiRCART.png new file mode 100644 index 0000000000000000000000000000000000000000..fff39a2214a4ea8c2cd33e83fa5254b7bdf2fa76 GIT binary patch literal 52285 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�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

sSTcqDoC{d?F6LcJZg~89rH2X~px4u;RZw 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 literal 0 HcmV?d00001 diff --git a/assets/images/bucket.png b/assets/images/bucket.png deleted file mode 100644 index cfaab3062822770f63fb59b31fc446e17e0cfd16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1219 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%u1Od5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|80+w{G(j&jGsVi##Kg(a)!E3^$G&eP`1g19yq1PCvUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnqfVG!Lpb z1-Dxaaq86vIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@iev;(k@c`tha-@0Z&8_P?3D=e2m=oasyNsR|aX66jdO(f_#O z%qr)GMH)V0yKj}oO0wlUEMxkYdz)=ZXW_Ndv$GnmN!6WHkdh3%Y|@%JYYxMHqx0&! zX8xPFY2lXC*?;nHi|t-l{O;7IBZV>_y_6Vh1dkg|67y&5+qiy}mP{L?z5w$Qr7V6= zdG!Y;{Z4GJ+HGq0y>|cBAE!Ur9Iu>rF-N@HHFRdC=Xu46&hy#!FAR=-to|u?)}{%H z-jj~JxwiG8(l&F`3EP}=ZwYT+{_KFwgu)xl8`QWJC&(xKt~`AgTe~DWM4fKZ2`M diff --git a/assets/images/dropper.gif b/assets/images/dropper.gif deleted file mode 100644 index 7d9eee1ea00a97bf5d17cd7618b27f3092907113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1170 zcmZ?wbhEHb6krfwSj5iI-rj!y{{2_4UP(wu*xA|b-@o6$z~KM?|BC;)BYXoCToOwX zfwYZ%ML}Y6c4~=2Qfhi;o~_dR-TRdkGE;1o!cBb*d<&dYGcrA@ic*8C{6dnevXd=S zlxV%Qmue&kg&dz0$52&wylyQNJ0T*r*nQ$ zs)DJWfo`&anSp|tp`M|!iMhGCj)IYap@F`Ek-njkuA#Y=v5}R5fdUjL0c|TvNwW%a zaf8|g1^l#~=$>Fbx5m+O@q>*W`v>l<2HT7t|lGSUUA&@HaaD@m--%_~-hnc$LI zoLrPyP?DLSrvNfBF)6>a#8wIDQivCF3*g4)73+b$qnDhYt6z~=pl_&W0P+${p|3A~ zrMbCq)x{-2sR;LCHMlsWvLIDID784hv?w_hs9YIjRe_arQEFmIeo;t%ehw@Y12XbU z@{2R_3lyA#O%;3-lQZ)`e6V_7Un|eN;*!L?eiaKZd}bLY&SHFL)FX;Y_6o-}bne_wA;cUNaeds}Nub5mnOeO+x$bya0W zd0A;maZzDGeqL@)c2;IadRl5qa#CVKd|YfybW~(Scvxsia8O`?zn`yFMfdYiVkztEs9eD=8|-%gM?}OG!$Ii;0Q|3keGF z^YQXTBeuybUQr^A0EP^uS wvQ2?P%L7E_N}0X;XtyThHnZv5)_bfPe?&zN3M;R)G4em|7-$))#=u|=02XJVQ2+n{ diff --git a/assets/images/gray-dither.gif b/assets/images/gray-dither.gif deleted file mode 100644 index 8809b7a28d27c358b42254abaf3ff47b3f1754b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1102 zcmZ?wbhEHbh+i z#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7_pOiaozEwNPs zx)kDt+yc0N~y(w7S0@Vxh2X?*sK*#8VA{Hs4VM4&v17gCHEsz6G_^Elo)LsNk){OuE z{r&U%*Uul{zkU7k`P0V_@87+B^ZM1x7tfzPee(Fx!w2{8-Mw@B*3BE&uU)-z`O?J; z=g*xzbNbZD6UUDoJ#zTa!2|pE?cK9`*UlZ=w{6|BdDF%X>({MavwGFa70Z_`U9x!5 z!Ugl^&7CuQ*322xr%jzQdD6rQ{e8VX-Cdm>?QN|s%}tFB^>wv1)m4=h1nAc$w`R`@o}*+(NU2R;bEa6!9jrm{(inb-d>&_?ryFw&Q6XF_I9>5 z)>f7l=4PfQ#zw#_rKhW-t);1EF>tv&&SKd&Be*V o&c@2Z%*4pRp!kyoNHQ|$FaQCl)L>xZbm?1}d73Ythn2w^052+muK)l5 diff --git a/assets/images/tile.jpg b/assets/images/tile.jpg deleted file mode 100644 index 143334bb10edab3eb6cf44d723cbde1e7f0c09ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2526 zcmbtUd010d7QZifS)fLeu!X2I2uT1bs3{<()__9Diy|793d*Pukwt-sAc7!*xPVd& z0S$-RZ-%r__BJMW$IJNMq-JxkCY zbP!NQ0z?2H90Y{e51?bvX-7$z-{uXg1H*QNMFfV0bFFQ8YDoRqFGF1MPqA+Rq5)px zQzHP^hcibXphLKKI04>;V2=MC;QoU4;LHJp*%Iu503NSi37P3&-)iqi*+>RPP`cWr ze)N4Fp>}IHjA;U>8eZyM)GV;K279f+NE(ePjc;6I3Bmk;04#1Rrip*zA3UcO*&jVz z41s_Trl(_UH6E)^9?hPUm<>QUmb5Pl{)rm?B82`w82TK{)RYKF60idxv>)sP1T3jA z9)@88i9jHbv`8cpQHw&+CTq{2P^mhY&}e#kbUIy^s%LF$Cr-Q%rMr#0#4AMb59x?$q8ic1oXg!pN@gqPQ z!KkVQkM$Z%Ad<*h+FxM>`y7M-4nGZ20R%&M9E`(wkx6*UCJdzE;kopM1jjX-bWNmt zxkSCAr!OxvW$BCkzOkv@p17REmXX~%UiwGa8a&ARtu%?_l;I(9zL~$n&XCdRIkfrJ zm3?);Mm~HkFq0P~mu1#>J$iGd{8snyxK}{b{;acCZz~_aUF7opmYoNVovUcLJ2GKz zFI*cKeen4C%Eq22lUha=ixKajU56AGs+xMAzSCyT9&STFq^Y)_Oech~oiuwfGoe#Qd0UYGs5B(oiMlLNL>%`mia2aT-|v zz=&r3*uC^fvU2IAH_vl(PPwhj=cq>G1rEFXnIpjMatV(T?beXyZN_kUd=$iawfWKH z!)4C7R?UbZcmJBq$gj&Qu2vYNTIT);Ua@fda?Fos=vLaKJAxxA7;SpNly6zJ4UCKD zKj*BAKDCy&jqee2%w>=8c7>%SCslEB#CufSS63S%7`rsq_q2CK3QdtNuMcLaW|rBl zGja9^TRnv3l->NHj4b(256dbp8=pm3@&YVJe6(}2$(}_O?BgJ8i|KMlZSr|GYkQrd zw9v?#Fs8$e5=|7Ejey_xtsf4`uug`{`a}$d76Sd`s=42kh#<~o=rV56&SF>HEIF(<{*Z*_YLD27b34WKe_n(Xl_XFA@|@S-KnBL@O6RAh1D`*ac39Z zlW{PCScCCgDat%iqUe&E*ZpkC?3>qGbT4g+;nQEJ6YuORAAMMgyYh`vrrF|Kl!S3i0{#{;dc{zsh#ABc(b!JF$bY#FKCKJE0?FBtH zXr#!qPE|E|ytlGvVrli25dHPHD-+%xC?BNV_ev~84nEWUfs9Kl3$3%BorgEivcHpJ zWBsPz6KfnL`@=Y$bDdv4e3-s`{lAwmJKY9pKn4cRXB(_#$%L9=Q_qKb`p%)IQehcW-8tRa!~&oeR5ytYTLP+b0O_2&1t+Q46+``x`qY7*9wh zZalY+O+B%T)ilq7l{ln0mUA-}`rX+RLtvf!m^ZlakqLx+V$z5Aj_F>g3 zX>$LQ@ao%j70Qk}m#K6i=lss~CPK3-tpze+@g7u(5tH9{E!q|uJ6qXvuZ86hE@MR> zf_ERy3v-p%vSf}Tuj z{lcF;V%ms{gzxJPC<_~FZry0RJ@aiQuj!Br! z3A!1xm<)}JzXKqMs@-NPksOXZK3{L#s=?jV|$Xp)7L?c;)sFAmvr-Cow+O& U@KRQssf*9KIO|<73ees^0KAg*0{{R3 diff --git a/assets/images/toolCircle.png b/assets/images/toolCircle.png new file mode 100644 index 0000000000000000000000000000000000000000..9e34f7288272bb8dda0b54fe26d13a6d1998b2a2 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwwYY*EWF^-SBjA46*QEI!RIJkb!_}xPrETsHn{9MNE;64qwtby0}=Hk`)9_$SM6f zpEBLoBmKn|<9xN><^S_8xj1pm*67OC=vI>5(GcG9dSAqB7A4*tOl+!o3p{N+KbRJ4 zl?OI6Te!Wwtn$&qm^W)(ZQz;r2ZaqRX1?R9@YA!pS~R2EbaAHM%IH5c*FAV#xMPNI z@yWBiUpUrgS^oIKF*#H3=5dw!kfpm$hd*GH;8~XLx+gvN64PEczp&4;Z>C9oP|Tbx yWTJ1cBJ6rDfu%TwiFw1xu-V+%nqB{epYWbJq^No$J@+`!j|`r!elF{r5}E+A&w?)i literal 0 HcmV?d00001 diff --git a/assets/images/toolClone.png b/assets/images/toolClone.png new file mode 100644 index 0000000000000000000000000000000000000000..ea358d3606cf23f08883ff55b51e618922a4b8ce GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P_o1|q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&(QM9wM{8NMG2lR zjv*HQOM4vo4k&Q2{QbW?GwZ;*GO2}fYC6t0($d@)tohI)_t{utVbin)YZ{Dpc(06* z^(uWLI_=+%Mc*d|{yOY+XX^BTeR5Y9hPcN$?sWDJ44WaYfAZWs!lvI6;>1s;*b z3=DkxK$!8B)5ZfpLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwwYY*EXd974>+! zIEGmGFYR&UJ8ZzgGTE#>PV4Fa`KlXC-$_jfUOmmNEiyrP;(m>%T#*jFdB<*KyxuVX zqwcMsKkrW{>1_KR!l!NFJkO=}!O|NO-&N0Jk=?NCQ1O`pW=H0I0v~0J?>HQ3Ja0X9 zyXYK6|3!8iwE2Om?{#mJ_#gJT@_bM4Hoo7IkvclkOJf#J*{^(?HHWADxK5Y(A)vb$ NJYD@<);T3K0RX`gV}t+z literal 0 HcmV?d00001 diff --git a/assets/images/toolDecrBrushHW.png b/assets/images/toolDecrBrushHW.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c14cab292f3c54f7e4ca27ef5d452646aa4102 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGL736~_k^`TLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwwYY*EXd96;1MV zaSXBWU)y_-@2~-f^XAg_IJK|;>&==O`X(<-nfyy7*g#EpYnVnt{_?_t8@E@QpS$zk z#NpX$Nv3vVMU^d!4Sw#PB$_mDu5*k0hGUA{63ad0f8JX>@tgeJ-weXWOvhBKvW4xw ziEzn92^d_d&H}MtEo*FVy0LkU#l6>w)?pTNPI65=s~s6>Ab-Z|?ETQw>@(G#r^?M@ R)B(DV!PC{xWt~$(698I$W1Rp1 literal 0 HcmV?d00001 diff --git a/assets/images/toolDecrBrushW.png b/assets/images/toolDecrBrushW.png new file mode 100644 index 0000000000000000000000000000000000000000..64e964b41c9004f4b29f1a2f3d913cd380de3c9a GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwwYY*EXd96_tCs zIEGmGFYO8BYcSw&?zKO*;=8@xI&PoFT^6d9o|PrDU7m=C^f^4`h-+@SY6GAX7(8A5T-G@yGywpyLR4%3 literal 0 HcmV?d00001 diff --git a/assets/images/toolDecrCanvasH.png b/assets/images/toolDecrCanvasH.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea55ef3699cd94dedc187666d5852c949a77999 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGL736~_k^`TLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwwYY*EXd96}5S~ zIEGmGFYWQ>JD|Yf@;3dV@8o;`H%&8qz&kS?lIp?YwT^Q zkekyg_h0TriQ{5-*(00_(=M~?F}ZI#Z~UKOOY1Cg=QB~!D=H0-gxJ1P%;PYfZMQ+t zx@FeX){Ez@rhb`vpY@~4kgTe~ HDWM4fy!>C* literal 0 HcmV?d00001 diff --git a/assets/images/toolDecrCanvasHW.png b/assets/images/toolDecrCanvasHW.png new file mode 100644 index 0000000000000000000000000000000000000000..2bcefdcd5696c752bd7b3f29422ff525438a9fd0 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGK$vmro+3}6pk#?_L`iUdT1k0gQ7S`0VrE{6US4X6f{C7io}uNHYnxJlispH` zIEGmGZ=DdxcgTRp+1jB)Ugcf=%}M5SCX_|Dn@m_4XKXtA zaY=dMg~=W~6MA;4v|sm7X?r-2XG3(;S|6FlA1y7bKOXy3?8w#FK5^28r@CAbWk2UL zah`p>`(bL$rX70ktz}+ny#J#wJ}vNIltSDD+n4hf%I~#Q&bHk+HIrXP?v9e+Qzwoc hW=e+g?2)ge!lvI6;>1s;*b z3=DjGL736~_k^`TLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwwYY*EXd96_t6q zIEGmGZ|w=>YB1n&Znsx@^|#+T+Qa?&ninG6>z8DDOk63i8R~Z3N2bZe?^J zG%heMF*(%MvSa`N0gOpRK~y+Tg_1!_0znvt_XqS3`Uyg}ZguWbM>`aBtxH`+=(4yJ zDISatD~KYof~?`8z(n?t)Is#1C@8U|EQX=%Li7XP<{Q{$)^+XheDlpaI}ba|NC4JS zsZ`jodW~?KV=;6|r_*c*<|0%M8QWs$BFi##U1x1@&4tPyBO-=`s;Y>^VsIR1t%S2a?Go+iW49*HJ8L zTtK(rN@lZJK*Gz>r3E=zf@wM^m7bByJwTRk(CKuL$z)&{h9{X$r#^{vs=Q1WiaXnf!PX`V%@%wfYn)ks=3=AV}a! zOw;~XG9HgnC=?)V?%soN1+HW`{0^10+iiBVEZ-wtt8Hv--SLTtrfKN+zXFna{RQF^ z=S9AK^8yiijlG`bNp#)dS1o?y+pr2nQMjbp9I&gES>#{$O~RlDMJ(q4q(AFc0+ZY6 ReRBW+002ovPDHLkV1jBW;cEZ@ literal 0 HcmV?d00001 diff --git a/assets/images/toolIncrBrushH.png b/assets/images/toolIncrBrushH.png new file mode 100644 index 0000000000000000000000000000000000000000..157c81aaea85d69d2dbd72735fe95810ac6ed72a GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwwYY*EXd96=iz5 zIEGmGukDHEJD|Y9viJYel@sz#t&Z3tFMMZWs=!6Tm2U)EHC}7w%n;0o|7i1W(tPbj z9$jzl@wt6`&M0F0W4f%Y%L-Nz8!%%B>y9(Vfp6pvG|krrYY=o@d}hfeXRZCtkC`es W*5-#79$yQzl)=;0&t;ucLK6UCCs9ZM literal 0 HcmV?d00001 diff --git a/assets/images/toolIncrBrushHW.png b/assets/images/toolIncrBrushHW.png new file mode 100644 index 0000000000000000000000000000000000000000..34f3a41458da9ff15f619a2ae06c72a7081d565f GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGL736~_k^`TLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwwYY*EXd970vf_ zaSXBWU)y(^>#zZj^X}7!=M_oZ8$K==iX-qnPr!h6)IT%GM~FKr7`EE_K67(WsUb*v`_z$-{5VV z&%<8*q3xjSLdWa6{J*$7-t!%vW_Z|f#q9PXPsR!N=008!@m%SjQVRobd?C=J|8fDL g;#$+6S>^s__|kqizrE;%GSI0Ep00i_>zopr0C^Q|mjD0& literal 0 HcmV?d00001 diff --git a/assets/images/toolIncrBrushW.png b/assets/images/toolIncrBrushW.png new file mode 100644 index 0000000000000000000000000000000000000000..6790bfc4babf737cd7a644743ccb6e1109550703 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxL735kHCP2GC|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXJ~ol+NKnsqEt^8 z#}EturM--N2NXD%|NdV-b4J3F5{nrpC3iCM3I1fAD!O8g!&1ZkxX&kxTfG+VJ-{aT zCb%g=h>aIWS)63!)#|<0l+%#9Z^xfy3H{t!Ev&08n#?z(+i&xjw&9GZ?212qJ?vA? Wtj!nQwL=!lvI6;>1s;*b z3=DjGL736~_k^`TLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwwYY*EXd96%~8B zIEGmGFYRIEYf#`}{`r6T#7A1UWqboBPyQN~@%XiUW^K(6*A|4t)>)I0Ebm_ck=6;r?=SvP9cRg2f=zjOzl@976zCJHRt{s(G ldY-GKUoT}I`@YM+SYH{KKK~cW_ZVnBgQu&X%Q~loCIF2qUAq7P literal 0 HcmV?d00001 diff --git a/assets/images/toolIncrCanvasHW.png b/assets/images/toolIncrCanvasHW.png new file mode 100644 index 0000000000000000000000000000000000000000..4002cc8bd198d614cb9a4f65d268aec5107f8796 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjGK$vmro+3}6pk#?_L`iUdT1k0gQ7S`0VrE{6US4X6f{C7io}uNHYnxJlil%$I zIEGmGFAd`4Yf#{E<~{bmUgCOWLBoqHYO>b5*qR+D)ETKT`mq-2D?UG$snEd@W}%d# zDll1+$z#cz>5k{R4<38AR&t&48NF|{z|jfF`G5CrmOB#Qn?c9+xoVbBa%;E@)95O XgTe~DWM4fdjwwf literal 0 HcmV?d00001 diff --git a/assets/images/toolIncrCanvasW.png b/assets/images/toolIncrCanvasW.png new file mode 100644 index 0000000000000000000000000000000000000000..48f8053c6a218392aa207d1a6f2e008344bdb116 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwwYY*EXd96=iz5 zIEGmGZ|z~^I$*%T{P+LzxlLkgrEc|#u3K_4aMEFU#c7MLoBpp)XmZ(+-3B7^+7CVG zbx!>7>cI>J!FRJ3f{0?t`xDRkrk)Yry`QUECfM%7q0dL&EkAVnM_);vW`2bHp7tM% Y?98UmAMQQ;0B9+Lr>mdKI;Vst0JYXwX8-^I literal 0 HcmV?d00001 diff --git a/assets/images/toolLine.png b/assets/images/toolLine.png new file mode 100644 index 0000000000000000000000000000000000000000..206b1042bc2237fa368625752e1647d764ec94d5 GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwwYY*EWF^J@#~Q46*QEdf_~mqoc_2kB|3n-NSg(Bgo9`({o0f)f&>Clcsol;u4$W z6d4hFf9Ld_%{%`+xw724_+9?2XC03%>NlFzC+6M?2%KVgF!KA^00FH=t7SKmm;ImV zD6Q4E%&JA1O+)F`zk0ibMUz$}b)0=0?GTZEhFMLkjqS==_L2$CPZZPhN+t_jIq>U7 zQm>Sg{>|rYw?$4qt}7OQC0UsLE%EW)IY%Y361b;)DEd5i{|C0PgEG@^hrhj>$^KDX zNmr-v5QpRoFk5?t`S%HC&hLM4Pn5moF|*Ns&Dr>f+4qZ|aODR1c;0SVmjU!HgQu&X J%Q~loCIHE-mH+?% literal 0 HcmV?d00001 diff --git a/assets/images/toolMove.png b/assets/images/toolMove.png new file mode 100644 index 0000000000000000000000000000000000000000..c52a274a42fe54c305d694acea7d12938b2ad228 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P_o1|q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&(QM9wM{8NMM0h} zjv*HQTl*Zj7!){I{{COytKysGsB6Qcr>rMrT+f)=Dy#BrdD6lr{l-m9Qw0CYpD}8= zAKg|YJLko{;!d7@Jg2w<+`iN0#LT=By}Z;C1rt33 zJwwYY*EWF^`FOfGhFJJ-?eXMdFyJ`y>%YH$wPx!|#%(O!&{DXWlJQt*7HB} zt7vcfz{mPfmg|tUNK3f}$NK<*dkYoz+;*Avo!^hMzw(L|$HLhCbJoNy0Gi9->FVdQ I&MBb@0EFE|ApigX literal 0 HcmV?d00001 diff --git a/assets/images/toolText.png b/assets/images/toolText.png new file mode 100644 index 0000000000000000000000000000000000000000..d27b9690570d46f88fbbdab0ea22ba7531fe2758 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwwYY*EWF^E%J1646*QEI`JXbAp?PC_23r8SN!+?e`Sex__kV2b$eRTsa1{Zr=R}H zmF%qfRR7Y3c9S=Xy!#nHuDEiqJ-YMhtHTzTd^T2!{yTB% w_5wD3zM~oYboZp5X5K%k&34JdvQr 0) { - if (w < cells.length) { - w = cells.length - } else if (w > cells.length) { - for (var n = cells.length, nmax = w; n < nmax; n++) { - cells.push({bg: bg, fg: fg, value: " "}) - } - } - lines_out.push(cells); h++; - } - } - } - return {h: h, lines: lines_out, w: w} - } - var json = to_json(data, {fg:0, bg:1}) - - if (!no_undo) undo.new() - if (!no_undo) undo.save_rect(0,0, canvas.w, canvas.h) - if (json.w !== canvas.w || json.h !== canvas.h){ - if (!no_undo) undo.save_size(canvas.w, canvas.h) - canvas.resize(json.w, json.h, true) - } - canvas.clear() - - for (var y = 0, line; line = json.lines[y]; y++){ - var row = canvas.aa[y] - for (var x = 0, char; char = line[x]; x++){ - var lex = row[x] - lex.char = char.value - lex.fg = char.fg - lex.bg = char.bg - lex.opacity = 1 - lex.build() - } - } - - current_filetool && current_filetool.blur() - }, - - import_mirc: function (data, no_undo) { - if (data && data.preventDefault) { - data = import_textarea.value - } else { - data = data || import_textarea.value - } - - var to_json = function(string, opts){ - var lines_in = string.split(/\r?\n/) - var lines_out = [] - var w = 0, h = 0 - for (var y = 0; y < lines_in.length; y++) { - var bg = 1, fg = 15 - var cells = [], line = lines_in[y] - if (line.length === 0) { - continue - } else { - for (var x = 0; x < line.length; x++) { - switch (line[x]) { - case "\x02": // ^B (unimplemented) - break - case "\x03": // ^C - var parseColour = function(line, x) { - if (/1[0-5]/.test(line.substr(x, 2))) { - colour = parseInt(line.substr(x, 2)) - return [colour, x + 2] - } else if (/0[0-9]/.test(line.substr(x, 2))) { - colour = parseInt(line.substr(x, 2)) - return [colour, x + 2] - } else if (/[0-9]/.test(line.substr(x, 1))) { - colour = parseInt(line.substr(x, 1)) - return [colour, x + 1] - } else { - return [undefined, x] - } - } - var bg_ = undefined, fg_ = undefined, x_ = x + 1; - [fg_, x_] = parseColour(line, x_) - if (line[x_] === ",") { - [bg_, x_] = parseColour(line, x_ + 1) - } - if ((bg_ == undefined) && (fg_ == undefined)) { - [bg, fg] = [1, 15] - } else { - bg = (bg_ != undefined) ? bg_ : bg; - fg = (fg_ != undefined) ? fg_ : fg; - }; - if (x_ != x) {x = x_ - 1}; break; - case "\x06": // ^F (unimplemented) - break - case "\x0f": // ^O - [bg, fg] = [1, 15]; break; - case "\x16": // ^V - [bg, fg] = [fg, bg]; break; - case "\x1f": // ^_ (unimplemented) - break - default: - cells.push({bg: bg, fg: fg, value: line[x]}) - } - } - if (cells.length > 0) { - if (w < cells.length) { - w = cells.length - } - lines_out.push(cells); h++; - } - } - } - return {h: h, lines: lines_out, w: w} - } - var json = to_json(data, {fg:0, bg:1}) - - if (!no_undo) undo.new() - if (!no_undo) undo.save_rect(0,0, canvas.w, canvas.h) - if (json.w !== canvas.w || json.h !== canvas.h){ - if (!no_undo) undo.save_size(canvas.w, canvas.h) - canvas.resize(json.w, json.h, true) - } - canvas.clear() - - for (var y = 0, line; line = json.lines[y]; y++){ - var row = canvas.aa[y] - for (var x = 0, char; char = line[x]; x++){ - var lex = row[x] - lex.char = char.value - lex.fg = char.fg - lex.bg = char.bg - lex.opacity = 1 - lex.build() - } - } - - current_filetool && current_filetool.blur() - }, - - export_data: function () { - var output - // switch (clipboard.format) { - switch (controls.save_format.value) { - case 'ascii': - output = canvas.ascii() - break - case 'ansi': - output = canvas.ansi() - break - case 'mirc': - output = canvas.mirc({cutoff: 425}) - break - } - if (output.cutoff){ - export_cutoff_warning_el.style.display = 'block' - } else { - export_cutoff_warning_el.style.display = 'none' - } - export_textarea.value = output - clipboard.export_focus() - return output - }, - - } - - return exports - -})() - - diff --git a/assets/js/color.js b/assets/js/color.js deleted file mode 100644 index 78fefac..0000000 --- a/assets/js/color.js +++ /dev/null @@ -1,163 +0,0 @@ - -var fillColor = 1 // black - -var color_names = ("white black dark-blue green red dark-red purple orange " + - "yellow lime teal cyan blue magenta dark-gray light-gray").split(" "); - -var all_color_hue_order = "dark-red red orange yellow lime green teal cyan blue dark-blue purple magenta black dark-gray light-gray white".split(" "); -var all_color_inv_order = "cyan teal blue dark-blue purple magenta dark-red red orange yellow lime green white light-gray dark-gray black".split(" "); -var color_hue_order = "dark-red red orange yellow lime cyan teal blue dark-blue purple magenta".split(" "); -var color_inv_order = "cyan teal blue dark-blue purple magenta dark-red red orange yellow lime green".split(" "); -var gray_names = ("black dark-gray light-gray white").split(" ") - -var fire_names = ("black dark-red red orange yellow white cyan").split(" ") -var red_names = ("black dark-red red").split(" ") -var yellow_names = ("black orange yellow white").split(" ") -var green_names = ("teal green lime").split(" ") -var blue_names = ("black dark-blue blue").split(" ") -var purple_names = ("dark-blue purple magenta red").split(" ") -var dark_gray_names = ("black dark-blue teal dark-gray light-gray white").split(" ") -var color_alphabet = "abcdefghijklmnop"; -var colors = {} -color_names.forEach(function(name, i){ - colors[name.replace("-", "")] = i - colors[name] = i -}) -colors.brown = 5 - -function get_inverse (n) { return colors[all_color_inv_order.indexOf(color_names[n])] } - -function mirc_color (n) { return mod(n, 16)|0 } -function mirc_color_reverse (n) { return mod(-(n+1), 16)|0 } -function all_hue (n) { return colors[all_color_hue_order[mod(n, 16)|0]] } -function all_inv_hue (n) { return colors[all_color_inv_order[mod(n, 16)|0]] } -function hue (n) { return colors[color_hue_order[mod(n, 11)|0]] } -function rand_hue () { return colors[color_hue_order[randint(11)]] } -function rand_gray () { return colors[gray_names[randint(4)]] } -function inv_hue (n) { return colors[color_inv_order[mod(n, 11)|0]] } -function gray (n) { return colors[gray_names[mod(n, 4)|0]] } -function fire (n) { return colors[fire_names[mod(n, 7)|0]] } -function red (n) { return colors[red_names[mod(n, 3)|0]] } -function yellow (n) { return colors[yellow_names[mod(n, 4)|0]] } -function green (n) { return colors[green_names[mod(n, 3)|0]] } -function blue (n) { return colors[blue_names[mod(n, 3)|0]] } -function purple (n) { return colors[purple_names[mod(n, 4)|0]] } -function dark_gray (n) { return colors[dark_gray_names[mod(n, 4)|0]] } - -var css_lookup = { - 'rgb(255, 255, 255)': 'A', - 'rgb(0, 0, 0)': 'B', - 'rgb(0, 0, 127)': 'C', - 'rgb(0, 147, 0)': 'D', - 'red': 'E', - 'rgb(127, 0, 0)': 'F', - 'rgb(156, 0, 156)': 'G', - 'rgb(252, 127, 0)': 'H', - 'rgb(255, 255, 0)': 'I', - 'rgb(0, 252, 0)': 'J', - 'rgb(0, 147, 147)': 'K', - 'rgb(0, 255, 255)': 'L', - 'rgb(0, 0, 252)': 'M', - 'rgb(255, 0, 255)': 'N', - 'rgb(127, 127, 127)': 'O', - 'rgb(210, 210, 210)': 'P', -}; -var css_reverse_lookup = {} -Object.keys(css_lookup).forEach(function(color){ - css_reverse_lookup[ css_lookup[color].charCodeAt(0) - 65 ] = color -}) - -var ansi_fg = [ - 97, // Bright White - 30, // Black - 94, // Blue - 32, // Green - 91, // Red - 31, // Light Red - 35, // Pink - 33, // Yellow - 93, // Light Yellow - 92, // Light Green - 36, // Cyan - 96, // Light Cyan - 34, // Light Blue - 95, // Light Pink - 90, // Grey - 37, // Light Grey -] - -var ansi_fg_import = { - 97: 0, // Bright White - 30: 1, // Black - 94: 2, // Blue - 32: 3, // Green - 91: 4, // Red - 31: 5, // Light Red - 35: 6, // Pink - 33: 7, // Yellow - 93: 8, // Light Yellow - 92: 9, // Light Green - 36: 10, // Cyan - 96: 11, // Light Cyan - 34: 12, // Light Blue - 95: 13, // Light Pink - 90: 14, // Grey - 37: 15, // Light Grey -} - -var ansi_fg_bold_import = { - 97: 0, // Bright White - 30: 14, // Grey - 94: 12, // Light Blue - 32: 9, // Light Green - 91: 4, // Light Red - 31: 4, // Light Red - 35: 13, // Light Pink - 33: 8, // Light Yellow - 93: 8, // Light Yellow - 92: 9, // Light Green - 36: 11, // Light Cyan - 96: 11, // Light Cyan - 34: 12, // Light Blue - 95: 13, // Light Pink - 90: 14, // Grey - 37: 0, // Bright White -} - -var ansi_bg = [ - 107, // Bright White - 40, // Black - 104, // Blue - 42, // Green - 101, // Red - 41, // Light Red - 45, // Pink - 43, // Yellow - 103, // Light Yellow - 102, // Light Green - 46, // Cyan - 106, // Light Cyan - 44, // Light Blue - 105, // Light Pink - 100, // Grey - 47, // Light Grey -] - -var ansi_bg_import = { - 107: 0, // Bright White - 40: 1, // Black - 104: 2, // Blue - 42: 3, // Green - 101: 4, // Red - 41: 5, // Light Red - 45: 6, // Pink - 43: 7, // Yellow - 103: 8, // Light Yellow - 102: 9, // Light Green - 46: 10, // Cyan - 106: 11, // Light Cyan - 44: 12, // Light Blue - 105: 13, // Light Pink - 100: 14, // Grey - 47: 15, // Light Grey -} diff --git a/assets/js/gfx.js b/assets/js/gfx.js deleted file mode 100644 index 54678a9..0000000 --- a/assets/js/gfx.js +++ /dev/null @@ -1,294 +0,0 @@ - -var blit = (function(){ - var blit = {} - blit.and = blit.atop = function(A, B, x, y){ - x = x || 0 ; y = y || 0 - B.forEach(function(lex, u, v){ - var cell = A.getCell(u+x, v+y) - if (cell && lex.opacity > 0) { - cell.assign(lex) - } - }) - } - blit.or = blit.under = function(A, B, x, y){ - x = x || 0 ; y = y || 0 - B.forEach(function(lex, u, v){ - var cell = A.getCell(u+x, v+y) - if (cell && cell.opacity == 0) { - cell.assign(lex) - } - }) - } - // copy the region of A beginning at x,y into B - blit.copy_from = function(A, B, x, y){ - x = x || 0 ; y = y || 0 - B.forEach(function(lex, u, v){ - var cell = A.getCell(u+x, v+y) - if (cell) { - lex.assign(cell) - } - }) - } - blit.copy_toroidal_from = function(A, B, x, y){ - x = x || 0 ; y = y || 0 - B.forEach(function(lex, u, v){ - var cell = A.get(u+x, v+y) - if (cell) { - lex.assign(cell) - } - }) - } - blit.copy_to = function(A, B, x, y){ - x = x || 0 ; y = y || 0 - B.forEach(function(lex, u, v){ - var cell = A.getCell(u+x, v+y) - if (cell) { - cell.assign(lex) - } - }) - } - blit.invert = function(A, B, x, y){ - x = x || 0 ; y = y || 0 - B.forEach(function(lex, u, v){ - var cell = A.getCell(u+x, v+y) - if (cell && lex.opacity > 0) { - cell.fg = get_inverse(cell.fg) - cell.bg = get_inverse(cell.bg) - } - }) - } - var distance_rect = function(x, y, ratio){ - return Math.sqrt((Math.pow(y * ratio, 2)) + Math.pow(x, 2)) - } - var distance_square = function(x, y, ratio){ - return Math.sqrt((Math.pow(y * ratio, 2)) + Math.pow(x * ratio, 2)) - } - blit.circle = function(A, lex){ - var hw = brush.w/2, hh = brush.h/2 - var ratio, distance - - if (brush.w === brush.h){ - distance = distance_square - ratio = hw / hh * (brush.w === 3 || brush.w === 5 ? 1.2 : 1.05) - } else { - distance = distance_rect - ratio = hw / hh - } - - A.forEach(function(lex,x,y) { - if (distance(x - hw + 0.5, y - hh + 0.5, ratio) > hw){ - lex.clear() - } - }) - } - blit.cross = function(A, lex){ - A.forEach(function(lex,x,y) { - if ((x+y)%2) { - lex.clear() - } - }) - } - blit.inverted_cross = function(A, lex){ - // 1x1 brush should still draw something - if (A.w == 1 && A.h == 1) { - return - } - A.forEach(function(lex,x,y) { - if (!((x+y)%2)) { - lex.clear() - } - }) - } - blit.square = function(A, lex){ - // i.e. no transparency - } - return blit -})() - -var draw = (function(){ - - var last_point = [0,0] - - function down (e, lex, point) { - var w = canvas.w, h = canvas.h - erasing = (e.which == "3" || e.ctrlKey) - changed = true - if (e.shiftKey) { - line (lex, last_point, point, erasing) - } - else { - stamp (canvas, brush, point[0], point[1], erasing) - } - last_point[0] = point[0] - last_point[1] = point[1] - } - - function set_last_point (e, point) { - last_point[0] = point[0] - last_point[1] = point[1] - } - - function move (e, lex, point) { - var w = canvas.w, h = canvas.h - line(lex, last_point, point, erasing) - last_point[0] = point[0] - last_point[1] = point[1] - } - - function move_toroidal (e, lex, point) { - var w = canvas.w, h = canvas.h - var src_x_quantile = quantile( last_point[0], w ) - var src_y_quantile = quantile( last_point[1], h ) - var dst_x_quantile = quantile( point[0], w ) - var dst_y_quantile = quantile( point[1], h ) - var src_x_mod = mod( last_point[0], w ) - var src_y_mod = mod( last_point[1], h ) - var dst_x_mod = mod( point[0], w ) - var dst_y_mod = mod( point[1], h ) - // if we've moved across the edge of the board, draw two lines - if (src_x_quantile != dst_x_quantile || src_y_quantile != dst_y_quantile) { - var xa, ya - if (src_x_quantile < dst_x_quantile) { - xa = [ - [src_x_mod, dst_x_mod + w], - [src_x_mod-w, dst_x_mod], - ] - } - else if (src_x_quantile == dst_x_quantile) { - xa = [ - [src_x_mod, dst_x_mod], - [src_x_mod, dst_x_mod], - ] - } - else { - xa = [ - [src_x_mod, dst_x_mod-w], - [src_x_mod+w, dst_x_mod], - ] - } - - if (src_y_quantile < dst_y_quantile) { - ya = [ - [src_y_mod, dst_y_mod + h], - [src_y_mod-h, dst_y_mod], - ] - } - else if (src_y_quantile == dst_y_quantile) { - ya = [ - [src_y_mod, dst_y_mod], - [src_y_mod, dst_y_mod], - ] - } - else { - ya = [ - [src_y_mod, dst_y_mod-h], - [src_y_mod+h, dst_y_mod], - ] - } - line(lex, [ xa[0][0], ya[0][0] ], [ xa[0][1], ya[0][1] ], erasing) - line(lex, [ xa[1][0], ya[1][0] ], [ xa[1][1], ya[1][1] ], erasing) - } - else { - var x_a = mod( last_point[0], w ) - var y_a = mod( last_point[1], h ) - var x_b = mod( point[0], w ) - var y_b = mod( point[1], h ) - var last_point_mod = [x_b, y_b], point_mod = [x_a, y_a] - line(lex, last_point_mod, point_mod, erasing) - } - last_point[0] = point[0] - last_point[1] = point[1] - // y = point.y - } - - function point (lex, x, y, erasing) { - stamp (canvas, brush, x, y, erasing) - } - - function line (lex, a, b, erasing) { - var len = dist(a[0], a[1], b[0], b[1]) - var bw = 1 - var x, y, i; - for (var i = 0; i <= len; i += bw) { - x = lerp(i / len, a[0], b[0]) - y = lerp(i / len, a[1], b[1]) - stamp (canvas, brush, x, y, erasing) - } - } - - function stamp (canvas, brush, x, y, erasing) { - var hh = brush.w/2|0 - brush.forEach(function(lex, s, t){ - s = round( s + x-hh ) - t = round( t + y-hh ) - if (s >= 0 && s < canvas.w && t >= 0 && t < canvas.h) { - if (lex.opacity === 0 && lex.char === ' ') return; - var aa = canvas.aa[t][s] - undo.save_lex(s, t, aa) - if (erasing) { - aa.erase(lex) - } - else { - aa.stamp(lex, brush) - } - } - }) - } - - function fill (lex, x, y) { - var q = [ [x,y] ] - var aa = canvas.aa - var target = aa[y][x].clone() - var n, w = 0, e = 0, j = 0 - var kk = 0 - // gets into a weird infinite loop if we don't break here.. :\ - if (target.eq(lex)) { return } - LOOP: while (q.length) { - n = q.shift() - if (aa[n[1]][n[0]].ne(target)) { - continue LOOP - } - w = e = n[0] - j = n[1] - WEST: while (w > 0) { - if (aa[j][w-1].eq(target)) { - w = w-1 - } - else { - break WEST - } - } - EAST: while (e < canvas.w-1) { - if (aa[j][e+1].eq(target)) { - e = e+1 - } - else { - break EAST - } - } - for (var i = w; i <= e; i++) { - undo.save_lex(i, j, aa[j][i]) - aa[j][i].assign(lex) - if (j > 0 && aa[j-1][i].eq(target)) { - q.push([ i, j-1 ]) - } - if (j < canvas.h-1 && aa[j+1][i].eq(target)) { - q.push([ i, j+1 ]) - } - } - } - } - - var draw = {} - draw.down = down - draw.set_last_point = set_last_point - draw.move = move - draw.move_toroidal = move_toroidal - draw.stamp = stamp - draw.line = line - draw.point = point - draw.fill = fill - return draw - -})() - diff --git a/assets/js/lex.js b/assets/js/lex.js deleted file mode 100644 index f19580f..0000000 --- a/assets/js/lex.js +++ /dev/null @@ -1,148 +0,0 @@ -function Lex (x,y) { - if (typeof x == "number") { - this.y = y - this.x = x - this.span = document.createElement("span") - } - else { - this.span = x - } - this.fg = colors.white - this.bg = colors.black - this.char = " " - this.opacity = 1 - this.focused = false -} -Lex.prototype.build = function(){ - if (isNaN(this.bg) || this.bg == Infinity || this.bg == -Infinity) this.bg = colors.black - if (isNaN(this.fg) || this.fg == Infinity || this.fg == -Infinity) this.fg = colors.black - this.span.className = this.css() - this.span.innerHTML = this.html() -} -Lex.prototype.css = function(){ - return ( - this.focused ? - "focused " : "" - ) + ( - this.opacity === 0 ? - "transparent f" + color_alphabet[modi(this.fg,16)] : - "f" + color_alphabet[modi(this.fg,16)] + " b" + color_alphabet[modi(this.bg,16)] - ) -} -Lex.prototype.html = function(){ - return this.char == " " ? " " : this.char || " " -} -Lex.prototype.read = function(){ - this.char = this.span.innerHTML - return this.char -} -Lex.prototype.ascii = function(){ - return this.char || " " -} -Lex.prototype.sanitize = function(){ - switch (this.char) { -// case "%": return "%" - case undefined: - case "": return " " - default: return this.char - } -} -Lex.prototype.ansi = function(bg_, fg_){ - var char = this.char || " " - var charIsNaN = isNaN(parseInt(char)) - if ((bg_ == this.fg) && (fg_ == this.bg)) { - bg_ = this.bg; fg_ = this.fg - return [bg_, fg_, "\x1b[7m" + char] - } else if ((bg_ != this.bg) && (fg_ != this.fg)) { - bg_ = this.bg; fg_ = this.fg; - return [bg_, fg_, "\x1b[" + ansi_bg[bg_] + ";" + ansi_fg[fg_] + "m" + char] - } else if (bg_ != this.bg) { - bg_ = this.bg - return [bg_, fg_, "\x1b[" + ansi_bg[bg_] + "m" + char] - } else if (fg_ != this.fg) { - fg_ = this.fg - return [bg_, fg_, "\x1b[" + ansi_fg[fg_] + "m" + char] - } -} -Lex.prototype.mirc = function(bg_, fg_){ - var char = this.char || " " - var charIsNaN = isNaN(parseInt(char)) - if ((bg_ == this.fg) && (fg_ == this.bg)) { - bg_ = this.bg; fg_ = this.fg - return [bg_, fg_, "\x16" + char] - } else if ((bg_ == this.bg) && (fg_ != this.fg)) { - fg_ = this.fg - return [bg_, fg_, "\x03" + ((this.fg&15) < 10 && !charIsNaN ? "0" : "") + (this.fg&15) + char] - } else { - bg_ = this.bg; fg_ = this.fg - return [bg_, fg_, "\x03" + (this.fg&15) + "," + ((this.bg&15) < 10 && !charIsNaN ? "0" : "") + (this.bg&15) + char] - } -} -Lex.prototype.assign = function (lex){ - this.fg = lex.fg - this.bg = lex.bg - this.char = lex.char - this.opacity = lex.opacity - this.build() -} -Lex.prototype.stamp = function (lex, brush){ - if (brush.draw_fg) this.fg = lex.fg - if (brush.draw_bg && lex.opacity > 0) this.bg = lex.bg - if (brush.draw_char) this.char = lex.char - this.opacity = 1 - this.build() -} -Lex.prototype.clone = function () { - var lex = new Lex (0,0) - lex.assign(this) - return lex -} -Lex.prototype.erase = function (){ - this.fg = fillColor - this.bg = fillColor - this.char = " " - this.opacity = 1 - this.build() -} -Lex.prototype.eq = function(lex){ - return lex && this.fg == lex.fg && this.bg == lex.bg && this.char == lex.char -} -Lex.prototype.eqColor = function(lex){ - return lex && this.fg == lex.fg && this.bg == lex.bg -} -Lex.prototype.ne = function(lex){ - return ! this.eq(lex) -} -Lex.prototype.clear = function(){ - this.bg = colors.black - this.fg = 0 - this.char = " " - this.opacity = 0 - this.build() -} -Lex.prototype.isClear = function(){ - return this.bg == 1 && this.fg == 0 && this.char == " " -} -Lex.prototype.focus = function(){ - if (focused) focused.blur() - this.span.classList.add('focused') - this.focused = true - focused = this -} -Lex.prototype.blur = function(){ - focused = null - this.span && this.span.classList.remove('focused') - this.focused = false - this.onBlur && this.onBlur() -} -Lex.prototype.demolish = function(){ - if (this.span.parentNode) { this.span.parentNode.removeChild(this.span) } - this.span = null -} -Lex.prototype.key = function(char, keyCode) { - if (! char) { return } - this.char = char - this.fg = brush.fg - this.build() - return true -} diff --git a/assets/js/matrix.js b/assets/js/matrix.js deleted file mode 100644 index 1ecc101..0000000 --- a/assets/js/matrix.js +++ /dev/null @@ -1,515 +0,0 @@ -function Matrix (w,h,f){ - this.x = 0 - this.y = 0 - this.w = w - this.h = h - this.f = f - this.focus_x = 0 - this.focus_y = 0 - this.initialize() -} -Matrix.prototype.initialize = function(f){ - var w = this.w || 1, h = this.h || 1, f = f || this.f - var aa = new Array (h) - for (var y = 0; y < h; y++) { - aa[y] = new Array (w) - for (var x = 0; x < w; x++) { - aa[y][x] = f(x,y) - } - } - this.aa = aa -} -Matrix.prototype.rebuild = function (){ - this.demolish() - this.initialize() - this.append() - this.bind() - this.generate && this.generate() - this.focus_clamp() - check_if_lost_focus() -} -Matrix.prototype.clone = function () { - var base = this - var clone = new Matrix(this.w, this.h, function(x,y){ - return base.getCell(x,y).clone() - }) - clone.f = this.f - return clone -} -Matrix.prototype.assign = function (mat) { - var base = this - this.demolish() - this.w = mat.w - this.h = mat.h -// this.f = function(){} - this.initialize(function(x,y){ - var el = mat.getCell(x,y).clone() - el.build() - return el - }) - this.append() - this.bind() - check_if_lost_focus() - return this -} - -Matrix.prototype.bind = function () {} -Matrix.prototype.demolish = function (){ - this.forEach(function(lex){ - lex.demolish() - }) - while (this.wrapper && this.wrapper.firstChild) { - this.wrapper.removeChild(this.wrapper.firstChild); - } - this.aa.forEach(function(row){ - row.length = 0 - }) - this.aa.length = 0 -} -Matrix.prototype.forEach = function(f){ - this.aa.forEach(function(row, y){ - row.forEach(function(lex, x){ - f(lex, x, y) - }) - }) -} -Matrix.prototype.focus_clamp = function(){ - this.focus_x = clamp(this.focus_x, 0, this.w - 1) - this.focus_y = clamp(this.focus_y, 0, this.h - 1) -} -Matrix.prototype.focus_add = function(x, y){ - this.focus(this.focus_x + x, this.focus_y + y) -} -Matrix.prototype.focus = function(x, y){ - if (x === undefined) x = this.focus_x - if (y === undefined) y = this.focus_y - x = mod(x, this.w) - y = mod(y, this.h) - this.focus_x = x - this.focus_y = y - - //focused_input = this - this.aa[y][x].focus() -} -Matrix.prototype.focusLex = function(y,x){ - if (x < 0) { - y -= 1 - } - if (x > this.aa[0].length) { - y += 1 - } - this.aa[mod(y,this.h)][mod(x,this.w)].focus() -} -Matrix.prototype.clear = function(){ - this.forEach(function(lex,x,y){ lex.clear() }) -} -Matrix.prototype.erase = function(){ - this.forEach(function(lex,x,y){ lex.erase() }) -} -Matrix.prototype.fill = function(lex){ - this.fg = lex.fg - this.bg = lex.bg - this.char = lex.char - this.opacity = lex.opacity - this.forEach(function(el,x,y){ - el.assign(lex) - el.build() - }) -} - -Matrix.prototype.build = function(){ - this.forEach(function(lex,x,y){ - lex.build() - }) -} -Matrix.prototype.append = function(wrapper){ - wrapper = this.wrapper = wrapper || this.wrapper - if (! this.wrapper) return - this.aa.forEach(function(row, y){ - var div = document.createElement("div") - row.forEach(function(lex, x) { - div.appendChild(lex.span) - }) - wrapper.appendChild( div ) - }) -} -Matrix.prototype.region = function(w,h,x,y) { - w = w || 1 - h = h || 1 - x = x || 0 - y = y || 0 - var parent = this - var mat = new Matrix(w, h, function(x,y){ - return parent.aa[y][x] - }) - mat.f = this.f - return mat -} -Matrix.prototype.setCell = function(lex,x,y){ - this.aa[y] && this.aa[y][x] && this.aa[y][x].assign(lex) -} -Matrix.prototype.getCell = function(x,y){ - if (this.aa[y] && this.aa[y][x]) return this.aa[y][x] - else return null -} -Matrix.prototype.get = function(x,y){ - y = floor(mod(y || 0, this.h)) - x = floor(mod(x || 0, this.w)) - if (this.aa[y] && this.aa[y][x]) return this.aa[y][x] - else return null -} - -Matrix.prototype.resize = function(w,h){ - w = w || canvas.w - h = h || canvas.h - var div, row, lex - var f = this.f, old_h = this.aa.length, old_w = this.aa[0].length - var wrapper = this.wrapper - w = max(w, 1) - h = max(h, 1) - if (h < old_h) { - for (var y = old_h; y > h; y--) { - row = this.aa.pop() - div = row[0].span.parentNode - row.forEach(function(lex, x){ - lex.demolish() - }) - div.parentNode.removeChild(div) - } - } - else if (h > old_h) { - for (var y = old_h; y < h; y++) { - div = document.createElement("div") - wrapper.appendChild( div ) - this.aa[y] = new Array (w) - for (var x = 0; x < w; x++) { - lex = this.aa[y][x] = f(x,y) - div.appendChild(lex.span) - } - } - } - - if (w < old_w) { - this.aa.forEach(function(row, y){ - while (row.length > w) { - lex = row.pop() - lex.demolish() - } - }) - } - else if (w > old_w) { - this.aa.forEach(function(row, y){ - div = row[0].span.parentNode - for (var x = row.length; x < w; x++) { - lex = row[x] = f(x,y) - div.appendChild(lex.span) - } - }) - } - - this.w = w - this.h = h - this.bind && this.bind() - this.focus_clamp() - if (this.wrapper && this.wrapper.parentNode != document.body) { - this.resize_wrapper() - } -} -Matrix.prototype.resize_wrapper = function(){ - var cell = canvas.aa[0][0].span - var cw = cell.offsetWidth - var ch = cell.offsetHeight -// if (canvas.grid) { ch++ } - var width = cw * this.aa[0].length - var height = ch * this.aa.length - if (canvas.grid) { width++; height++ } - this.wrapper.parentNode.style.height = "" - this.wrapper.style.width = - this.wrapper.parentNode.style.width = (width) + "px" - this.wrapper.style.top = "" -} -Matrix.prototype.ascii = function () { - var lines = this.aa.map(function(row, y){ - var last, line = "" - row.forEach(function(lex, x) { - line += lex.ascii() - }) - return line // .replace(/\s+$/,"") - }) - var txt = lines.join("\n") - return txt -} -Matrix.prototype.ansi = function (opts) { - var lines = this.aa.map(function(row, y){ - var last, line = "", bg_ = -1, fg_ = -1 - row.forEach(function(lex, x) { - if (lex.eqColor(last)) { - line += lex.sanitize() - } - else { - [bg_, fg_, line_] = lex.ansi(bg_, fg_) - line += line_; last = lex; - } - }) - return line - }) - - var txt = lines.filter(function(line){ return line.length > 0 }).join('\n') - - return txt -} -Matrix.prototype.mirc = function (opts) { - var cutoff = false - var lines = this.aa.map(function(row, y){ - var last, line = "", bg_ = -1, fg_ = -1 - row.forEach(function(lex, x) { - if (lex.eqColor(last)) { - line += lex.sanitize() - } - else { - [bg_, fg_, line_] = lex.mirc(bg_, fg_) - line += line_; last = lex; - } - }) - if (opts && opts.cutoff && line.length > opts.cutoff) { - cutoff = true - } - return line - }) - - var txt = lines.filter(function(line){ return line.length > 0 }).join('\n') - - if (cutoff) { - txt = new String(txt) - txt.cutoff = true - } - return txt -} - -var undo = (function(){ - -var max_states = 200; - -// undotimetotal = 0; - -var stack = {undo: [], redo: []}; -var current_undo = null; -var dom = {undo: undo_el, redo: redo_el}; -dom.undo.is_visible = dom.redo.is_visible = false - -var LexState = function(lex){ - this.fg = lex.fg; - this.bg = lex.bg; - this.char = lex.char; - this.opacity = lex.opacity; -}; - -var update_dom_visibility = function(type){ - var el = dom[type] - if (el.is_visible){ - if (stack[type].length === 0) { - el.classList.add('hidden') - el.is_visible = false - } - } else if (stack[type].length > 0){ - el.classList.remove('hidden') - el.is_visible = true - } -} -var update_dom = function(){ - update_dom_visibility('undo') - update_dom_visibility('redo') -} - -// state is an undo or redo state that might contain these props -// { lexs: {'0,0': LexState, ...}, // for sparse lex changes (eg brush, fill) -// focus: {x:, y: }, -// size: {w:, h: }, -// rects: [{x:, y:, w:, h:, lexs: [LexState, ...]}, ...] -// } -var new_state = function(){ - var state = {lexs:{}}; - save_focus(canvas.focus_x, canvas.focus_y, state) - return state -} -var new_redo = function(){ - return new_state() -} -var new_undo = function(){ - current_undo = new_state() - stack.redo = [] - stack.undo.push(current_undo) - if (stack.undo.length > max_states) stack.undo.shift(); - update_dom() - return current_undo -} - -var save_focus = function(x, y, state){ - state = state || current_undo - state.focus = {x:x, y:y} -} -var save_size = function(w, h, state){ - state = state || current_undo - state.size = {w:w, h:h}; -} -// the reason for stringifying the x y coords is so that each -// coordinate is saved only once in an undo state. -// otherwise there would be problems with, eg, a brush stroke -// that passed over the same grid cell twice. -var save_lex = function(x, y, lex, state){ - // var start = Date.now() - state = state || current_undo - var lexs = state.lexs; - var xy = x + "," + y; - if (xy in lexs) return; - lexs[xy] = new LexState(lex) - // undotimetotal += Date.now() - start -} -var save_focused_lex = function(state){ - state = state || current_undo - var x = canvas.focus_x - var y = canvas.focus_y - save_lex(x, y, canvas.aa[y][x], state) -} -var save_rect = function(xpos, ypos, w, h, state){ - if (w === 0 || h === 0) return; - state = state || current_undo; - state.rects = state.rects || [] - var aa = canvas.aa; - var rect = {x: xpos, y: ypos, w: w, h: h, lexs: []} - var lexs = rect.lexs - var xlen = xpos + w - var ylen = ypos + h - for (var y = ypos; y < ylen; y++){ - var aay = aa[y] - for (var x = xpos; x < xlen; x++){ - lexs.push(new LexState(aay[x])) - } - } - state.rects.push(rect) -} -var save_resize = function(w, h, old_w, old_h, state){ - state = state || current_undo - save_size(old_w, old_h, state) - if (old_w > w){ - // .---XX - // | XX - // |___XX - save_rect(w, 0, old_w - w, old_h, state) - if (old_h > h){ - // .----. - // | | - // XXXX_| - save_rect(0, h, w, old_h - h, state) - } - } else if (old_h > h){ - // .----. - // | | - // XXXXXX - save_rect(0, h, old_w, old_h - h, state) - } -} - -var restore_state = function(state){ - // all redo states will have a cached undo state on them - // an undo state might have a cached redo state - // if it doesn't have one, generate one - var make_redo = ! ('redo' in state || 'undo' in state); - var aa = canvas.aa - var lex, lexs; - - if (make_redo){ - state.redo = new_redo() - - // copy saved rects that intersect with current canvas size - // important to do this before resizing canvas - if ('rects' in state){ - for (var ri=0, rect; rect=state.rects[ri]; ri++){ - if (rect.x >= canvas.w || - rect.y >= canvas.h) continue; - var w = Math.min(rect.w, canvas.w - rect.x) - var h = Math.min(rect.h, canvas.h - rect.y) - save_rect(rect.x, rect.y, w, h, state.redo) - } - } - if ('size' in state){ - save_resize(state.size.w, state.size.h, canvas.w, canvas.h, state.redo) - } - } - - if ('size' in state){ - canvas.resize(state.size.w, state.size.h, true); - } - - if ('rects' in state){ - for (var ri=0, rect; rect=state.rects[ri]; ri++){ - lexs = rect.lexs - for (var li=0; lex=lexs[li]; li++){ - var x = (li % rect.w) + rect.x - var y = ((li / rect.w)|0) + rect.y - aa[y][x].assign(lex) - } - } - } - - lexs = state.lexs - for (var key in lexs){ - var xy = key.split(','); - lex = aa[xy[1]][xy[0]] - if (make_redo) - save_lex(xy[0], xy[1], lex, state.redo) - lex.assign(lexs[key]) - } - - if ('focus' in state){ - canvas.focus_x = state.focus.x - canvas.focus_y = state.focus.y - if (current_canvas === canvas){ - canvas.focus() - } - } -} - -var undo = function(){ - var state = stack.undo.pop(); - if (!state) return; - - restore_state(state) - - // now take the applied undo state and store it on the redo state - // and push the redo state to the redo stack - state.redo.undo = state - stack.redo.push(state.redo) - delete state.redo - - update_dom() -} - -var redo = function(){ - var state = stack.redo.pop(); - if (!state) return; - - restore_state(state) - - state.undo.redo = state - stack.undo.push(state.undo) - delete state.undo - - update_dom() -} - -return { - stack: stack, - new: new_undo, -// new_redo: new_redo, - save_focus: save_focus, - save_size: save_size, - save_lex: save_lex, - save_focused_lex: save_focused_lex, - save_rect: save_rect, - save_resize: save_resize, - undo: undo, - redo: redo -} - -})() diff --git a/assets/js/ui/brush.js b/assets/js/ui/brush.js deleted file mode 100644 index 285bc82..0000000 --- a/assets/js/ui/brush.js +++ /dev/null @@ -1,138 +0,0 @@ -var brush = (function(){ - - var brush = new Matrix (5, 5, function(x,y){ - var lex = new Lex (x,y) - lex.build() - return lex - }) - - brush.modified = false - - brush.mask = blit.circle - - brush.generate = function(){ - brush.fill(brush) - brush.mask(brush) - } - - brush.bind = function(){ - - var last_point = [0,0] - var dragging = false - var erasing = false - - brush.forEach(function(lex, x, y){ - - if (lex.bound) return - lex.bound = true - - var point = [x,y] - lex.span.addEventListener('contextmenu', function(e){ - e.preventDefault() - }) - lex.span.addEventListener('mousedown', function(e){ - e.preventDefault() - current_canvas = brush - brush.modified = true - dragging = true - erasing = (e.which == "3" || e.ctrlKey) - if (erasing) { - lex.clear() - } - else { - fillColor = brush.bg - lex.assign(brush) - } - brush.focus(x, y) - }) - lex.span.addEventListener('mousemove', function(e){ - e.preventDefault() - if (! dragging) { - return - } - erasing = (e.which == "3" || e.ctrlKey) - if (erasing) { - lex.clear() - } - else { - lex.assign(brush) - } - brush.focus(x, y) - }) - }) - window.addEventListener('mouseup', function(e){ - dragging = erasing = false - }) - } - - brush.resize = function(w, h){ - w = this.w = clamp(w, this.min, this.max) - h = this.h = clamp(h, this.min, this.max) - brush.rebuild() - controls.brush_w.char = "" + w - controls.brush_w.build() - controls.brush_h.char = "" + h - controls.brush_h.build() - } - brush.size_add = function(w, h){ - brush.resize(brush.w + w, brush.h + h) - } - brush.expand = function(i){ - brush.size_add(i, i) - } - brush.contract = function(i){ - brush.size_add(-i, -i) - } - - brush.load = function(lex){ - brush.char = lex.char - brush.fg = lex.fg - brush.bg = lex.bg - brush.opacity = 1 - } - - brush.min = 1 - brush.max = 100 - - brush.char = " " - brush.fg = 0 - brush.bg = 1 - brush.opacity = 1 - - brush.draw_fg = true - brush.draw_bg = true - brush.draw_char = true - - return brush - -})() - -var custom = (function(){ - - var exports = {} - - exports.clone = function (){ - var new_brush = brush.clone() - var wrapper = document.createElement("div") - wrapper.className = "custom" - new_brush.append(wrapper) - custom_wrapper.appendChild(wrapper) - // store in localstorage? - wrapper.addEventListener("click", function(e){ - if (e.shiftKey) { - wrapper.parentNode.removeChild(wrapper) - delete new_brush - } else { - // load this brush - exports.load(new_brush) - } - }) - } - - exports.load = function(new_brush){ - brush.assign( new_brush ) - } - - return exports - -})() diff --git a/assets/js/ui/canvas.js b/assets/js/ui/canvas.js deleted file mode 100644 index 739a083..0000000 --- a/assets/js/ui/canvas.js +++ /dev/null @@ -1,102 +0,0 @@ -var canvas = current_canvas = (function(){ - - var cols = 100 - var rows = 30 - - var canvas = new Matrix (cols, rows, function(x,y){ - var lex = new Lex (x,y) - lex.build() - return lex - }) - - canvas.bind = function(){ - - canvas.forEach(function(lex, x, y){ - - if (lex.bound) return - lex.bound = true - var point = [x,y] - lex.span.addEventListener('contextmenu', function(e){ - e.preventDefault() - }) - lex.span.addEventListener('mousedown', function(e){ - e.preventDefault() - dragging = true - current_canvas = canvas - if (e.altKey) { - if (e.shiftKey) { - blit.copy_from(canvas, brush, floor(x-brush.w/2), floor(y-brush.h/2)) - brush.mask(brush) - draw.set_last_point(e, point) - } - else { - brush.load(lex) - brush.generate() - dragging = false - } - return - } - else if (drawing) { - undo.new() - draw.down(e, lex, point) - } - else if (selecting) { - selection.down(e, lex, point) - } - else if (transforming) { - transform.down(e, lex, point) - } - else if (filling) { - undo.new() - draw.fill(brush, x, y) - } - canvas.focus(x, y) - }) - - lex.span.addEventListener("mousemove", function(e){ - mouse.x = x - mouse.y = y - if (! dragging) return - if (drawing) { - draw.move(e, lex, point) - } - else if (selecting) { - selection.move(e, lex, point) - } - else if (transforming) { - transform.move(e, lex, point) - } - canvas.focus(x, y) - }) - - }) - } - - canvas.min = 1 - canvas.max = 999 - - // canvas.resize(1, 1, true) // wont create undo state - canvas.resize = function(w, h, no_undo){ - var old_w = this.w, old_h = this.h - w = this.w = clamp(w, this.min, this.max) - h = this.h = clamp(h, this.min, this.max) - if (old_w === w && old_h === h) return; - - if (!no_undo){ - undo.new() - undo.save_resize(w, h, old_w, old_h) - } - - canvas.__proto__.resize.call(canvas, w, h) - controls.canvas_w.char = "" + w - controls.canvas_w.build() - controls.canvas_h.char = "" + h - controls.canvas_h.build() - } - canvas.size_add = function(w, h){ - canvas.resize(canvas.w + w, canvas.h + h) - } - - return canvas - -})() diff --git a/assets/js/ui/controls.js b/assets/js/ui/controls.js deleted file mode 100644 index 5ff5ab8..0000000 --- a/assets/js/ui/controls.js +++ /dev/null @@ -1,259 +0,0 @@ -var controls = (function(){ - - var controls = {} - - controls.cross = new Tool (cross_el) - controls.cross.use = function(){ - if (brush.mask == blit.cross) { - controls.cross.el.innerHTML = "ssoɹɔ" - brush.mask = blit.inverted_cross - } - else { - controls.cross.el.innerHTML = "cross" - brush.mask = blit.cross - } - brush.generate() - drawing = true - brush.modified = false - } - controls.cross.done = function(){ - controls.cross.el.innerHTML = "cross" - drawing = false - } - - controls.circle = new Tool (circle_el) - controls.circle.use = function(){ - brush.mask = blit.circle - brush.generate() - drawing = true - brush.modified = false - } - controls.circle.done = function(){ - drawing = false - } - - controls.square = new Tool (square_el) - controls.square.use = function(){ - brush.mask = blit.square - brush.generate() - brush.modified = false - drawing = true - } - controls.square.done = function(){ - drawing = false - } - - controls.text = new Tool (text_el) - controls.text.use = function(){ - current_filetool && current_filetool.blur() - } - - controls.select = new Tool (select_el) - controls.select.use = function(){ - selection.show() - } - controls.select.done = function(){ - selection.hide() - } - - controls.rotate = new Tool (rotate_el) - controls.rotate.use = function(){ - transform.set_mode('rotate') - } - controls.rotate.done = function(){ - transform.done() - } - - controls.scale = new Tool (scale_el) - controls.scale.use = function(){ - transform.set_mode('scale') - } - controls.scale.done = function(){ - transform.done() - } - - controls.slice = new Tool (slice_el) - controls.slice.use = function(){ - transform.set_mode('slice') - } - controls.slice.done = function(){ - transform.done() - } - - controls.translate = new Tool (translate_el) - controls.translate.use = function(){ - transform.set_mode('translate') - } - controls.translate.done = function(){ - transform.done() - } - - controls.fill = new Tool (fill_el) - controls.fill.use = function(){ - filling = true - document.body.classList.add("bucket") - } - controls.fill.done = function(){ - filling = false - document.body.classList.remove("bucket") - } - - controls.undo = new BlurredTool (undo_el) - controls.undo.use = function(){ - undo.undo() - } - - controls.redo = new BlurredTool (redo_el) - controls.redo.use = function(){ - undo.redo() - } - - controls.clear = new BlurredTool (clear_el) - controls.clear.use = function(){ - undo.new() - undo.save_rect(0, 0, canvas.w, canvas.h) - canvas.erase() - current_filetool && current_filetool.blur() - } - - controls.grid = new BlurredCheckbox (grid_el) - controls.grid.memorable = true - controls.grid.use = function(state){ - state = typeof state == "boolean" ? state : ! document.body.classList.contains("grid") - document.body.classList[ state ? "add" : "remove" ]('grid') - letters.grid = palette.grid = canvas.grid = state - canvas.resize_wrapper() - palette.resize_wrapper() - letters.resize_wrapper() - if (! selection.hidden) selection.reposition() - this.update( state ) - } - ClipboardTool = FileTool.extend({ - blur: function(){ - this.__blur() - clipboard.export_hide() - clipboard.import_hide() - } - }) - controls.save = new ClipboardTool (save_el) - controls.save.use = function(){ - clipboard.export_show() - clipboard.export_mode() - } - controls.load = new ClipboardTool (load_el) - controls.load.use = function(){ - clipboard.import_show() - clipboard.import_mode() - } - - controls.load_format = new RadioGroup(import_format_el) - controls.load_format.name = 'load_format' - controls.load_format.memorable = true - var cs = controls.load_format.controls - // - - controls.save_format = new RadioGroup(export_format_el) - controls.save_format.name = 'save_format' - controls.save_format.memorable = true - var cs = controls.save_format.controls - cs.mirc.use = cs.ansi.use = cs.ascii.use = function(){ - clipboard.export_data() - } - // - - controls.experimental_palette = new HiddenCheckbox (experimental_palette_toggle) - controls.experimental_palette.memorable = true - controls.experimental_palette.use = function(state){ - var state = palette.experimental(state) - this.update(state) - } - - // - - controls.fg = new BlurredCheckbox (fg_checkbox) - controls.fg.use = function(state){ - brush.draw_fg = state || ! brush.draw_fg - this.update(brush.draw_fg) - } - - controls.bg = new BlurredCheckbox (bg_checkbox) - controls.bg.use = function(state){ - brush.draw_bg = state || ! brush.draw_bg - this.update(brush.draw_bg) - } - - controls.char = new BlurredCheckbox (char_checkbox) - controls.char.use = function(state){ - brush.draw_char = state || ! brush.draw_char - this.update(brush.draw_char) - } - - controls.vertical = new BlurredCheckbox (vertical_checkbox) - controls.vertical.memorable = true - controls.vertical.use = function(state){ - canvas.vertical = typeof state == "boolean" ? state : ! canvas.vertical - controls.vertical.refresh() - } - controls.vertical.refresh = function(){ - if (canvas.vertical) { - document.body.classList.add("vertical") - } - else { - document.body.classList.remove("vertical") - } - palette.repaint() - letters.repaint() - this.update(canvas.vertical) - } - - // - - controls.brush_w = new Lex (brush_w_el) - controls.brush_h = new Lex (brush_h_el) - controls.canvas_w = new Lex (canvas_w_el) - controls.canvas_h = new Lex (canvas_h_el) - - // bind - - controls.bind = function(){ - - for (var n in controls){ - var control = controls[n] - if (typeof control === 'object' && 'bind' in control){ - control.bind() - } - } - - [ - controls.brush_w, - controls.brush_h, - controls.canvas_w, - controls.canvas_h - ].forEach(function(lex){ - lex.span.addEventListener('mousedown', function(e){ - lex.focus() - }) - }); - - controls.brush_w.key = keys.single_numeral_key(controls.brush_w, function(w){ brush.resize(w, brush.h) }) - controls.brush_w.raw_key = keys.arrow_key(function(w){ brush.size_add(w, 0) }) - - controls.brush_h.key = keys.single_numeral_key(controls.brush_h, function(h){ brush.resize(brush.w, h) }) - controls.brush_h.raw_key = keys.arrow_key(function(h){ brush.size_add(0, h) }) - - controls.canvas_w.key = keys.multi_numeral_key(controls.canvas_w, 3) - controls.canvas_w.onBlur = keys.multi_numeral_blur(controls.canvas_w, function(w){ canvas.resize(w, canvas.h) }) - controls.canvas_w.raw_key = keys.arrow_key(function(w){ canvas.size_add(w, 0) }) - - controls.canvas_h.key = keys.multi_numeral_key(controls.canvas_h, 3) - controls.canvas_h.onBlur = keys.multi_numeral_blur(controls.canvas_h, function(h){ canvas.resize(canvas.w, h) }) - controls.canvas_h.raw_key = keys.arrow_key(function(h){ canvas.size_add(0, h) }) - - add_custom_el.addEventListener("click", function(){ - custom.clone() - }) - - } - - return controls -})() diff --git a/assets/js/ui/keys.js b/assets/js/ui/keys.js deleted file mode 100644 index fc7ea3c..0000000 --- a/assets/js/ui/keys.js +++ /dev/null @@ -1,209 +0,0 @@ -var keys = (function(){ - - var keys = {} - keys.bind = function(){ - cursor_input.addEventListener('keydown', function(e){ - - // console.log("keycode:", e.keyCode) - if (e.altKey) { - document.body.classList.add("dropper") - } - - switch (e.keyCode) { - case 27: // esc - if (!selection.hidden && current_canvas === canvas){ - selection.hide() - selection.show() - } else if (focused){ - focused.blur() - } - return - } - - if (window.focused && focused.raw_key) { - focused.raw_key(e) - return - } - - switch (e.keyCode) { - case 219: // [ - if (current_tool.name != "text") { - e.preventDefault() - brush.contract(1) - brush.modified = false - check_if_lost_focus() - } - break - case 221: // ] - if (current_tool.name != "text") { - e.preventDefault() - brush.expand(1) - brush.modified = false - } - break - case 8: // backspace - e.preventDefault() - if (current_canvas === canvas) - undo.new() - current_canvas.focus_add(-1, 0) - if (current_canvas === canvas) - undo.save_focused_lex() - focused.char = " " - focused.build() - return - case 13: // return - e.preventDefault() - current_canvas.focusLex(focused.y, focused.x+1) - return - case 38: // up - e.preventDefault() - current_canvas.focus_add(0, -1) - break - case 40: // down - e.preventDefault() - current_canvas.focus_add(0, 1) - break - case 37: // left - e.preventDefault() - current_canvas.focus_add(-1, 0) - break - case 39: // right - e.preventDefault() - current_canvas.focus_add(1, 0) - break - // use typical windows and os x shortcuts - // undo: ctrl-z or cmd-z - // redo: ctrl-y or shift-cmd-z - case 89: // y - if (!e.ctrlKey && !e.metaKey) break; - e.preventDefault(); - undo.redo(); - break - case 90: // z - if (!e.ctrlKey && !e.metaKey) break; - e.preventDefault(); - if (e.shiftKey) - undo.redo(); - else - undo.undo(); - break - // default: - // if (focused) { focused.key(undefined, e.keyCode) } - } - }) - - cursor_input.addEventListener('input', function(e){ - /* - if (! e.metaKey && ! e.ctrlKey && ! e.altKey) { - e.preventDefault() - } - */ - var char = cursor_input.value - cursor_input.value = "" - - // console.log("input:", char) - - if (current_tool.name != "text" && ! brush.modified) { - brush.char = char - if (char == " ") { - brush.bg = brush.fg - } - else if (brush.bg != fillColor) { - brush.fg = brush.bg - brush.bg = fillColor - } - brush.rebuild() - } - - if (focused && char) { - var y = focused.y, x = focused.x - if (current_canvas === canvas){ - undo.new() - undo.save_focused_lex() - } - var moving = focused.key(char, e.keyCode) - if ( ! moving || ! ('y' in focused && 'x' in focused) ) { return } - current_canvas.focus_add(1, 0) - } - }) - - cursor_input.addEventListener("keyup", function(e){ - if (! e.altKey) { - document.body.classList.remove("dropper") - } - }) - } - - keys.int_key = function (f) { - return function (key, keyCode) { - var n = parseInt(key) - ! isNaN(n) && f(n) - } - } - - keys.arrow_key = function (fn) { - return function (e){ - switch (e.keyCode) { - case 38: // up - e.preventDefault() - fn(1) - break - case 40: // down - e.preventDefault() - fn(-1) - break - } - } - } - keys.left_right_key = function (fn) { - return function (e){ - switch (e.keyCode) { - case 39: // right - e.preventDefault() - fn(1) - break - case 38: // up - case 40: // down - e.preventDefault() - fn(0) - break - case 37: // left - e.preventDefault() - fn(-1) - break - } - } - } - - keys.single_numeral_key = function (lex, fn) { - return keys.int_key(function(n, keyCode){ - if (n == 0) n = 10 - lex.blur() - fn(n) - }) - } - keys.multi_numeral_key = function (lex, digits){ - return keys.int_key(function(n, keyCode){ - lex.read() - if (lex.char.length < digits) { - n = parseInt(lex.char) * 10 + n - } - lex.char = ""+n - lex.build() - }) - } - keys.multi_numeral_blur = function (lex, fn){ - return function(){ - var n = parseInt(lex.char) - if (isNaN(n)) return - fn(n) - } - } - - return keys -})() - -function check_if_lost_focus() { - if (! window.focused || ! window.focused.span) - window.focused = canvas.aa[0][0] -} diff --git a/assets/js/ui/paletters.js b/assets/js/ui/paletters.js deleted file mode 100644 index 26bac3a..0000000 --- a/assets/js/ui/paletters.js +++ /dev/null @@ -1,206 +0,0 @@ -var letters = (function(){ - - var last_charset = "" - var charset_index = 0 - var charsets = [ - 'Basic Latin', - 'Latin-1 Supplement', - 'Box Drawing', - 'Block Elements', - ] - - var letters = new Matrix (1, 1, function(x,y){ - var lex = new Lex (x,y) - return lex - }) - - letters.charset = "" - - letters.repaint = function(charset){ - letters.charset = charset = charset || last_charset - last_charset = charset - var chars = unicode.block(charset, 32) - if (chars[0] != " ") chars.unshift(" ") - if (canvas.vertical) { - letters.resize( Math.ceil( chars.length / 16 ), 16 ) - } - else { - letters.resize( 32, Math.ceil( chars.length / 32 ) ) - } - - var i = 0 - - letters.forEach(function(lex,x,y){ - if (canvas.vertical) { x=x^y;y=x^y;x=x^y } - var char = chars[i++] - if (palette.chars.indexOf(brush.char) > 1) { - lex.bg = brush.fg - lex.fg = brush.bg - } - else { - lex.bg = colors.black - lex.fg = brush.fg == fillColor ? colors.black : brush.fg - } - lex.char = char - lex.opacity = 1 - lex.build() - }) - } - - letters.bind = function(){ - letters.forEach(function(lex,x,y){ - if (lex.bound) return - lex.bound = true - - lex.span.addEventListener('mousedown', function(e){ - e.preventDefault() - if (e.shiftKey) { - charset_index = (charset_index+1) % charsets.length - letters.repaint(charsets[charset_index]) - return - } - else if (e.ctrlKey || e.which == 3) { - brush.char = lex.char - brush.bg = brush.fg - brush.fg = fillColor - } - else { - brush.char = lex.char - if (lex.char == " ") { - brush.bg = brush.fg - } - else if (brush.bg != fillColor) { - brush.fg = brush.bg - brush.bg = fillColor - } - } - if (! brush.modified) { - brush.generate() - } - palette.repaint() - }) - lex.span.addEventListener('contextmenu', function(e){ - e.preventDefault() - }) - }) - } - - return letters -})() - -var palette = (function(){ - - var palette = new Matrix (32, 2, function(x,y){ - var lex = new Lex (x,y) - return lex - }) - - var palette_index = localStorage.getItem("ascii.palette") || 1 - var palette_list = [all_hue, all_inv_hue, mirc_color, mirc_color_reverse] - var palette_fn = palette_list[palette_index] - var dither = { - aa: '▓▒░ ', - a: '▓', - b: '▒', - c: '░', - d: ' ', - p: function(n){ - return dither.aa[Math.floor(Math.abs(n) % 4)] - } - } - palette.chars = " " + dither.a + dither.b + dither.c - - palette.repaint = function(){ - var xw = use_experimental_palette ? 5 : 2 - if (canvas.vertical) { - palette.resize( xw, 16 ) - } - else { - palette.resize( 32, xw ) - } - - palette.forEach(function(lex,x,y){ - if (canvas.vertical) { x=x^y;y=x^y;x=x^y;x*=2 } - if (y < 2) { - lex.bg = palette_fn(x>>1) - lex.fg = palette_fn(x>>1) - } - else { - lex.bg = fillColor - lex.fg = palette_fn(x>>1) - } - lex.char = palette.chars[y] - lex.opacity = 1 - lex.build() - if (lex.char == "_") lex.char = " " - }) - } - palette.repaint() - var use_experimental_palette = false - palette.experimental = function(state){ - use_experimental_palette = typeof state == "boolean" ? state : ! use_experimental_palette - use_experimental_palette ? palette.resize(32, 5) : palette.resize(32, 2) - palette.repaint() - return use_experimental_palette - } - - palette.bind = function(){ - palette.forEach(function(lex, x, y){ - if (lex.bound) return - lex.bound = true - - lex.span.addEventListener('mousedown', function(e){ - e.preventDefault() - if (e.shiftKey) { - palette_index = (palette_index+1) % palette_list.length - localStorage.setItem("ascii.palette", palette_index) - palette_fn = palette_list[palette_index] - palette.repaint() - return - } - if (e.ctrlKey || e.which == 3) return - if (brush.char == " " && lex.char == " ") { - brush.fg = lex.fg - brush.bg = lex.bg - brush.char = lex.char - } - else if (lex.char != " ") { - brush.fg = lex.bg - brush.bg = lex.fg - brush.char = lex.char - } - else { - brush.fg = lex.bg - brush.bg = fillColor -// brush.char = lex.char - } - brush.opacity = lex.opacity - if (! brush.modified) { - brush.generate() - } - if (filling || e.ctrlKey) { - fillColor = lex.bg - } - letters.repaint() - }) - - lex.span.addEventListener('contextmenu', function(e){ - e.preventDefault() - fillColor = y ? lex.fg : lex.bg - palette.repaint() - brush.fg = lex.fg - brush.char = lex.char - brush.opacity = lex.opacity - brush.generate() - brush_wrapper.style.borderColor = css_reverse_lookup[fillColor] - return - }) - - }) - } - - brush_wrapper.style.borderColor = css_reverse_lookup[fillColor] - - return palette - -})() diff --git a/assets/js/ui/selection.js b/assets/js/ui/selection.js deleted file mode 100644 index 09e2194..0000000 --- a/assets/js/ui/selection.js +++ /dev/null @@ -1,159 +0,0 @@ -var selection = (function(){ - - var creating = false, moving = false, copying = false - - var selection_canvas = new Matrix (1, 1, function(x,y){ - var lex = new Lex (x,y) - lex.build() - return lex - }) - - var selector_el = document.createElement("div") - selector_el.className = "selector_el" - selection_canvas.append(selector_el) - document.body.appendChild(selector_el) - - // in selection mode.. - // - we start by clicking the canvas. this positions the selection, and copies - // the character - // - then we drag down and to the right. this resizes the selection and pushes new - // rows and columns. each of these copies the character underneath. - // - on mouseup, the selection is locked. then.. - // - drag the selection to move it -- this "cuts" it and leaves a blank space on the canvas. - // - shift-drag the selection to copy it - - var a = [0, 0] - var b = [0, 0] - var c = [0, 0] - var d = [0, 0] - - function reset () { - a[0] = a[1] = b[0] = b[1] = 0 - } - function left (a,b) { return min(a[0],b[0]) } - function top (a,b) { return min(a[1],b[1]) } - function right (a,b) { return max(a[0],b[0]) } - function bottom (a,b) { return max(a[1],b[1]) } - function width (a,b) { return abs(a[0]-b[0])+1 } - function height (a,b) { return abs(a[1]-b[1])+1 } - function mag_x (a,b) { return a[0]-b[0] } - function mag_y (a,b) { return a[1]-b[1] } - function orient (a,b) { - var l = left(a,b), m = top(a,b), n = right(a,b), o = bottom(a,b) - a[0] = l ; a[1] = m ; b[0] = n ; b[1] = o - } - - function contains (a,b,point) { - var contains_x = a[0] <= point[0] && point[0] <= b[0] - var contains_y = a[1] <= point[1] && point[1] <= b[1] - return (contains_x && contains_y) - } - function reposition (aa, bb) { - aa = aa || a - bb = bb || b - var cell = canvas.aa[top(aa, bb)][left(aa, bb)].span - var cell_left = cell.offsetLeft - var cell_top = cell.offsetTop - var cell_width = cell.offsetWidth - var cell_height = cell.offsetHeight - - var w = width(aa, bb) - var h = height(aa, bb) - - selector_el.style.top = (cell_top-1) + "px" - selector_el.style.left = (cell_left-1) + "px" - selector_el.style.width = (cell_width*w+1) + "px" - selector_el.style.height = (cell_height*h+1) + "px" - } - function down (e, lex, point){ - if ( ! contains(a,b,point) ) { - copying = false - moving = false - creating = true - a[0] = point[0] - a[1] = point[1] - b[0] = point[0] - b[1] = point[1] - reposition(a,b) - selection.hidden = false - selector_el.classList.add("creating") - } else { - copying = false - moving = true - creating = false - c[0] = point[0] - c[1] = point[1] - d[0] = point[0] - d[1] = point[1] - } - show() - selector_el.classList.remove("dragging") - } - function move (e, lex, point){ - if (creating) { - b[0] = point[0] - b[1] = point[1] - reposition(a,b) - } - else if (moving) { - d[0] = point[0] - d[1] = point[1] - var dx = - clamp( mag_x(c,d), b[0] - canvas.w + 1, a[0] ) - var dy = - clamp( mag_y(c,d), b[1] - canvas.h + 1, a[1] ) - reposition( [ a[0] + dx, a[1] + dy ], [ b[0] + dx, b[1] + dy ]) - } - else if (copying) { - } - } - function up (e) { - if (creating) { - orient(a,b) - selection_canvas.resize(width(a,b), height(a,b)) - reposition(a,b) - blit.copy_from( canvas, selection_canvas, a[0], a[1] ) - selection_canvas.build() - selector_el.classList.remove("creating") - } - if (moving) { - var dx = - clamp( mag_x(c,d), b[0] - canvas.w + 1, a[0] ) - var dy = - clamp( mag_y(c,d), b[1] - canvas.h + 1, a[1] ) - a[0] += dx - a[1] += dy - b[0] += dx - b[1] += dy - undo.new() - undo.save_rect(a[0], a[1], b[0] - a[0] + 1, b[1] - a[1] + 1) - blit.copy_to( canvas, selection_canvas, a[0], a[1] ) - } - if (copying) { - } - creating = moving = copying = false - selector_el.classList.remove("dragging") - } - - function show () { - selecting = true - } - function hide () { - reset() - selector_el.style.top = "-9999px" - selector_el.style.left = "-9999px" - selector_el.style.width = "0px" - selector_el.style.height = "0px" - creating = moving = copying = false - selection.hidden = true - selecting = false - } - - var selection = {} - selection.reposition = reposition - selection.down = down - selection.move = move - selection.up = up - selection.canvas = selection_canvas - selection.show = show - selection.hide = hide - selection.hidden = true - return selection - -})() diff --git a/assets/js/ui/tool.js b/assets/js/ui/tool.js deleted file mode 100644 index e941127..0000000 --- a/assets/js/ui/tool.js +++ /dev/null @@ -1,170 +0,0 @@ -var Tool = Model({ - init: function (el) { - this.el = el - this.lex = new Lex (el) - this.name = el.innerHTML - }, - bind: function(){ - var tool = this - tool.el.addEventListener('mousedown', function(e){ - tool.focus() - }) - tool.el.addEventListener('contextmenu', function(e){ - tool.context(e) - }) - if (tool.memorable) { - // console.log(tool.name, localStorage.getItem("ascii.tools." + tool.name) ) - tool.use( localStorage.getItem("ascii.tools." + tool.name) == "true" ) - } - }, - use: function(){}, - context: function(e){}, - done: function(){}, - focus: function(){ - // focused && focused.blur() - current_tool && current_tool.blur() - current_tool = this - this.el.classList.add('focused') - this.use() - cursor_input.focus() - }, - blur: function(){ - current_tool = null - this.el.classList.remove('focused') - this.done() - } -}) - -var FileTool = Tool.extend({ - focus: function(){ - if (current_filetool === this) { - this.blur() - return - } - current_filetool && current_filetool.blur() - current_filetool = this - this.el.classList.add('focused') - this.use() - cursor_input.focus() - }, - blur: function(){ - current_filetool = null - this.el.classList.remove('focused') - this.done() - } -}) - -var RadioItem = Tool.extend({ - init: function(group, el){ - this.group = group - this.el = el - }, - focus: function(){ - this.el.classList.add('focused') - }, - blur: function(){ - this.el.classList.remove('focused') - }, - bind: function(){ - var control = this - this.el.addEventListener('mousedown', function(){ - control.group.use(control) - }) - } -}) - -var RadioGroup = Tool.extend({ - init: function(el){ - this.el = el - this.controls = {} - var names = el.innerHTML.split(' ') - el.innerHTML = '' - var group = this - names.forEach(function(value){ - var el = document.createElement('span') - el.classList.add('radio','tool') - var control = new RadioItem(group, el) - if (value.substr(0,1) === '*') { - control.value = value = value.substr(1) - group.use(control) - } - control.value = el.innerHTML = value - group.controls[value] = control - group.el.appendChild(el) - }) - }, - use: function(control){ - if (typeof control === 'string') { - control = this.controls[control] - } - this.selected_control && this.selected_control.blur() - this.value = control.value - this.selected_control = control - control.focus() - control.use() - if (this.memorable){ - localStorage.setItem("ascii.tools." + this.name, this.value) - } - }, - bind: function(){ - var tool = this - for (var n in this.controls){ - this.controls[n].bind() - } - if (tool.memorable) { - var value = localStorage.getItem("ascii.tools." + tool.name) - if (value) tool.use(value) - } - } -}) - -var Checkbox = Tool.extend({ - init: function (el){ - this.__init(el) - var name = this.name.replace(/^[x_] /,"") - var state = localStorage.getItem("ascii.tools." + name) == "true" || this.name[0] == "x" - this.name = name - this.update(state) - }, - update: function(state){ - if (state) this.el.innerHTML = "x " + this.name - else this.el.innerHTML = "_ " + this.name - if (this.memorable) { localStorage.setItem("ascii.tools." + this.name, !! state) } - } -}) - -var BlurredCheckbox = Checkbox.extend({ - focus: function(){ - this.use() - }, - blur: function(){ - this.el.classList.remove('focused') - this.done() - } -}) - -var BlurredTool = Tool.extend({ - focus: function(){ - this.use() - }, - blur: function(){ - this.el.classList.remove('focused') - this.done() - } -}) - -var HiddenCheckbox = BlurredCheckbox.extend({ - on: "o", - off: ".", - init: function (el){ - this.el = el - this.lex = new Lex (el) - this.name = this.el.id - var state = localStorage.getItem("ascii.tools." + name) == "true" || this.el.innerHTML[0] == this.on - this.update(state) - }, - update: function(state){ - this.el.innerHTML = state ? this.on : this.off - if (this.memorable) { localStorage.setItem("ascii.tools." + this.name, !! state) } - } -}) diff --git a/assets/js/ui/transform.js b/assets/js/ui/transform.js deleted file mode 100644 index dd4fe62..0000000 --- a/assets/js/ui/transform.js +++ /dev/null @@ -1,176 +0,0 @@ -var transform = (function(){ - - var p = [0,0], q = [0,0] - var mode - var copy - - function down (e, lex, point){ - p[0] = point[0] - p[1] = point[1] - q[0] = e.pageX - q[1] = e.pageY - undo.new() - undo.save_rect(0, 0, canvas.w, canvas.h) - copy = canvas.clone() - mode.init(e) - } - function move (e, lex, point){ - var pdx = point[0] - p[0] - var pdy = point[1] - p[1] - var dx = e.pageX - q[0] - var dy = e.pageY - q[1] - var w = canvas.w - var h = canvas.h - mode.before(dx, dy, pdx, pdy, point) - for (var x = 0; x < w; x++) { - for (var y = 0; y < h; y++) { - lex = canvas.get(x, y) - if (! mode.shade( copy, canvas, lex, x, y, w, h )) { - lex.build() - } - } - } - } - function up (e){ - } - - var modes = { - - rotate: { - init: function(e){ - mode.theta = 0 - }, - before: function(dx, dy){ - var radius = dist(0, 0, dx, dy) - if (radius < 10) return - mode.theta = angle(0, 0, dx, -dy) - }, - shade: function(src, dest, lex, x, y, w, h){ - x = (x/w) * 2 - 1 - y = (y/h) * 2 - 1 - var ca = cos(mode.theta) - var sa = sin(mode.theta) - var a = x * ca - y * sa - var b = x * sa + y * ca - x = (a + 1) / 2 * w - y = (b + 1) / 2 * h - var copy = src.get(x, y) - lex.assign(copy) - return true - }, - }, - - scale: { - init: function(e){ - mode.independent = e.shiftKey || e.altKey || e.metaKey - mode.x_scale = mode.y_scale = 0 - }, - before: function(dx, dy, pdx, pdy){ - if (mode.independent) { - mode.x_scale = Math.pow(2, -pdx / (canvas.w / 8)) - mode.y_scale = Math.pow(2, -pdy / (canvas.h / 8)) - } - else { - mode.x_scale = mode.y_scale = Math.pow(2, -pdx / (canvas.w / 8)) - } - }, - shade: function(src, dest, lex, x, y, w, h){ - x = ((x-p[0])/w) * 2 - 1 - y = ((y-p[1])/h) * 2 - 1 - x *= mode.x_scale - y *= mode.y_scale - x = (x + 1) / 2 * w - y = (y + 1) / 2 * h - var copy = src.get(x+p[0], y+p[1]) - lex.assign(copy) - return true - }, - }, - - translate: { - init: function(e){ - mode.dx = mode.dy = 0 - }, - before: function(dx, dy, pdx, pdy){ - mode.dx = -pdx - mode.dy = -pdy - }, - shade: function(src, dest, lex, x, y, w, h){ - var copy = src.get(x+mode.dx, y+mode.dy) - lex.assign(copy) - return true - }, - }, - - slice: { - init: function(e){ - mode.is_y = ! (e.altKey || e.metaKey) - mode.reverse = !! (e.shiftKey) - mode.position = 0 - mode.direction = 0 - mode.last_dd = -1 - }, - before: function(dx, dy, pdx, pdy, point){ - var new_position = mode.is_y ? point[1] : point[0] - var dd = mode.is_y ? pdx : pdy - - if (mode.position !== new_position) { - mode.position = new_position - mode.direction = 0 - } - if (mode.last_dd !== -1) { - mode.direction = mode.last_dd - dd - } - console.log(mode.position) - mode.last_dd = dd - copy.assign(canvas) - }, - shade: function(src, dest, lex, x, y, w, h){ - if (mode.is_y) { - if (y >= mode.position || (mode.reverse && mode.position >= y)) { - var copy = src.get(x + mode.direction, y) - lex.assign(copy) - } - } - else if (x >= mode.position || (mode.reverse && mode.position >= x)) { - var copy = src.get(x, y + mode.direction) - lex.assign(copy) - } - return true - }, - }, - -/* - mode: { - init: function(e){ - }, - before: function(dx, dy, pdx, pdy){ - }, - shade: function(src, dest, lex, x, y, w, h){ - }, - }, -*/ - } - - function set_mode(m){ - if (m in modes) { - mode = modes[m] - transforming = true - } - } - - function done(){ - transforming = false - copy && copy.demolish() - } - - return { - down: down, - move: move, - up: up, - set_mode: set_mode, - modes: modes, - done: done, - } - -})() \ No newline at end of file diff --git a/assets/js/unicode.js b/assets/js/unicode.js deleted file mode 100644 index 0d4af8c..0000000 --- a/assets/js/unicode.js +++ /dev/null @@ -1,203 +0,0 @@ -var unicode = (function(){ - var UNICODE_BLOCK_LIST = [ - 0x0020, 0x007F, "Basic Latin", - 0x0080, 0x00FF, "Latin-1 Supplement", - 0x2500, 0x257F, "Box Drawing", - 0x2580, 0x259F, "Block Elements", - ] - var UNICODE_BLOCK_COUNT = UNICODE_BLOCK_LIST.length / 3 - var UNICODE_LOOKUP = {} - for (var i = 0, len = UNICODE_BLOCK_LIST.length; i < len; i += 3) { - UNICODE_LOOKUP[ UNICODE_BLOCK_LIST[i+2] ] = [ UNICODE_BLOCK_LIST[i], UNICODE_BLOCK_LIST[i+1] ] - } - - function block (name, n){ - var b = UNICODE_LOOKUP[name] - if (! b) return "" - return range.apply(null, b).map(function(n){ return String.fromCharCode(n) }) - } - function entities (a) { - return a.map(function(k){ return "&#" + k.join(";&#") + ";" }).join("
") - } - function index (j) { - return [ UNICODE_BLOCK_LIST[j*3], UNICODE_BLOCK_LIST[j*3+1], UNICODE_BLOCK_LIST[j*3+2], [] ] - } - function range(m,n){ - if (m > n) return [] - var a = new Array (n-m) - for (var i = 0, j = m; j <= n; i++, j++) { - a[i] = j - } - return a - } - - // [ 0xE3, 0x81, 0x82, 0xE3, 0x81, 0x84 ] => '\xE3\x81\x82\xE3\x81\x84' - // [ 0343, 0201, 0202, 0343, 0201, 0204 ] => '\343\201\202\343\201\204' - function convertBytesToEscapedString(data_bytes, base) { - var escaped = ''; - for (var i = 0; i < data_bytes.length; ++i) { - var prefix = (base == 16 ? "\\x" : "\\"); - var num_digits = base == 16 ? 2 : 3; - var escaped_byte = prefix + formatNumber(data_bytes[i], base, num_digits) - escaped += escaped_byte; - } - return escaped; - } - // r'\xE3\x81\x82\xE3\x81\x84' => [ 0xE3, 0x81, 0x82, 0xE3, 0x81, 0x84 ] - // r'\343\201\202\343\201\204' => [ 0343, 0201, 0202, 0343, 0201, 0204 ] - function convertEscapedBytesToBytes(str) { - var parts = str.split("\\x"); - parts.shift(); // Trim the first element. - var codes = []; - var max = Math.pow(2, 8); - for (var i = 0; i < parts.length; ++i) { - var code = parseInt(parts[i], 16); - if (code >= 0 && code < max) { - codes.push(code); - } else { - // Malformed code ignored. - } - } - return codes; - } - // [ 0x3042, 0x3044 ] => "あい" - function convertUnicodeCodePointsToString(unicode_codes) { - var utf16_codes = convertUnicodeCodePointsToUtf16Codes(unicode_codes); - return convertUtf16CodesToString(utf16_codes); - } - // 0x3042 => [ 0xE3, 0x81, 0x82 ] - function convertUnicodeCodePointToUtf8Bytes(unicode_code) { - var utf8_bytes = []; - if (unicode_code < 0x80) { // 1-byte - utf8_bytes.push(unicode_code); - } else if (unicode_code < (1 << 11)) { // 2-byte - utf8_bytes.push((unicode_code >>> 6) | 0xC0); - utf8_bytes.push((unicode_code & 0x3F) | 0x80); - } else if (unicode_code < (1 << 16)) { // 3-byte - utf8_bytes.push((unicode_code >>> 12) | 0xE0); - utf8_bytes.push(((unicode_code >> 6) & 0x3f) | 0x80); - utf8_bytes.push((unicode_code & 0x3F) | 0x80); - } else if (unicode_code < (1 << 21)) { // 4-byte - utf8_bytes.push((unicode_code >>> 18) | 0xF0); - utf8_bytes.push(((unicode_code >> 12) & 0x3F) | 0x80); - utf8_bytes.push(((unicode_code >> 6) & 0x3F) | 0x80); - utf8_bytes.push((unicode_code & 0x3F) | 0x80); - } - return utf8_bytes; - } - // [ 0x3042, 0x3044 ] => [ 0x3042, 0x3044 ] - // [ 0xD840, 0xDC0B ] => [ 0x2000B ] // A surrogate pair. - function convertUnicodeCodePointsToUtf16Codes(unicode_codes) { - var utf16_codes = []; - for (var i = 0; i < unicode_codes.length; ++i) { - var unicode_code = unicode_codes[i]; - if (unicode_code < (1 << 16)) { - utf16_codes.push(unicode_code); - } else { - var first = ((unicode_code - (1 << 16)) / (1 << 10)) + 0xD800; - var second = (unicode_code % (1 << 10)) + 0xDC00; - utf16_codes.push(first) - utf16_codes.push(second) - } - } - return utf16_codes; - } - // [ 0xE3, 0x81, 0x82, 0xE3, 0x81, 0x84 ] => [ 0x3042, 0x3044 ] - function convertUtf8BytesToUnicodeCodePoints(utf8_bytes) { - var unicode_codes = []; - var unicode_code = 0; - var num_followed = 0; - for (var i = 0; i < utf8_bytes.length; ++i) { - var utf8_byte = utf8_bytes[i]; - if (utf8_byte >= 0x100) { - // Malformed utf8 byte ignored. - } else if ((utf8_byte & 0xC0) == 0x80) { - if (num_followed > 0) { - unicode_code = (unicode_code << 6) | (utf8_byte & 0x3f); - num_followed -= 1; - } else { - // Malformed UTF-8 sequence ignored. - } - } else { - if (num_followed == 0) { - unicode_codes.push(unicode_code); - } else { - // Malformed UTF-8 sequence ignored. - } - if (utf8_byte < 0x80){ // 1-byte - unicode_code = utf8_byte; - num_followed = 0; - } else if ((utf8_byte & 0xE0) == 0xC0) { // 2-byte - unicode_code = utf8_byte & 0x1f; - num_followed = 1; - } else if ((utf8_byte & 0xF0) == 0xE0) { // 3-byte - unicode_code = utf8_byte & 0x0f; - num_followed = 2; - } else if ((utf8_byte & 0xF8) == 0xF0) { // 4-byte - unicode_code = utf8_byte & 0x07; - num_followed = 3; - } else { - // Malformed UTF-8 sequence ignored. - } - } - } - if (num_followed == 0) { - unicode_codes.push(unicode_code); - } else { - // Malformed UTF-8 sequence ignored. - } - unicode_codes.shift(); // Trim the first element. - return unicode_codes; - } - // [ 0x3042, 0x3044 ] => "あい" - function convertUtf16CodesToString(utf16_codes) { - var unescaped = ''; - for (var i = 0; i < utf16_codes.length; ++i) { - unescaped += String.fromCharCode(utf16_codes[i]); - } - return unescaped; - } - // 0xff => "ff" - // 0xff => "377" - function formatNumber(number, base, num_digits) { - var str = number.toString(base).toUpperCase(); - for (var i = str.length; i < num_digits; ++i) { - str = "0" + str; - } - return str; - } - - // encodes unicode characters as escaped bytes - \xFF - // encodes ONLY non-ascii characters - function escapeToEscapedBytes (txt) { - var escaped_txt = "", kode, utf8_bytes - for (var i = 0; i < txt.length; i++) { - kode = txt.charCodeAt(i) - if (kode > 0x7f) { - utf8_bytes = convertUnicodeCodePointToUtf8Bytes(kode) - escaped_txt += convertBytesToEscapedString(utf8_bytes, 16) - } - else { - escaped_txt += txt[i] - } - } - return escaped_txt - } - - // convert \xFF\xFF\xFF to unicode - function unescapeFromEscapedBytes (str) { - var data_bytes = convertEscapedBytesToBytes(str); - var unicode_codes = convertUtf8BytesToUnicodeCodePoints(data_bytes); - return convertUnicodeCodePointsToString(unicode_codes); - } - - return { - raw: UNICODE_BLOCK_LIST, - lookup: UNICODE_LOOKUP, - index: index, - range: range, - block: block, - escapeToEscapedBytes: escapeToEscapedBytes, - unescapeFromEscapedBytes: unescapeFromEscapedBytes, - } -})() diff --git a/assets/js/util.js b/assets/js/util.js deleted file mode 100644 index c71cae5..0000000 --- a/assets/js/util.js +++ /dev/null @@ -1,192 +0,0 @@ -if (window.$) { - $.fn.int = function(){ return parseInt($(this).val(),10) } - $.fn.float = function(){ return parseFloat($(this).val()) } - $.fn.string = function(){ return trim($(this).val()) } - $.fn.enable = function() { return $(this).attr("disabled",null) } - $.fn.disable = function() { return $(this).attr("disabled","disabled") } -} - -function noop(){} -function trim(s){ return s.replace(/^\s+/,"").replace(/\s+$/,"") } - -var E = Math.E -var PI = Math.PI -var PHI = (1+Math.sqrt(5))/2 -var TWO_PI = PI*2 -var LN10 = Math.LN10 -function clamp(n,a,b){ return n= 0.5 ? -1 : 1 } -function randnullsign(){ var r = random(); return r < 0.333 ? -1 : r < 0.666 ? 0 : 1 } - -function xrandom(exp){ return Math.pow(Math.random(), exp) } -function xrand(exp,n){ return (xrandom(exp)*n) } -function xrandint(exp,n){ return rand(exp,n)|0 } -function xrandrange(exp,a,b){ return a + xrand(exp,b-a) } - -function choice(a){ return a[randint(a.length)] } -function deg(n){ return n*180/PI } -function rad(n){ return n*PI/180 } -function xor(a,b){ a=!!a; b=!!b; return (a||b) && !(a&&b) } -function mod(n,m){ n = n % m; return n < 0 ? (m + n) : n } -function modi(n,m){ return floor(mod(n,m)) } -function dist(x0,y0,x1,y1){ return sqrt(pow(x1-x0,2)+pow(y1-y0,2)) } -function angle(x0,y0,x1,y1){ return atan2(y1-y0,x1-x0) } -function avg(m,n,a){ return (m*(a-1)+n)/a } -function quantize(a,b){ return floor(a/b)*b } -function quantile(a,b){ return floor(a/b) } - -function pixel(x,y){ return 4*(mod(y,actual_h)*actual_w+mod(x,actual_w)) } -function rgbpixel(d,x,y){ - var p = pixel(~~x,~~y) - r = d[p] - g = d[p+1] - b = d[p+2] - a = d[p+3] -} -function fit(d,x,y){ rgbpixel(d,x*actual_w/w,y*actual_h/h) } - -function step(a, b){ - return (b >= a) + 0 - // ^^ bool -> int -} - -function julestep (a,b,n) { - return clamp(norm(n,a,b), 0.0, 1.0); -} - -// hermite curve apparently -function smoothstep(min,max,n){ - var t = clamp((n - min) / (max - min), 0.0, 1.0); - return t * t * (3.0 - 2.0 * t) -} - -function toArray(a){ return Array.prototype.slice.call(a) } -function shuffle(a){ - for (var i = a.length; i > 0; i--){ - var r = randint(i) - var swap = a[i-1] - a[i-1] = a[r] - a[r] = swap - } - return a -} -function reverse(a){ - var reversed = [] - for (var i = 0, _len = a.length-1; i <= _len; i++){ - reversed[i] = a[_len-i] - } - return reversed -} -function deinterlace(a){ - var odd = [], even = [] - for (var i = 0, _len = a.length; i < _len; i++) { - if (i % 2) even.push(a[i]) - else odd.push(a[i]) - } - return [even, odd] -} -function weave(a){ - var aa = deinterlace(a) - var b = [] - aa[0].forEach(function(el){ b.push(el) }) - reverse(aa[1]).forEach(function(el){ b.push(el) }) - return b -} -function cssRule (selector, declaration) { - var x = document.styleSheets, y = x.length-1; - x[y].insertRule(selector+"{"+declaration+"}", x[y].cssRules.length); -} - -// easing functions -function circular (t) { return Math.sqrt( 1 - ( --t * t ) ) } -function quadratic (t) { return t * ( 2 - t ) } -function back (t) { - var b = 4; - return ( t = t - 1 ) * t * ( ( b + 1 ) * t + b ) + 1; -} -function bounce (t) { - if (t >= 1) return 1; - if ( ( t /= 1 ) < ( 1 / 2.75 ) ) { - return 7.5625 * t * t; - } else if ( t < ( 2 / 2.75 ) ) { - return 7.5625 * ( t -= ( 1.5 / 2.75 ) ) * t + 0.75; - } else if ( t < ( 2.5 / 2.75 ) ) { - return 7.5625 * ( t -= ( 2.25 / 2.75 ) ) * t + 0.9375; - } else { - return 7.5625 * ( t -= ( 2.625 / 2.75 ) ) * t + 0.984375; - } -} -function elastic (t) { - var f = 0.22, - e = 0.4; - - if ( t === 0 ) { return 0; } - if ( t == 1 ) { return 1; } - - return ( e * Math.pow( 2, - 10 * t ) * Math.sin( ( t - f / 4 ) * ( 2 * Math.PI ) / f ) + 1 ); -} - -Model=function a(b,c,d,e){function f(){var a=this,f={};a.on=function(a,b){(f[a]|| -(f[a]=[])).push(b)},a.trigger=function(a,b){for(var c=f[a],d=0;c&&d-1;)d.splice(c -,1);f[a]=b?d:[]};for(c in b)d=b[c],a[c]=typeof d=="function"?function(){return( -d=this.apply(a,arguments))===e?a:d}.bind(d):d;a.init&&a.init.apply(a,arguments) -}return f.extend=function(f){d={};for(c in b)d[c]=b[c];for(c in f)d[c]=f[c],b[c -]!==e&&(d["__"+c]=b[c]);return a(d)},f},typeof module=="object"&&(module.exports -=Model); // c-{{{-< - -function defaults (dest, src) { - dest = dest || {} - for (var i in src) { - dest[i] = typeof dest[i] == 'undefined' ? src[i] : dest[i] - } - return dest -} - -function setSelectionRange(input, selectionStart, selectionEnd) { - if (input.setSelectionRange) { - input.focus(); - input.setSelectionRange(selectionStart, selectionEnd); - } - else if (input.createTextRange) { - var range = input.createTextRange(); - range.collapse(true); - range.moveEnd('character', selectionEnd); - range.moveStart('character', selectionStart); - range.select(); - } -} -function setCaretToPos(input, pos) { - setSelectionRange(input, pos, pos); -} diff --git a/assets/shell/deploy-nw.sh b/assets/shell/deploy-nw.sh deleted file mode 100755 index 888fa79..0000000 --- a/assets/shell/deploy-nw.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/sh -# - -PACKAGE_NAME="MiRCART-nw"; -RELEASE_DEPS="cpio find gunzip rm sed tar unzip wget zip"; -NWJS_MANIFEST_FNAME="nwjs.manifest"; -NWJS_PLATFORMS="linux-ia32 linux-x64 win-ia32 win-x64"; -NWJS_VERSION="0.34.5"; -NWJS_SUBDIR="nwjs-v${NWJS_VERSION}-%NWJS_PLATFORM%"; -NWJS_URL_linux="https://dl.nwjs.io/v${NWJS_VERSION}/nwjs-v${NWJS_VERSION}-%NWJS_PLATFORM%.tar.gz"; -NWJS_URL_win="https://dl.nwjs.io/v${NWJS_VERSION}/nwjs-v${NWJS_VERSION}-%NWJS_PLATFORM%.zip"; -RELEASES_DNAME="releases"; - -extract() { - local _fname="${1}" _dest_dname="${2}"; - if [ -n "${_fname}" -a -z "${_fname##*.tar.gz}" ]; then - tar -C "${_dest_dname}" -xpf "${_fname}"; - elif [ -n "${_fname}" -a -z "${_fname##*.zip}" ]; then - unzip -d "${_dest_dname}" "${_fname}"; - else - echo "error: file \`${_fname}' is of unknown archive type" >&2; exit 1; - fi; -}; - -msgf() { - local _fmt="${1}"; shift; - printf "%s >>> ${_fmt}\n" "$(date +"%d-%^b-%Y %H:%M:%S")" "${@}"; -}; - -subst() { - local _string="${1}" _search="${2}" _replace="${3}" _string_=""; - _string_="${_string%${_search}*}"; - _string_="${_string_}${_replace}" - _string_="${_string_}${_string#*${_search}}"; - echo "${_string_}"; -}; - -deploy() { - local _platform="${1}" _vflag="${2}" _nwjs_fname="" _nwjs_subdir="" _nwjs_url="" \ - _release_fname="" _release_dname="" _release_version=""; - - _nwjs_subdir="$(subst "${NWJS_SUBDIR}" "%NWJS_PLATFORM%" "${_platform}")"; - _nwjs_url="$(subst "$(eval echo \"\${NWJS_URL_${_platform%%-*}}\")" "%NWJS_PLATFORM%" "${_platform}")"; - _nwjs_fname="${RELEASES_DNAME}/${_nwjs_url##*/}"; - _release_version="$(sed -n '/^\s*"version":/s/^.*:\s*"\([0-9.]\+\)",\?\s*$/\1/p' package.json)"; - _release_dname="${RELEASES_DNAME}/${PACKAGE_NAME}-release-${_platform}-${_release_version}"; - _release_fname="${_release_dname}.zip"; - - trap "rm -fr ${_release_dname}" EXIT HUP INT QUIT PIPE TERM USR1 USR2; - if [ "${_vflag:-0}" -eq 0 ]; then - wget -cqO "${_nwjs_fname}" "${_nwjs_url}"; - else - wget -cO "${_nwjs_fname}" "${_nwjs_url}"; - fi; - if ! sha256sum --ignore-missing -c --status "${NWJS_MANIFEST_FNAME}"; then - echo "error: SHA256 sum mismatch for \`${_nwjs_fname}'" >&2; return 1; - fi; - rm -rf "${_release_dname}"; mkdir -p "${_release_dname}"; extract "${_nwjs_fname}" "${_release_dname}"; - - cd "${_release_dname}/${_nwjs_subdir}"; - find . \ - -mindepth 1 |\ - cpio --quiet -dmp ..; - cd "${OLDPWD}"; - rm -fr "${_release_dname}/${_nwjs_subdir}"; - find -L . \ - -mindepth 1 \ - -not -path "./${RELEASES_DNAME}/*" \ - -not -path "./${RELEASES_DNAME}" \ - -not -name '*.sw*' \ - -not -name "${0##*/}" \ - -not -name "${NWJS_MANIFEST_FNAME}" |\ - cpio --quiet -dLmp "${_release_dname}"; - cd "${RELEASES_DNAME}"; - if [ "${_vflag:-0}" -eq 0 ]; then - zip -9 -r "${_release_fname##${RELEASES_DNAME}/}" "${_release_dname##${RELEASES_DNAME}/}" >/dev/null; - else - zip -9 -r "${_release_fname##${RELEASES_DNAME}/}" "${_release_dname##${RELEASES_DNAME}/}"; - fi; - cd "${OLDPWD}"; rm -fr "${_release_dname}"; - trap - EXIT HUP INT QUIT PIPE TERM USR1 USR2; -}; - -usage() { - echo "usage: ${0} [-h] [-v] [platform...]" >&2; - echo " -h.........: show this screen" >&2; - echo " -v.........: be verbose" >&2; - echo " platform...: one of: \`${NWJS_PLATFORMS}'" >&2; -}; - -main() { - local _cmd="" _opt="" _platform="" _platforms="" _vflag=0; - while getopts hv _opt; do - case "${_opt}" in - h) usage; exit 0; ;; - v) _vflag=1; ;; - *) usage; exit 1; ;; - esac; done; - shift $((${OPTIND}-1)); - for _cmd in ${RELEASE_DEPS}; do - if ! which "${_cmd}" >/dev/null; then - echo "error: missing prerequisite command \`${_cmd}'"; - exit 1; - fi; - done; - _platforms="${@}"; mkdir -p "${RELEASES_DNAME}"; - for _platform in ${_platforms:-${NWJS_PLATFORMS}}; do - msgf "Building ${_platform} release..."; - if [ "${_vflag:-0}" -eq 0 ]; then - deploy "${_platform}" "${_vflag}" >/dev/null; - else - deploy "${_platform}" "${_vflag}"; - fi; - msgf "Built ${_platform} release."; - done; -}; - -set -o errexit -o noglob; -main "${@}"; - -# vim:foldmethod=marker sw=8 ts=8 tw=120 diff --git a/assets/text/LICENCE.MIT b/assets/text/LICENCE similarity index 100% rename from assets/text/LICENCE.MIT rename to assets/text/LICENCE diff --git a/assets/text/LICENCE.asdf b/assets/text/LICENCE.asdf deleted file mode 100644 index 9057f84..0000000 --- a/assets/text/LICENCE.asdf +++ /dev/null @@ -1,28 +0,0 @@ - Jollo LNT license - Version 1 - February 2015 - - Copyright, 2015. JOLLO NET NA. - The Jollo IRC Network. - - Vu, fare wanderer, confronted with raw, programmatic instruction - dans la forme la plus pure. A hesitation, troubled to the terms - qui ce license affirme. Par un voyage du explorer le mechanisme - et ponder la fabrication. Voila! La remide: egress sans risque. - - Sans trace (Leave No Trace) via sept principales: - - 0. Modifique language en advance. L'Apposer Jollo LNT license - with copies en distribuer. - - 1. Non responsible pour neglige programme du problematique. - - 2. Non sympathie pour neglige programme du problematique. - - 3. Non permission l'modifique under any circumstance. - - 4. Non permission distribution under any circumstance. - - 5. Respect les programmatic instructions. - - 6. Non interfere avec l'harmonie d'une amitie. - diff --git a/MiRCART-python/MiRCARTImgurApiKey.py.template b/assets/text/MiRCARTImgurApiKey.py.template similarity index 100% rename from MiRCART-python/MiRCARTImgurApiKey.py.template rename to assets/text/MiRCARTImgurApiKey.py.template diff --git a/assets/text/README.md b/assets/text/README.md index 531276c..d21f361 100644 --- a/assets/text/README.md +++ b/assets/text/README.md @@ -1,15 +1,19 @@ -## MiRCART-{cordoba,nw,www} -- mIRC art editor for {Android,{Linux,Windows},browsers} (WIP) -Originally based on [[1](#r1)]. +# MiRCART.py -- mIRC art editor for Windows & Linux (WIP) +* Prerequisites on Windows: install Python v3.6.x[1] and script dependencies w/ the following elevated command prompt command line: + `pip install requests urllib3 wxPython` +* Prerequisites on Linux: python3 && python-wx{gtk2.8,tools} on Debian-family Linux distributions +* Screenshot: +![Screenshot](https://github.com/lalbornoz/MiRCARTools/raw/master/assets/images/MiRCART.png "Screenshot") -## IrcMiRCARTBot.py -- IRC<->MiRC2png bot (for EFnet #MiRCART) (pending cleanup) +# IrcMiRCARTBot.py -- IRC<->MiRC2png bot (for EFnet #MiRCART) (pending cleanup) * Prerequisites: python3 && python3-{json,requests,urllib3} on Debian-family Linux distributions * IrcMiRCARTBot.py usage: IrcMiRCARTBot.py `` [``] [``] [``] [``] [``] -## MiRCARTToPngFile.py -- convert ASCII w/ mIRC control codes to monospaced PNG (pending cleanup) +# MiRCARTToPngFile.py -- convert ASCII w/ mIRC control codes to monospaced PNG (pending cleanup) * Prerequisites: python3 && python3-pil on Debian-family Linux distributions * MiRC2png.py usage: MiRC2png.py `` `` [``] [``] -## References -``Fri, 05 Jan 2018 17:01:47 +0100 [1]`` asciiblaster - +References: +Fri, 05 Jan 2018 17:01:47 +0100 [1] Python Releases for Windows | Python.org + vim:tw=0 diff --git a/assets/text/TODO b/assets/text/TODO deleted file mode 100644 index 3d86910..0000000 --- a/assets/text/TODO +++ /dev/null @@ -1,21 +0,0 @@ -1) feature: animation; Blender mIRCart Python importer plugin -2) feature: {bold,italic,underline} attributes -3) feature: comic editor/generator * -4) feature: draw w/ keyboard instead of [LR]MB -5) feature: {line,measuring} tool -6) feature: multiplayer realtime editing -7) feature: status bar w/ position, etc. -8) feature: zoom {in,out} (esp. on Android) -9) reimplement: ANSI (maybe,) {save,upload} as PNG & gallery, cutoff (print line #(s) affected, tunably,) shaders (maybe) -10) releases: provide signed release APK - -In progress: -1) each newly created & modified(!) ascii is assigned an ascii UUID, if not present already -2) each ascii w/ an ascii UUID is auto-saved to localStorage every 3 minutes -3) ascii autosaves w/ count >8 (or >8*3mins=24mins old) are purged from localStorage -4) asciis w/ count >8 are purged from localStorage -5) limits are tunable and either defaulted or localStorage'd -6) UI lists: a) asciis (with UUID) b) autosaves c) parameters -7) always prompt on close window/exit/... -8) always prompt on new -9) save to text file @ standalone app diff --git a/MiRCART-python/IrcMiRCARTBot.py b/assets/tools/IrcMiRCARTBot.py similarity index 100% rename from MiRCART-python/IrcMiRCARTBot.py rename to assets/tools/IrcMiRCARTBot.py diff --git a/MiRCART-python/MiRCARTCanonicalise.py b/assets/tools/MiRCARTCanonicalise.py similarity index 100% rename from MiRCART-python/MiRCARTCanonicalise.py rename to assets/tools/MiRCARTCanonicalise.py diff --git a/MiRCART-python/MiRCARTCheckLineLengths.sh b/assets/tools/MiRCARTCheckLineLengths.sh similarity index 100% rename from MiRCART-python/MiRCARTCheckLineLengths.sh rename to assets/tools/MiRCARTCheckLineLengths.sh diff --git a/MiRCART-python/MiRCARTReduce.py b/assets/tools/MiRCARTReduce.py similarity index 100% rename from MiRCART-python/MiRCARTReduce.py rename to assets/tools/MiRCARTReduce.py diff --git a/MiRCART-python/MiRCARTToAnsi.py b/assets/tools/MiRCARTToAnsi.py similarity index 100% rename from MiRCART-python/MiRCARTToAnsi.py rename to assets/tools/MiRCARTToAnsi.py diff --git a/MiRCART-python/MiRCARTToPngFile.py b/assets/tools/MiRCARTToPngFile.py similarity index 100% rename from MiRCART-python/MiRCARTToPngFile.py rename to assets/tools/MiRCARTToPngFile.py diff --git a/MiRCART-python/MiRCARTToPngFiles.sh b/assets/tools/MiRCARTToPngFiles.sh similarity index 100% rename from MiRCART-python/MiRCARTToPngFiles.sh rename to assets/tools/MiRCARTToPngFiles.sh diff --git a/MiRCART-python/SAUCEToAnsi.py b/assets/tools/SAUCEToAnsi.py similarity index 100% rename from MiRCART-python/SAUCEToAnsi.py rename to assets/tools/SAUCEToAnsi.py diff --git a/assets/shell/bump-version.sh b/assets/tools/bump-version.sh similarity index 100% rename from assets/shell/bump-version.sh rename to assets/tools/bump-version.sh diff --git a/assets/shell/deploy-all.sh b/assets/tools/deploy-all.sh similarity index 100% rename from assets/shell/deploy-all.sh rename to assets/tools/deploy-all.sh diff --git a/assets/shell/deploy-www.sh b/assets/tools/deploy-www.sh similarity index 100% rename from assets/shell/deploy-www.sh rename to assets/tools/deploy-www.sh diff --git a/libcanvas/MiRCARTCanvas.py b/libcanvas/MiRCARTCanvas.py new file mode 100644 index 0000000..ac96b4b --- /dev/null +++ b/libcanvas/MiRCARTCanvas.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python3 +# +# MiRCARTCanvas.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTCanvasBackend import MiRCARTCanvasBackend +from MiRCARTCanvasJournal import MiRCARTCanvasJournal +from MiRCARTCanvasExportStore import MiRCARTCanvasExportStore, haveMiRCARTToPngFile, haveUrllib +from MiRCARTCanvasImportStore import MiRCARTCanvasImportStore +from MiRCARTCanvasInterface import MiRCARTCanvasInterface +from MiRCARTImgurApiKey import MiRCARTImgurApiKey +import wx + +class MiRCARTCanvas(wx.Panel): + """XXX""" + parentFrame = None + defaultCanvasPos = defaultCanvasSize = defaultCellSize = None + canvasMap = canvasPos = canvasSize = None + brushColours = brushPos = brushSize = None + canvasBackend = canvasJournal = None + canvasExportStore = canvasImportStore = None + canvasInterface = None + imgurApiKey = MiRCARTImgurApiKey.imgurApiKey + + # {{{ _commitPatch(self, patch): XXX + def _commitPatch(self, patch): + self.canvasMap[patch[1]][patch[0]] = patch[2:] + # }}} + # {{{ _dispatchDeltaPatches(self, deltaPatches): XXX + def _dispatchDeltaPatches(self, deltaPatches): + eventDc = self.canvasBackend.getDeviceContext(self) + for patch in deltaPatches: + if self.canvasBackend.drawPatch(eventDc, patch): + self._commitPatch(patch) + self.parentFrame.onCanvasUpdate(undoLevel=self.canvasJournal.patchesUndoLevel) + # }}} + # {{{ _dispatchPatch(self, eventDc, isCursor, patch): XXX + def _dispatchPatch(self, eventDc, isCursor, patch): + if not self._canvasDirtyCursor: + self.canvasBackend.drawCursorMaskWithJournal( \ + self.canvasJournal, eventDc) + self._canvasDirtyCursor = True + if self.canvasBackend.drawPatch(eventDc, patch): + patchDeltaCell = self.canvasMap[patch[1]][patch[0]] + patchDelta = [*patch[0:2], *patchDeltaCell] + if isCursor: + self.canvasJournal.pushCursor(patchDelta) + else: + if not self._canvasDirty: + self.canvasJournal.pushDeltas([], []) + self._canvasDirty = True + self.canvasJournal.updateCurrentDeltas(patchDelta, patch) + self._commitPatch(patch) + # }}} + + # {{{ onPanelClose(self, event): XXX + def onPanelClose(self, event): + self.Destroy() + # }}} + # {{{ onPanelEnterWindow(self, event): XXX + def onPanelEnterWindow(self, event): + self.parentFrame.SetFocus() + # }}} + # {{{ onPanelInput(self, event): XXX + def onPanelInput(self, event): + eventDc = self.canvasBackend.getDeviceContext(self) + eventType = event.GetEventType() + self._canvasDirty = self._canvasDirtyCursor = False + tool = self.canvasInterface.canvasTool + if eventType == wx.wxEVT_CHAR: + mapPoint = self.brushPos + doSkip = tool.onKeyboardEvent( \ + event, mapPoint, self.brushColours, self.brushSize, \ + chr(event.GetUnicodeKey()), self._dispatchPatch, eventDc) + if doSkip: + event.Skip(); return; + else: + mapPoint = self.canvasBackend.xlateEventPoint(event, eventDc) + if mapPoint[0] >= self.canvasSize[0] \ + or mapPoint[1] >= self.canvasSize[1]: + return + self.brushPos = mapPoint + tool.onMouseEvent( \ + event, mapPoint, self.brushColours, self.brushSize, \ + event.Dragging(), event.LeftIsDown(), event.RightIsDown(), \ + self._dispatchPatch, eventDc) + if self._canvasDirty: + self.parentFrame.onCanvasUpdate(cellPos=self.brushPos, \ + undoLevel=self.canvasJournal.patchesUndoLevel) + if eventType == wx.wxEVT_MOTION: + self.parentFrame.onCanvasUpdate(cellPos=mapPoint) + # }}} + # {{{ onPanelLeaveWindow(self, event): XXX + def onPanelLeaveWindow(self, event): + eventDc = self.canvasBackend.getDeviceContext(self) + self.canvasBackend.drawCursorMaskWithJournal( \ + self.canvasJournal, eventDc) + # }}} + # {{{ onPanelPaint(self, event): XXX + def onPanelPaint(self, event): + self.canvasBackend.onPanelPaintEvent(self, event) + # }}} + # {{{ onStoreUpdate(self, newCanvasSize, newCanvas=None): XXX + def onStoreUpdate(self, newCanvasSize, newCanvas=None): + self.resize(newCanvasSize=newCanvasSize) + eventDc = self.canvasBackend.getDeviceContext(self) + for numRow in range(self.canvasSize[1]): + for numCol in range(self.canvasSize[0]): + if newCanvas != None \ + and numRow < len(newCanvas) \ + and numCol < len(newCanvas[numRow]): + self._commitPatch([ \ + numCol, numRow, *newCanvas[numRow][numCol]]) + self.canvasBackend.drawPatch(eventDc, \ + [numCol, numRow, \ + *self.canvasMap[numRow][numCol]]) + wx.SafeYield() + # }}} + # {{{ resize(self, newCanvasSize): XXX + def resize(self, newCanvasSize): + if newCanvasSize != self.canvasSize: + if self.canvasMap == None: + self.canvasMap = []; oldCanvasSize = [0, 0]; + else: + oldCanvasSize = self.canvasSize + deltaCanvasSize = [b-a for a,b in zip(oldCanvasSize, newCanvasSize)] + + newWinSize = [a*b for a,b in zip(newCanvasSize, self.canvasBackend.cellSize)] + self.SetMinSize(newWinSize) + self.SetSize(wx.DefaultCoord, wx.DefaultCoord, *newWinSize) + curWindow = self + while curWindow != None: + curWindow.Layout() + curWindow = curWindow.GetParent() + + self.canvasBackend.resize(newCanvasSize, self.canvasBackend.cellSize) + eventDc = self.canvasBackend.getDeviceContext(self) + self.canvasJournal.resetCursor(); self.canvasJournal.resetUndo(); + + if deltaCanvasSize[0] < 0: + for numRow in range(oldCanvasSize[1]): + del self.canvasMap[numRow][-1:(deltaCanvasSize[0]-1):-1] + else: + for numRow in range(oldCanvasSize[1]): + self.canvasMap[numRow].extend( \ + [[1, 1, 0, " "]] * deltaCanvasSize[0]) + for numNewCol in range(oldCanvasSize[0], newCanvasSize[0]): + self.canvasBackend.drawPatch( \ + eventDc, [numNewCol, numRow, \ + *self.canvasMap[numRow][-1]]) + if deltaCanvasSize[1] < 0: + del self.canvasMap[-1:(deltaCanvasSize[1]-1):-1] + else: + for numNewRow in range(oldCanvasSize[1], newCanvasSize[1]): + self.canvasMap.extend( \ + [[[1, 1, 0, " "]] * newCanvasSize[0]]) + for numNewCol in range(newCanvasSize[0]): + self.canvasBackend.drawPatch( \ + eventDc, [numNewCol, numNewRow, \ + *self.canvasMap[-1][-1]]) + + self.canvasSize = newCanvasSize + wx.SafeYield() + self.parentFrame.onCanvasUpdate(size=newCanvasSize, undoLevel=-1) + # }}} + + # {{{ __del__(self): destructor method + def __del__(self): + if self.canvasMap != None: + self.canvasMap.clear(); self.canvasMap = None; + # }}} + + # + # __init__(self, parent, parentFrame, defaultCanvasPos, defaultCanvasSize, defaultCellSize): initialisation method + def __init__(self, parent, parentFrame, defaultCanvasPos, defaultCanvasSize, defaultCellSize): + super().__init__(parent, pos=defaultCanvasPos, \ + size=[w*h for w,h in zip(defaultCanvasSize, defaultCellSize)]) + + self.parentFrame = parentFrame + self.canvasMap = None + self.canvasPos = defaultCanvasPos; self.canvasSize = defaultCanvasSize; + self.defaultCanvasPos = defaultCanvasPos; self.defaultCanvasSize = defaultCanvasSize; + self.brushColours = [4, 1]; self.brushPos = [0, 0]; self.brushSize = [1, 1]; + self.parentFrame.onCanvasUpdate( \ + brushSize=self.brushSize, colours=self.brushColours) + self.canvasBackend = MiRCARTCanvasBackend(defaultCanvasSize, defaultCellSize) + self.canvasJournal = MiRCARTCanvasJournal() + self.canvasExportStore = MiRCARTCanvasExportStore(parentCanvas=self) + self.canvasImportStore = MiRCARTCanvasImportStore(parentCanvas=self) + self.canvasInterface = MiRCARTCanvasInterface(self, parentFrame) + + # Bind event handlers + self.Bind(wx.EVT_CLOSE, self.onPanelClose) + self.Bind(wx.EVT_ENTER_WINDOW, self.onPanelEnterWindow) + self.Bind(wx.EVT_LEAVE_WINDOW, self.onPanelLeaveWindow) + self.parentFrame.Bind(wx.EVT_CHAR, self.onPanelInput) + for eventType in( \ + wx.EVT_LEFT_DOWN, wx.EVT_MOTION, wx.EVT_RIGHT_DOWN): + self.Bind(eventType, self.onPanelInput) + self.Bind(wx.EVT_PAINT, self.onPanelPaint) + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libcanvas/MiRCARTCanvasBackend.py b/libcanvas/MiRCARTCanvasBackend.py new file mode 100644 index 0000000..dbe6463 --- /dev/null +++ b/libcanvas/MiRCARTCanvasBackend.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python3 +# +# MiRCARTCanvasBackend.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTColours import MiRCARTColours +import wx + +class MiRCARTCanvasBackend(): + """XXX""" + _font = _brushes = _pens = None + _lastBrush = _lastPen = None + canvasBitmap = cellSize = None + + # {{{ _drawBrushPatch(self, eventDc, patch): XXX + def _drawBrushPatch(self, eventDc, patch): + absPoint = self._xlatePoint(patch) + brushFg = self._brushes[patch[3]] + brushBg = self._brushes[patch[2]] + pen = self._pens[patch[3]] + self._setBrushDc(brushBg, brushFg, eventDc, pen) + eventDc.DrawRectangle(*absPoint, *self.cellSize) + # }}} + # {{{ _drawCharPatch(self, eventDc, patch): XXX + def _drawCharPatch(self, eventDc, patch): + absPoint = self._xlatePoint(patch) + brushFg = self._brushes[patch[2]] + brushBg = self._brushes[patch[3]] + pen = self._pens[patch[3]] + fontBitmap = wx.Bitmap(*self.cellSize) + fontDc = wx.MemoryDC(); fontDc.SelectObject(fontBitmap); + fontDc.SetTextForeground(wx.Colour(MiRCARTColours[patch[2]][0:4])) + fontDc.SetTextBackground(wx.Colour(MiRCARTColours[patch[3]][0:4])) + fontDc.SetBrush(brushBg); fontDc.SetBackground(brushBg); fontDc.SetPen(pen); + fontDc.SetFont(self._font) + fontDc.DrawRectangle(0, 0, *self.cellSize) + fontDc.DrawText(patch[5], 0, 0) + eventDc.Blit(*absPoint, *self.cellSize, fontDc, 0, 0) + # }}} + # {{{ _finiBrushesAndPens(self): XXX + def _finiBrushesAndPens(self): + for brush in self._brushes or []: + brush.Destroy() + self._brushes = None + for pen in self._pens or []: + pen.Destroy() + self._pens = None + self._lastBrushBg = self._lastBrushFg = self._lastPen = None; + # }}} + # {{{ _initBrushesAndPens(self): XXX + def _initBrushesAndPens(self): + self._brushes = [None for x in range(len(MiRCARTColours))] + self._pens = [None for x in range(len(MiRCARTColours))] + for mircColour in range(len(MiRCARTColours)): + self._brushes[mircColour] = wx.Brush( \ + wx.Colour(MiRCARTColours[mircColour][0:4]), wx.BRUSHSTYLE_SOLID) + self._pens[mircColour] = wx.Pen( \ + wx.Colour(MiRCARTColours[mircColour][0:4]), 1) + self._lastBrushBg = self._lastBrushFg = self._lastPen = None; + # }}} + # {{{ _setBrushDc(self, brushBg, brushFg, dc, pen): XXX + def _setBrushDc(self, brushBg, brushFg, dc, pen): + if self._lastBrushBg != brushBg: + dc.SetBackground(brushBg) + self._lastBrushBg = brushBg + if self._lastBrushFg != brushFg: + dc.SetBrush(brushFg) + self._lastBrushFg = brushFg + if self._lastPen != pen: + dc.SetPen(pen) + self._lastPen = pen + # }}} + # {{{ _xlatePoint(self, patch): XXX + def _xlatePoint(self, patch): + return [a*b for a,b in zip(patch[0:2], self.cellSize)] + # }}} + + # {{{ drawPatch(self, eventDc, patch): XXX + def drawPatch(self, eventDc, patch): + if patch[0] < self.canvasSize[0] \ + and patch[0] >= 0 \ + and patch[1] < self.canvasSize[1] \ + and patch[1] >= 0: + if patch[5] == " ": + self._drawBrushPatch(eventDc, patch) + else: + self._drawCharPatch(eventDc, patch) + return True + else: + return False + # }}} + # {{{ drawCursorMaskWithJournal(self, canvasJournal, eventDc): XXX + def drawCursorMaskWithJournal(self, canvasJournal, eventDc): + for patch in canvasJournal.popCursor(): + self.drawPatch(eventDc, patch) + # }}} + # {{{ getDeviceContext(self, parentWindow): XXX + def getDeviceContext(self, parentWindow): + eventDc = wx.BufferedDC( \ + wx.ClientDC(parentWindow), self.canvasBitmap) + self._lastBrushBg = self._lastBrushFg = self._lastPen = None; + return eventDc + # }}} + # {{{ onPanelPaintEvent(self, panelWindow, panelEvent): XXX + def onPanelPaintEvent(self, panelWindow, panelEvent): + if self.canvasBitmap != None: + eventDc = wx.BufferedPaintDC(panelWindow, self.canvasBitmap) + # }}} + # {{{ reset(self, canvasSize, cellSize): + def reset(self, canvasSize, cellSize): + self.resize(canvasSize, cellSize) + # }}} + # {{{ resize(self, canvasSize, cellSize): + def resize(self, canvasSize, cellSize): + winSize = [a*b for a,b in zip(canvasSize, cellSize)] + if self.canvasBitmap == None: + self.canvasBitmap = wx.Bitmap(winSize) + else: + oldDc = wx.MemoryDC() + oldDc.SelectObject(self.canvasBitmap) + newDc = wx.MemoryDC() + newBitmap = wx.Bitmap(winSize) + newDc.SelectObject(newBitmap) + newDc.Blit(0, 0, *self.canvasBitmap.GetSize(), oldDc, 0, 0) + oldDc.SelectObject(wx.NullBitmap) + self.canvasBitmap.Destroy(); self.canvasBitmap = newBitmap; + self.canvasSize = canvasSize; self.cellSize = cellSize; + self._font = wx.Font( \ + 8, \ + wx.FONTFAMILY_TELETYPE, \ + wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL) + # }}} + # {{{ xlateEventPoint(self, event, eventDc): XXX + def xlateEventPoint(self, event, eventDc): + eventPoint = event.GetLogicalPosition(eventDc) + rectX = eventPoint.x - (eventPoint.x % self.cellSize[0]) + rectY = eventPoint.y - (eventPoint.y % self.cellSize[1]) + mapX = int(rectX / self.cellSize[0] if rectX else 0) + mapY = int(rectY / self.cellSize[1] if rectY else 0) + return (mapX, mapY) + # }}} + + # {{{ __del__(self): destructor method + def __del__(self): + if self.canvasBitmap != None: + self.canvasBitmap.Destroy(); self.canvasBitmap = None; + self._finiBrushesAndPens() + # }}} + + # + # __init__(self, canvasSize, cellSize): initialisation method + def __init__(self, canvasSize, cellSize): + self._initBrushesAndPens() + self.reset(canvasSize, cellSize) + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libcanvas/MiRCARTCanvasExportStore.py b/libcanvas/MiRCARTCanvasExportStore.py new file mode 100644 index 0000000..db6eb96 --- /dev/null +++ b/libcanvas/MiRCARTCanvasExportStore.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python3 +# +# MiRCARTCanvasExportStore.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +import io, os, tempfile + +try: + from MiRCARTToPngFile import MiRCARTToPngFile + haveMiRCARTToPngFile = True +except ImportError: + haveMiRCARTToPngFile = False + +try: + import base64, json, requests, urllib.request + haveUrllib = True +except ImportError: + haveUrllib = False + +class MiRCARTCanvasExportStore(): + """XXX""" + parentCanvas = None + + # {{{ _exportFileToImgur(self, apiKey, imgName, imgTitle, pathName): upload single PNG file to Imgur + def _exportFileToImgur(self, apiKey, imgName, imgTitle, pathName): + with open(pathName, "rb") as requestImage: + requestImageData = requestImage.read() + requestData = { \ + "image": base64.b64encode(requestImageData), \ + "key": apiKey, \ + "name": imgName, \ + "title": imgTitle, \ + "type": "base64"} + requestHeaders = {"Authorization": "Client-ID " + apiKey} + responseHttp = requests.post( \ + "https://api.imgur.com/3/upload.json", \ + data=requestData, headers=requestHeaders) + responseDict = json.loads(responseHttp.text) + if responseHttp.status_code == 200: + return [200, responseDict.get("data").get("link")] + else: + return [responseHttp.status_code, ""] + # }}} + + # {{{ exportBitmapToPngFile(self, canvasBitmap, outPathName, outType): XXX + def exportBitmapToPngFile(self, canvasBitmap, outPathName, outType): + return canvasBitmap.ConvertToImage().SaveFile(outPathName, outType) + # }}} + # {{{ exportBitmapToImgur(self, apiKey, canvasBitmap, imgName, imgTitle, imgType): XXX + def exportBitmapToImgur(self, apiKey, canvasBitmap, imgName, imgTitle, imgType): + tmpPathName = tempfile.mkstemp() + os.close(tmpPathName[0]) + canvasBitmap.ConvertToImage().SaveFile(tmpPathName[1], imgType) + imgurResult = self._exportFileToImgur(apiKey, imgName, imgTitle, tmpPathName[1]) + os.remove(tmpPathName[1]) + return imgurResult + # }}} + # {{{ exportPastebin(self, apiDevKey, canvasMap, canvasSize, pasteName="", pastePrivate=0): XXX + def exportPastebin(self, apiDevKey, canvasMap, canvasSize, pasteName="", pastePrivate=0): + if haveUrllib: + outFile = io.StringIO() + self.exportTextFile(canvasMap, canvasSize, outFile) + requestData = { \ + "api_dev_key": apiDevKey, \ + "api_option": "paste", \ + "api_paste_code": outFile.getvalue().encode(), \ + "api_paste_name": pasteName, \ + "api_paste_private": pastePrivate} + responseHttp = requests.post("https://pastebin.com/api/api_post.php", \ + data=requestData) + if responseHttp.status_code == 200: + if responseHttp.text.startswith("http"): + return (True, responseHttp.text) + else: + return (False, responseHttp.text) + else: + return (False, str(responseHttp.status_code)) + else: + return (False, "missing requests and/or urllib3 module(s)") + # }}} + # {{{ exportPngFile(self, canvasMap, outPathName): XXX + def exportPngFile(self, canvasMap, outPathName): + if haveMiRCARTToPngFile: + MiRCARTToPngFile(canvasMap).export(outPathName) + return True + else: + return False + # }}} + # {{{ exportTextFile(self, canvasMap, canvasSize, outFile): XXX + def exportTextFile(self, canvasMap, canvasSize, outFile): + for canvasRow in range(canvasSize[1]): + canvasLastColours = [] + for canvasCol in range(canvasSize[0]): + canvasColColours = canvasMap[canvasRow][canvasCol][0] + canvasColText = canvasMap[canvasRow][canvasCol][2] + if canvasColColours != canvasLastColours: + canvasLastColours = canvasColColours + outFile.write("\x03" + \ + str(canvasColColours[0]) + \ + "," + str(canvasColColours[1])) + outFile.write(canvasColText) + outFile.write("\n") + # }}} + + # + # __init__(self, parentCanvas): initialisation method + def __init__(self, parentCanvas): + self.parentCanvas = parentCanvas + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/MiRCART-python/MiRCARTCanvasImportStore.py b/libcanvas/MiRCARTCanvasImportStore.py similarity index 100% rename from MiRCART-python/MiRCARTCanvasImportStore.py rename to libcanvas/MiRCARTCanvasImportStore.py diff --git a/libcanvas/MiRCARTCanvasInterface.py b/libcanvas/MiRCARTCanvasInterface.py new file mode 100644 index 0000000..5b1c8d5 --- /dev/null +++ b/libcanvas/MiRCARTCanvasInterface.py @@ -0,0 +1,335 @@ +#!/usr/bin/env python3 +# +# MiRCARTCanvasInterface.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTToolCircle import MiRCARTToolCircle +from MiRCARTToolFill import MiRCARTToolFill +from MiRCARTToolLine import MiRCARTToolLine +from MiRCARTToolSelectClone import MiRCARTToolSelectClone +from MiRCARTToolSelectMove import MiRCARTToolSelectMove +from MiRCARTToolRect import MiRCARTToolRect +from MiRCARTToolText import MiRCARTToolText + +import os, wx + +class MiRCARTCanvasInterface(): + """XXX""" + imgurApiKey = None + parentCanvas = parentFrame = canvasPathName = canvasTool = None + + # {{{ _dialogSaveChanges(self) + def _dialogSaveChanges(self): + with wx.MessageDialog(self.parentCanvas, \ + "Do you want to save changes to {}?".format( \ + self.canvasPathName), "MiRCART", \ + wx.CANCEL|wx.CANCEL_DEFAULT|wx.ICON_QUESTION|wx.YES_NO) as dialog: + dialogChoice = dialog.ShowModal() + return dialogChoice + # }}} + + # {{{ canvasBrushSolid(self, event): XXX + def canvasBrushSolid(self, event): + pass + # }}} + # {{{ canvasColour(self, event, numColour): XXX + def canvasColour(self, event, numColour): + if event.GetEventType() == wx.wxEVT_TOOL: + self.parentCanvas.brushColours[0] = numColour + elif event.GetEventType() == wx.wxEVT_TOOL_RCLICKED: + self.parentCanvas.brushColours[1] = numColour + self.parentFrame.onCanvasUpdate(colours=self.parentCanvas.brushColours) + # }}} + # {{{ canvasCopy(self, event): XXX + def canvasCopy(self, event): + pass + # }}} + # {{{ canvasCut(self, event): XXX + def canvasCut(self, event): + pass + # }}} + # {{{ canvasDecrBrushHeight(self, event): XXX + def canvasDecrBrushHeight(self, event): + if self.parentCanvas.brushSize[1] > 1: + self.parentCanvas.brushSize[1] -= 1 + self.parentFrame.onCanvasUpdate(brushSize=self.parentCanvas.brushSize) + # }}} + # {{{ canvasDecrBrushHeightWidth(self, event): XXX + def canvasDecrBrushHeightWidth(self, event): + self.canvasDecrBrushHeight(event) + self.canvasDecrBrushWidth(event) + # }}} + # {{{ canvasDecrBrushWidth(self, event): XXX + def canvasDecrBrushWidth(self, event): + if self.parentCanvas.brushSize[0] > 1: + self.parentCanvas.brushSize[0] -= 1 + self.parentFrame.onCanvasUpdate(brushSize=self.parentCanvas.brushSize) + # }}} + # {{{ canvasDecrCanvasHeight(self, event): XXX + def canvasDecrCanvasHeight(self, event): + if self.parentCanvas.canvasSize[1] > 1: + self.parentCanvas.resize([ \ + self.parentCanvas.canvasSize[0], \ + self.parentCanvas.canvasSize[1]-1]) + # }}} + # {{{ canvasDecrCanvasHeightWidth(self, event): XXX + def canvasDecrCanvasHeightWidth(self, event): + self.canvasDecrCanvasHeight(event) + self.canvasDecrCanvasWidth(event) + # }}} + # {{{ canvasDecrCanvasWidth(self, event): XXX + def canvasDecrCanvasWidth(self, event): + if self.parentCanvas.canvasSize[0] > 1: + self.parentCanvas.resize([ \ + self.parentCanvas.canvasSize[0]-1, \ + self.parentCanvas.canvasSize[1]]) + # }}} + # {{{ canvasDelete(self, event): XXX + def canvasDelete(self, event): + pass + # }}} + # {{{ canvasExit(self, event): XXX + def canvasExit(self, event): + if self.canvasPathName != None: + saveChanges = self._dialogSaveChanges() + if saveChanges == wx.ID_CANCEL: + return + elif saveChanges == wx.ID_NO: + pass + elif saveChanges == wx.ID_YES: + self.canvasSave(event) + self.parentFrame.Close(True) + # }}} + # {{{ canvasExportAsPng(self, event): XXX + def canvasExportAsPng(self, event): + with wx.FileDialog(self, "Save As...", os.getcwd(), "", \ + "*.png", wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) as dialog: + if dialog.ShowModal() == wx.ID_CANCEL: + return False + else: + outPathName = dialog.GetPath() + self.parentCanvas.SetCursor(wx.Cursor(wx.CURSOR_WAIT)) + self.parentCanvas.canvasExportStore.exportBitmapToPngFile( \ + self.parentCanvas.canvasBackend.canvasBitmap, outPathName, \ + wx.BITMAP_TYPE_PNG) + self.parentCanvas.SetCursor(wx.Cursor(wx.NullCursor)) + return True + # }}} + # {{{ canvasExportImgur(self, event): XXX + def canvasExportImgur(self, event): + self.parentCanvas.SetCursor(wx.Cursor(wx.CURSOR_WAIT)) + imgurResult = self.parentCanvas.canvasExportStore.exportBitmapToImgur( \ + self.imgurApiKey, self.parentCanvas.canvasBackend.canvasBitmap, \ + "", "", wx.BITMAP_TYPE_PNG) + self.parentCanvas.SetCursor(wx.Cursor(wx.NullCursor)) + if imgurResult[0] == 200: + if not wx.TheClipboard.IsOpened(): + wx.TheClipboard.Open() + wx.TheClipboard.SetData(wx.TextDataObject(imgurResult[1])) + wx.TheClipboard.Close() + wx.MessageBox("Exported to Imgur: " + imgurResult[1], \ + "Export to Imgur", wx.OK|wx.ICON_INFORMATION) + else: + wx.MessageBox("Failed to export to Imgur: " + imgurResult[1], \ + "Export to Imgur", wx.OK|wx.ICON_EXCLAMATION) + # }}} + # {{{ canvasExportPastebin(self, event): XXX + def canvasExportPastebin(self, event): + self.parentCanvas.SetCursor(wx.Cursor(wx.CURSOR_WAIT)) + pasteStatus, pasteResult = \ + self.parentCanvas.canvasExportStore.exportPastebin( \ + "253ce2f0a45140ee0a44ca99aa49260", \ + self.parentCanvas.canvasMap, \ + self.parentCanvas.canvasSize) + self.parentCanvas.SetCursor(wx.Cursor(wx.NullCursor)) + if pasteStatus: + if not wx.TheClipboard.IsOpened(): + wx.TheClipboard.Open() + wx.TheClipboard.SetData(wx.TextDataObject(pasteResult)) + wx.TheClipboard.Close() + wx.MessageBox("Exported to Pastebin: " + pasteResult, \ + "Export to Pastebin", wx.OK|wx.ICON_INFORMATION) + else: + wx.MessageBox("Failed to export to Pastebin: " + pasteResult, \ + "Export to Pastebin", wx.OK|wx.ICON_EXCLAMATION) + # }}} + # {{{ canvasIncrBrushHeight(self, event): XXX + def canvasIncrBrushHeight(self, event): + self.parentCanvas.brushSize[1] += 1 + self.parentFrame.onCanvasUpdate(brushSize=self.parentCanvas.brushSize) + # }}} + # {{{ canvasIncrBrushHeightWidth(self, event): XXX + def canvasIncrBrushHeightWidth(self, event): + self.canvasIncrBrushHeight(event) + self.canvasIncrBrushWidth(event) + # }}} + # {{{ canvasIncrBrushWidth(self, event): XXX + def canvasIncrBrushWidth(self, event): + self.parentCanvas.brushSize[0] += 1 + self.parentFrame.onCanvasUpdate(brushSize=self.parentCanvas.brushSize) + # }}} + # {{{ canvasIncrCanvasHeight(self, event): XXX + def canvasIncrCanvasHeight(self, event): + self.parentCanvas.resize([ \ + self.parentCanvas.canvasSize[0], \ + self.parentCanvas.canvasSize[1]+1]) + # }}} + # {{{ canvasIncrCanvasHeightWidth(self, event): XXX + def canvasIncrCanvasHeightWidth(self, event): + self.canvasIncrCanvasHeight(event) + self.canvasIncrCanvasWidth(event) + # }}} + # {{{ canvasIncrCanvasWidth(self, event): XXX + def canvasIncrCanvasWidth(self, event): + self.parentCanvas.resize([ \ + self.parentCanvas.canvasSize[0]+1, \ + self.parentCanvas.canvasSize[1]]) + # }}} + # {{{ canvasNew(self, event, newCanvasSize=None): XXX + def canvasNew(self, event, newCanvasSize=None): + if self.canvasPathName != None: + saveChanges = self._dialogSaveChanges() + if saveChanges == wx.ID_CANCEL: + return + elif saveChanges == wx.ID_NO: + pass + elif saveChanges == wx.ID_YES: + self.canvasSave(event) + self.parentCanvas.SetCursor(wx.Cursor(wx.CURSOR_WAIT)) + if newCanvasSize == None: + newCanvasSize = list(self.parentCanvas.defaultCanvasSize) + self.parentCanvas.canvasImportStore.importNew(newCanvasSize) + self.canvasPathName = None + self.parentCanvas.SetCursor(wx.Cursor(wx.NullCursor)) + self.parentFrame.onCanvasUpdate(pathName="", undoLevel=-1) + # }}} + # {{{ canvasOpen(self, event): XXX + def canvasOpen(self, event): + if self.canvasPathName != None: + saveChanges = self._dialogSaveChanges() + if saveChanges == wx.ID_CANCEL: + return + elif saveChanges == wx.ID_NO: + pass + elif saveChanges == wx.ID_YES: + self.canvasSave(event) + with wx.FileDialog(self.parentCanvas, "Open", os.getcwd(), "", \ + "*.txt", wx.FD_OPEN) as dialog: + if dialog.ShowModal() == wx.ID_CANCEL: + return False + else: + self.canvasPathName = dialog.GetPath() + self.parentCanvas.SetCursor(wx.Cursor(wx.CURSOR_WAIT)) + self.parentCanvas.canvasImportStore.importTextFile(self.canvasPathName) + self.parentCanvas.canvasImportStore.importIntoPanel() + self.parentCanvas.SetCursor(wx.Cursor(wx.NullCursor)) + self.parentFrame.onCanvasUpdate( \ + pathName=self.canvasPathName, undoLevel=-1) + return True + # }}} + # {{{ canvasPaste(self, event): XXX + def canvasPaste(self, event): + pass + # }}} + # {{{ canvasRedo(self, event): XXX + def canvasRedo(self, event): + self.parentCanvas._dispatchDeltaPatches( \ + self.parentCanvas.canvasJournal.popRedo()) + # }}} + # {{{ canvasSave(self, event): XXX + def canvasSave(self, event): + if self.canvasPathName == None: + if self.canvasSaveAs(event) == False: + return + try: + with open(self.canvasPathName, "w") as outFile: + self.parentCanvas.SetCursor(wx.Cursor(wx.CURSOR_WAIT)) + self.parentCanvas.canvasExportStore.exportTextFile( \ + self.parentCanvas.canvasMap, \ + self.parentCanvas.canvasSize, outFile) + self.parentCanvas.SetCursor(wx.Cursor(wx.NullCursor)) + return True + except IOError as error: + return False + # }}} + # {{{ canvasSaveAs(self, event): XXX + def canvasSaveAs(self, event): + with wx.FileDialog(self.parentCanvas, "Save As", os.getcwd(), "", \ + "*.txt", wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) as dialog: + if dialog.ShowModal() == wx.ID_CANCEL: + return False + else: + self.canvasPathName = dialog.GetPath() + return self.canvasSave(event) + # }}} + # {{{ canvasToolCircle(self, event): XXX + def canvasToolCircle(self, event): + self.canvasTool = MiRCARTToolCircle(self.parentCanvas) + self.parentFrame.menuItemsById[self.parentFrame.CID_CIRCLE[0]].Check(True) + toolBar = self.parentFrame.toolBarItemsById[self.parentFrame.CID_CIRCLE[0]].GetToolBar() + toolBar.ToggleTool(self.parentFrame.CID_CIRCLE[0], True) + self.parentFrame.onCanvasUpdate(toolName=self.canvasTool.name) + # }}} + # {{{ canvasToolFill(self, event): XXX + def canvasToolFill(self, event): + self.canvasTool = MiRCARTToolFill(self.parentCanvas) + self.parentFrame.menuItemsById[self.parentFrame.CID_FILL[0]].Check(True) + toolBar = self.parentFrame.toolBarItemsById[self.parentFrame.CID_FILL[0]].GetToolBar() + toolBar.ToggleTool(self.parentFrame.CID_FILL[0], True) + self.parentFrame.onCanvasUpdate(toolName=self.canvasTool.name) + # }}} + # {{{ canvasToolLine(self, event): XXX + def canvasToolLine(self, event): + self.canvasTool = MiRCARTToolLine(self.parentCanvas) + self.parentFrame.menuItemsById[self.parentFrame.CID_LINE[0]].Check(True) + toolBar = self.parentFrame.toolBarItemsById[self.parentFrame.CID_LINE[0]].GetToolBar() + toolBar.ToggleTool(self.parentFrame.CID_LINE[0], True) + self.parentFrame.onCanvasUpdate(toolName=self.canvasTool.name) + # }}} + # {{{ canvasToolSelectClone(self, event): XXX + def canvasToolSelectClone(self, event): + self.canvasTool = MiRCARTToolSelectClone(self.parentCanvas) + self.parentFrame.menuItemsById[self.parentFrame.CID_CLONE_SELECT[0]].Check(True) + toolBar = self.parentFrame.toolBarItemsById[self.parentFrame.CID_CLONE_SELECT[0]].GetToolBar() + toolBar.ToggleTool(self.parentFrame.CID_CLONE_SELECT[0], True) + self.parentFrame.onCanvasUpdate(toolName=self.canvasTool.name) + # }}} + # {{{ canvasToolSelectMove(self, event): XXX + def canvasToolSelectMove(self, event): + self.canvasTool = MiRCARTToolSelectMove(self.parentCanvas) + self.parentFrame.menuItemsById[self.parentFrame.CID_MOVE_SELECT[0]].Check(True) + toolBar = self.parentFrame.toolBarItemsById[self.parentFrame.CID_MOVE_SELECT[0]].GetToolBar() + toolBar.ToggleTool(self.parentFrame.CID_MOVE_SELECT[0], True) + self.parentFrame.onCanvasUpdate(toolName=self.canvasTool.name) + # }}} + # {{{ canvasToolRect(self, event): XXX + def canvasToolRect(self, event): + self.canvasTool = MiRCARTToolRect(self.parentCanvas) + self.parentFrame.menuItemsById[self.parentFrame.CID_RECT[0]].Check(True) + toolBar = self.parentFrame.toolBarItemsById[self.parentFrame.CID_RECT[0]].GetToolBar() + toolBar.ToggleTool(self.parentFrame.CID_RECT[0], True) + self.parentFrame.onCanvasUpdate(toolName=self.canvasTool.name) + # }}} + # {{{ canvasToolText(self, event): XXX + def canvasToolText(self, event): + self.canvasTool = MiRCARTToolText(self.parentCanvas) + self.parentFrame.menuItemsById[self.parentFrame.CID_TEXT[0]].Check(True) + toolBar = self.parentFrame.toolBarItemsById[self.parentFrame.CID_TEXT[0]].GetToolBar() + toolBar.ToggleTool(self.parentFrame.CID_TEXT[0], True) + self.parentFrame.onCanvasUpdate(toolName=self.canvasTool.name) + # }}} + # {{{ canvasUndo(self, event): XXX + def canvasUndo(self, event): + self.parentCanvas._dispatchDeltaPatches( \ + self.parentCanvas.canvasJournal.popUndo()) + # }}} + + # + # __init__(self, parentCanvas, parentFrame): + def __init__(self, parentCanvas, parentFrame): + self.parentCanvas = parentCanvas; self.parentFrame = parentFrame; + self.canvasPathName = None + self.canvasToolRect(None) + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libcanvas/MiRCARTCanvasJournal.py b/libcanvas/MiRCARTCanvasJournal.py new file mode 100644 index 0000000..a198cac --- /dev/null +++ b/libcanvas/MiRCARTCanvasJournal.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +# +# MiRCARTCanvasJournal.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +class MiRCARTCanvasJournal(): + """XXX""" + patchesCursor = patchesUndo = patchesUndoLevel = None + + # {{{ popCursor(self): XXX + def popCursor(self): + if len(self.patchesCursor): + patchesCursor = self.patchesCursor + self.patchesCursor = [] + return patchesCursor + else: + return [] + # }}} + # {{{ popRedo(self): XXX + def popRedo(self): + if self.patchesUndoLevel > 0: + self.patchesUndoLevel -= 1 + patches = self.patchesUndo[self.patchesUndoLevel] + return patches[1] + else: + return [] + # }}} + # {{{ popUndo(self): XXX + def popUndo(self): + if self.patchesUndo[self.patchesUndoLevel] != None: + patches = self.patchesUndo[self.patchesUndoLevel] + self.patchesUndoLevel += 1 + return patches[0] + else: + return [] + # }}} + # {{{ pushCursor(self, patches): XXX + def pushCursor(self, patches): + self.patchesCursor.append(patches) + # }}} + # {{{ pushDeltas(self, undoPatches, redoPatches): XXX + def pushDeltas(self, undoPatches, redoPatches): + if self.patchesUndoLevel > 0: + del self.patchesUndo[0:self.patchesUndoLevel] + self.patchesUndoLevel = 0 + deltaItem = [undoPatches, redoPatches] + self.patchesUndo.insert(0, deltaItem) + return deltaItem + # }}} + # {{{ resetCursor(self): XXX + def resetCursor(self): + if self.patchesCursor != None: + self.patchesCursor.clear() + self.patchesCursor = [] + # }}} + # {{{ resetUndo(self): XXX + def resetUndo(self): + if self.patchesUndo != None: + self.patchesUndo.clear() + self.patchesUndo = [None]; self.patchesUndoLevel = 0; + # }}} + # {{{ updateCurrentDeltas(self, undoPatches, redoPatches): XXX + def updateCurrentDeltas(self, undoPatches, redoPatches): + self.patchesUndo[0][0].append(undoPatches) + self.patchesUndo[0][1].append(redoPatches) + # }}} + + # {{{ __del__(self): destructor method + def __del__(self): + self.resetCursor(); self.resetUndo(); + # }}} + + # + # __init__(self): initialisation method + def __init__(self): + self.resetCursor(); self.resetUndo(); + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libcanvas/MiRCARTColours.py b/libcanvas/MiRCARTColours.py new file mode 100644 index 0000000..b13e1c1 --- /dev/null +++ b/libcanvas/MiRCARTColours.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +# +# MiRCARTColours.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +# +# MiRCARTColours: mIRC colour number to RGBA map given none of ^[BFV_] (bold, italic, reverse, underline], +# +MiRCARTColours = [ + [255, 255, 255, 255, "White"], + [0, 0, 0, 255, "Black"], + [0, 0, 187, 255, "Blue"], + [0, 187, 0, 255, "Green"], + [255, 85, 85, 255, "Light Red"], + [187, 0, 0, 255, "Red"], + [187, 0, 187, 255, "Purple"], + [187, 187, 0, 255, "Yellow"], + [255, 255, 85, 255, "Light Yellow"], + [85, 255, 85, 255, "Light Green"], + [0, 187, 187, 255, "Cyan"], + [85, 255, 255, 255, "Light Cyan"], + [85, 85, 255, 255, "Light Blue"], + [255, 85, 255, 255, "Pink"], + [85, 85, 85, 255, "Grey"], + [187, 187, 187, 255, "Light Grey"], +] + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libgui/MiRCARTFrame.py b/libgui/MiRCARTFrame.py new file mode 100644 index 0000000..80b25c1 --- /dev/null +++ b/libgui/MiRCARTFrame.py @@ -0,0 +1,234 @@ +#!/usr/bin/env python3 +# +# MiRCARTFrame.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTCanvas import MiRCARTCanvas, haveUrllib +from MiRCARTCanvasInterface import MiRCARTCanvasInterface +from MiRCARTColours import MiRCARTColours +from MiRCARTGeneralFrame import MiRCARTGeneralFrame, \ + TID_ACCELS, TID_COMMAND, TID_LIST, TID_MENU, TID_NOTHING, TID_SELECT, TID_TOOLBAR, \ + NID_MENU_SEP, NID_TOOLBAR_HSEP, NID_TOOLBAR_VSEP + +import os, wx + +class MiRCARTFrame(MiRCARTGeneralFrame): + """XXX""" + panelCanvas = None; lastPanelState = {}; + + # {{{ Commands + # Id Type Id Labels Icon bitmap Accelerator [Initial state] + CID_NEW = [0x100, TID_COMMAND, "New", "&New", ["", wx.ART_NEW], [wx.ACCEL_CTRL, ord("N")], None, MiRCARTCanvasInterface.canvasNew] + CID_OPEN = [0x101, TID_COMMAND, "Open", "&Open", ["", wx.ART_FILE_OPEN], [wx.ACCEL_CTRL, ord("O")], None, MiRCARTCanvasInterface.canvasOpen] + CID_SAVE = [0x102, TID_COMMAND, "Save", "&Save", ["", wx.ART_FILE_SAVE], [wx.ACCEL_CTRL, ord("S")], None, MiRCARTCanvasInterface.canvasSave] + CID_SAVEAS = [0x103, TID_COMMAND, "Save As...", "Save &As...", ["", wx.ART_FILE_SAVE_AS], None, None, MiRCARTCanvasInterface.canvasSaveAs] + CID_EXPORT_AS_PNG = [0x104, TID_COMMAND, "Export as PNG...", \ + "Export as PN&G...", None, None, None, MiRCARTCanvasInterface.canvasExportAsPng] + CID_EXPORT_IMGUR = [0x105, TID_COMMAND, "Export to Imgur...", \ + "Export to I&mgur...", None, None, haveUrllib, MiRCARTCanvasInterface.canvasExportImgur] + CID_EXPORT_PASTEBIN = [0x106, TID_COMMAND, "Export to Pastebin...", \ + "Export to Pasteb&in...", None, None, haveUrllib, MiRCARTCanvasInterface.canvasExportPastebin] + CID_EXIT = [0x107, TID_COMMAND, "Exit", "E&xit", None, [wx.ACCEL_CTRL, ord("X")], None, MiRCARTCanvasInterface.canvasExit] + CID_UNDO = [0x108, TID_COMMAND, "Undo", "&Undo", ["", wx.ART_UNDO], [wx.ACCEL_CTRL, ord("Z")], False, MiRCARTCanvasInterface.canvasUndo] + CID_REDO = [0x109, TID_COMMAND, "Redo", "&Redo", ["", wx.ART_REDO], [wx.ACCEL_CTRL, ord("Y")], False, MiRCARTCanvasInterface.canvasRedo] + CID_CUT = [0x10a, TID_COMMAND, "Cut", "Cu&t", ["", wx.ART_CUT], None, False, MiRCARTCanvasInterface.canvasCut] + CID_COPY = [0x10b, TID_COMMAND, "Copy", "&Copy", ["", wx.ART_COPY], None, False, MiRCARTCanvasInterface.canvasCopy] + CID_PASTE = [0x10c, TID_COMMAND, "Paste", "&Paste", ["", wx.ART_PASTE], None, False, MiRCARTCanvasInterface.canvasPaste] + CID_DELETE = [0x10d, TID_COMMAND, "Delete", "De&lete", ["", wx.ART_DELETE], None, False, MiRCARTCanvasInterface.canvasDelete] + CID_INCRW_CANVAS = [0x10e, TID_COMMAND, "Increase canvas width", \ + "Increase canvas width", ["toolIncrCanvasW.png"], None, None, MiRCARTCanvasInterface.canvasIncrCanvasWidth] + CID_DECRW_CANVAS = [0x10f, TID_COMMAND, "Decrease canvas width", \ + "Decrease canvas width", ["toolDecrCanvasW.png"], None, None, MiRCARTCanvasInterface.canvasDecrCanvasWidth] + CID_INCRH_CANVAS = [0x110, TID_COMMAND, "Increase canvas height", \ + "Increase canvas height", ["toolIncrCanvasH.png"], None, None, MiRCARTCanvasInterface.canvasIncrCanvasHeight] + CID_DECRH_CANVAS = [0x111, TID_COMMAND, "Decrease canvas height", \ + "Decrease canvas height", ["toolDecrCanvasH.png"], None, None, MiRCARTCanvasInterface.canvasDecrCanvasHeight] + CID_INCRHW_CANVAS = [0x112, TID_COMMAND, "Increase canvas size", \ + "Increase canvas size", ["toolIncrCanvasHW.png"], None, None, MiRCARTCanvasInterface.canvasIncrCanvasHeightWidth] + CID_DECRHW_CANVAS = [0x113, TID_COMMAND, "Decrease canvas size", \ + "Decrease canvas size", ["toolDecrCanvasHW.png"], None, None, MiRCARTCanvasInterface.canvasDecrCanvasHeightWidth] + CID_INCRW_BRUSH = [0x114, TID_COMMAND, "Increase brush width", \ + "Increase brush width", ["toolIncrBrushW.png"], None, None, MiRCARTCanvasInterface.canvasIncrBrushWidth] + CID_DECRW_BRUSH = [0x115, TID_COMMAND, "Decrease brush width", \ + "Decrease brush width", ["toolDecrBrushW.png"], None, None, MiRCARTCanvasInterface.canvasDecrBrushWidth] + CID_INCRH_BRUSH = [0x116, TID_COMMAND, "Increase brush height", \ + "Increase brush height", ["toolIncrBrushH.png"], None, None, MiRCARTCanvasInterface.canvasIncrBrushHeight] + CID_DECRH_BRUSH = [0x117, TID_COMMAND, "Decrease brush height", \ + "Decrease brush height", ["toolDecrBrushH.png"], None, None, MiRCARTCanvasInterface.canvasDecrBrushHeight] + CID_INCRHW_BRUSH = [0x118, TID_COMMAND, "Increase brush size", \ + "Increase brush size", ["toolIncrBrushHW.png"], None, None, MiRCARTCanvasInterface.canvasIncrBrushHeightWidth] + CID_DECRHW_BRUSH = [0x119, TID_COMMAND, "Decrease brush size", \ + "Decrease brush size", ["toolDecrBrushHW.png"], None, None, MiRCARTCanvasInterface.canvasDecrBrushHeightWidth] + CID_SOLID_BRUSH = [0x11a, TID_SELECT, "Solid brush", "Solid brush", None, None, True, MiRCARTCanvasInterface.canvasBrushSolid] + + CID_RECT = [0x150, TID_SELECT, "Rectangle", "&Rectangle", ["toolRect.png"], [wx.ACCEL_CTRL, ord("R")], True, MiRCARTCanvasInterface.canvasToolRect] + CID_CIRCLE = [0x151, TID_SELECT, "Circle", "&Circle", ["toolCircle.png"], [wx.ACCEL_CTRL, ord("C")], False, MiRCARTCanvasInterface.canvasToolCircle] + CID_FILL = [0x152, TID_SELECT, "Fill", "&Fill", ["toolFill.png"], [wx.ACCEL_CTRL, ord("F")], False, MiRCARTCanvasInterface.canvasToolFill] + CID_LINE = [0x153, TID_SELECT, "Line", "&Line", ["toolLine.png"], [wx.ACCEL_CTRL, ord("L")], False, MiRCARTCanvasInterface.canvasToolLine] + CID_TEXT = [0x154, TID_SELECT, "Text", "&Text", ["toolText.png"], [wx.ACCEL_CTRL, ord("T")], False, MiRCARTCanvasInterface.canvasToolText] + CID_CLONE_SELECT = [0x155, TID_SELECT, "Clone", "Cl&one", ["toolClone.png"], [wx.ACCEL_CTRL, ord("E")], False, MiRCARTCanvasInterface.canvasToolSelectClone] + CID_MOVE_SELECT = [0x156, TID_SELECT, "Move", "&Move", ["toolMove.png"], [wx.ACCEL_CTRL, ord("M")], False, MiRCARTCanvasInterface.canvasToolSelectMove] + + CID_COLOUR00 = [0x1a0, TID_SELECT, "Colour #00", "Colour #00", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR01 = [0x1a1, TID_SELECT, "Colour #01", "Colour #01", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR02 = [0x1a2, TID_SELECT, "Colour #02", "Colour #02", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR03 = [0x1a3, TID_SELECT, "Colour #03", "Colour #03", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR04 = [0x1a4, TID_SELECT, "Colour #04", "Colour #04", None, None, True, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR05 = [0x1a5, TID_SELECT, "Colour #05", "Colour #05", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR06 = [0x1a6, TID_SELECT, "Colour #06", "Colour #06", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR07 = [0x1a7, TID_SELECT, "Colour #07", "Colour #07", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR08 = [0x1a8, TID_SELECT, "Colour #08", "Colour #08", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR09 = [0x1a9, TID_SELECT, "Colour #09", "Colour #09", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR10 = [0x1aa, TID_SELECT, "Colour #10", "Colour #10", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR11 = [0x1ab, TID_SELECT, "Colour #11", "Colour #11", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR12 = [0x1ac, TID_SELECT, "Colour #12", "Colour #12", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR13 = [0x1ad, TID_SELECT, "Colour #13", "Colour #13", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR14 = [0x1ae, TID_SELECT, "Colour #14", "Colour #14", None, None, False, MiRCARTCanvasInterface.canvasColour] + CID_COLOUR15 = [0x1af, TID_SELECT, "Colour #15", "Colour #15", None, None, False, MiRCARTCanvasInterface.canvasColour] + # }}} + # {{{ Menus + MID_FILE = (0x300, TID_MENU, "File", "&File", ( \ + CID_NEW, CID_OPEN, CID_SAVE, CID_SAVEAS, NID_MENU_SEP, \ + CID_EXPORT_AS_PNG, CID_EXPORT_IMGUR, CID_EXPORT_PASTEBIN, NID_MENU_SEP, \ + CID_EXIT)) + MID_EDIT = (0x301, TID_MENU, "Edit", "&Edit", ( \ + CID_UNDO, CID_REDO, NID_MENU_SEP, \ + CID_CUT, CID_COPY, CID_PASTE, CID_DELETE, NID_MENU_SEP, \ + CID_INCRW_CANVAS, CID_DECRW_CANVAS, CID_INCRH_CANVAS, CID_DECRH_CANVAS, NID_MENU_SEP, \ + CID_INCRHW_CANVAS, CID_DECRHW_CANVAS, NID_MENU_SEP, \ + CID_INCRW_BRUSH, CID_DECRW_BRUSH, CID_INCRH_BRUSH, CID_DECRH_BRUSH, NID_MENU_SEP, \ + CID_INCRHW_BRUSH, CID_DECRHW_BRUSH, NID_MENU_SEP, \ + CID_SOLID_BRUSH)) + MID_TOOLS = (0x302, TID_MENU, "Tools", "&Tools", ( \ + CID_RECT, CID_CIRCLE, CID_FILL, CID_LINE, CID_TEXT, CID_CLONE_SELECT, CID_MOVE_SELECT)) + # }}} + # {{{ Toolbars + BID_TOOLBAR = (0x400, TID_TOOLBAR, ( \ + CID_NEW, CID_OPEN, CID_SAVE, CID_SAVEAS, NID_TOOLBAR_HSEP, \ + CID_UNDO, CID_REDO, NID_TOOLBAR_HSEP, \ + CID_CUT, CID_COPY, CID_PASTE, CID_DELETE, NID_TOOLBAR_HSEP, \ + CID_INCRW_CANVAS, CID_DECRW_CANVAS, CID_INCRH_CANVAS, CID_DECRH_CANVAS, NID_TOOLBAR_HSEP, \ + CID_INCRHW_CANVAS, CID_DECRHW_CANVAS, NID_TOOLBAR_HSEP, \ + CID_RECT, CID_CIRCLE, CID_FILL, CID_LINE, CID_TEXT, CID_CLONE_SELECT, CID_MOVE_SELECT, \ + NID_TOOLBAR_VSEP, \ + CID_COLOUR00, CID_COLOUR01, CID_COLOUR02, CID_COLOUR03, CID_COLOUR04, \ + CID_COLOUR05, CID_COLOUR06, CID_COLOUR07, CID_COLOUR08, CID_COLOUR09, \ + CID_COLOUR10, CID_COLOUR11, CID_COLOUR12, CID_COLOUR13, CID_COLOUR14, \ + CID_COLOUR15, NID_TOOLBAR_HSEP, \ + CID_INCRW_BRUSH, CID_DECRW_BRUSH, CID_INCRH_BRUSH, CID_DECRH_BRUSH, NID_TOOLBAR_HSEP, \ + CID_INCRHW_BRUSH, CID_DECRHW_BRUSH)) + # }}} + # {{{ Accelerators (hotkeys) + AID_EDIT = (0x500, TID_ACCELS, ( \ + CID_NEW, CID_OPEN, CID_SAVE, CID_EXIT, CID_UNDO, CID_REDO, \ + CID_RECT, CID_CIRCLE, CID_FILL, CID_LINE, CID_TEXT, CID_CLONE_SELECT, CID_MOVE_SELECT)) + # }}} + # {{{ Lists + LID_ACCELS = (0x600, TID_LIST, (AID_EDIT)) + LID_MENUS = (0x601, TID_LIST, (MID_FILE, MID_EDIT, MID_TOOLS)) + LID_TOOLBARS = (0x602, TID_LIST, (BID_TOOLBAR)) + # }}} + + # {{{ _initPaletteToolBitmaps(self): XXX + def _initPaletteToolBitmaps(self): + paletteDescr = ( \ + self.CID_COLOUR00, self.CID_COLOUR01, self.CID_COLOUR02, self.CID_COLOUR03, self.CID_COLOUR04, \ + self.CID_COLOUR05, self.CID_COLOUR06, self.CID_COLOUR07, self.CID_COLOUR08, self.CID_COLOUR09, \ + self.CID_COLOUR10, self.CID_COLOUR11, self.CID_COLOUR12, self.CID_COLOUR13, self.CID_COLOUR14, \ + self.CID_COLOUR15) + for numColour in range(len(paletteDescr)): + toolBitmapColour = MiRCARTColours[numColour][0:4] + toolBitmap = wx.Bitmap((16,16)) + toolBitmapDc = wx.MemoryDC(); toolBitmapDc.SelectObject(toolBitmap); + toolBitmapBrush = wx.Brush( \ + wx.Colour(toolBitmapColour), wx.BRUSHSTYLE_SOLID) + toolBitmapDc.SetBrush(toolBitmapBrush) + toolBitmapDc.SetBackground(toolBitmapBrush) + toolBitmapDc.SetPen(wx.Pen(wx.Colour(toolBitmapColour), 1)) + toolBitmapDc.DrawRectangle(0, 0, 16, 16) + paletteDescr[numColour][4] = ["", None, toolBitmap] + # }}} + + # {{{ onInput(self, event): XXX + def onInput(self, event): + eventId = event.GetId() + if eventId >= self.CID_COLOUR00[0] \ + and eventId <= self.CID_COLOUR15[0]: + numColour = eventId - self.CID_COLOUR00[0] + self.itemsById[eventId][7](self.panelCanvas.canvasInterface, event, numColour) + else: + self.itemsById[eventId][7](self.panelCanvas.canvasInterface, event) + # }}} + # {{{ onCanvasUpdate(self, newBrushSize=None, newCellPos=None, newColours=None, newPathName=None, newSize=None, newToolName=None, newUndoLevel=None): XXX + def onCanvasUpdate(self, **kwargs): + self.lastPanelState.update(kwargs) + textItems = [] + if "cellPos" in self.lastPanelState: + textItems.append("X: {:03d} Y: {:03d}".format( \ + *self.lastPanelState["cellPos"])) + if "size" in self.lastPanelState: + textItems.append("W: {:03d} H: {:03d}".format( \ + *self.lastPanelState["size"])) + if "brushSize" in self.lastPanelState: + textItems.append("Brush: {:02d}x{:02d}".format( \ + *self.lastPanelState["brushSize"])) + if "colours" in self.lastPanelState: + textItems.append("FG: {:02d}, BG: {:02d}".format( \ + *self.lastPanelState["colours"])) + textItems.append("{} on {}".format( \ + MiRCARTColours[self.lastPanelState["colours"][0]][4], \ + MiRCARTColours[self.lastPanelState["colours"][1]][4])) + if "pathName" in self.lastPanelState: + if self.lastPanelState["pathName"] != "": + basePathName = os.path.basename(self.lastPanelState["pathName"]) + textItems.append("Current file: {}".format(basePathName)) + self.SetTitle("{} - MiRCART".format(basePathName)) + else: + self.SetTitle("MiRCART") + if "toolName" in self.lastPanelState: + textItems.append("Current tool: {}".format( \ + self.lastPanelState["toolName"])) + self.statusBar.SetStatusText(" | ".join(textItems)) + if "undoLevel" in self.lastPanelState: + if self.lastPanelState["undoLevel"] >= 0: + self.menuItemsById[self.CID_UNDO[0]].Enable(True) + toolBar = self.toolBarItemsById[self.CID_UNDO[0]].GetToolBar() + toolBar.EnableTool(self.CID_UNDO[0], True) + else: + self.menuItemsById[self.CID_UNDO[0]].Enable(False) + toolBar = self.toolBarItemsById[self.CID_UNDO[0]].GetToolBar() + toolBar.EnableTool(self.CID_UNDO[0], False) + if self.lastPanelState["undoLevel"] > 0: + self.menuItemsById[self.CID_REDO[0]].Enable(True) + toolBar = self.toolBarItemsById[self.CID_REDO[0]].GetToolBar() + toolBar.EnableTool(self.CID_REDO[0], True) + else: + self.menuItemsById[self.CID_REDO[0]].Enable(False) + toolBar = self.toolBarItemsById[self.CID_REDO[0]].GetToolBar() + toolBar.EnableTool(self.CID_REDO[0], False) + # }}} + + # {{{ __del__(self): destructor method + def __del__(self): + if self.panelCanvas != None: + del self.panelCanvas; self.panelCanvas = None; + # }}} + + # + # __init__(self, parent, appSize=(840, 630), defaultCanvasPos=(0, 75), defaultCanvasSize=(100, 30), defaultCellSize=(7, 14)): initialisation method + def __init__(self, parent, appSize=(840, 630), defaultCanvasPos=(0, 75), defaultCanvasSize=(100, 30), defaultCellSize=(7, 14)): + self._initPaletteToolBitmaps() + self.panelSkin = super().__init__(parent, wx.ID_ANY, "MiRCART", size=appSize) + self.panelCanvas = MiRCARTCanvas(self.panelSkin, parentFrame=self, \ + defaultCanvasPos=defaultCanvasPos, \ + defaultCanvasSize=defaultCanvasSize, \ + defaultCellSize=defaultCellSize) + self.panelCanvas.canvasInterface.canvasNew(None) + self.sizerSkin.AddSpacer(5) + self.sizerSkin.Add(self.panelCanvas, 0, wx.ALL|wx.EXPAND, 14) + self.panelSkin.SetSizer(self.sizerSkin) + self.panelSkin.SetAutoLayout(1) + self.sizerSkin.Fit(self.panelSkin) + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libgui/MiRCARTGeneralFrame.py b/libgui/MiRCARTGeneralFrame.py new file mode 100644 index 0000000..6c6804a --- /dev/null +++ b/libgui/MiRCARTGeneralFrame.py @@ -0,0 +1,169 @@ +#!/usr/bin/env python3 +# +# MiRCARTGeneralFrame.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +import os, sys, wx + +# +# Types +TID_ACCELS = (0x001) +TID_COMMAND = (0x002) +TID_LIST = (0x003) +TID_MENU = (0x004) +TID_NOTHING = (0x005) +TID_SELECT = (0x006) +TID_TOOLBAR = (0x007) + +# +# Non-items +NID_MENU_SEP = (0x200, TID_NOTHING) +NID_TOOLBAR_HSEP = (0x201, TID_NOTHING) +NID_TOOLBAR_VSEP = (0x202, TID_NOTHING) + +class MiRCARTGeneralFrame(wx.Frame): + """XXX""" + accelItemsById = itemsById = menuItemsById = toolBarItemsById = None + statusBar = toolBars = None + panelSkin = sizerSkin = None + + # {{{ _initAccelTable(self, accelsDescr): XXX + def _initAccelTable(self, accelsDescr): + accelTableEntries = [wx.AcceleratorEntry() for n in range(len(accelsDescr[2]))] + self.accelItemsById = {} + for numAccel in range(len(accelsDescr[2])): + accelDescr = accelsDescr[2][numAccel] + if accelDescr[5] != None: + self.itemsById[accelDescr[0]] = accelDescr + accelTableEntries[numAccel].Set(*accelDescr[5], accelDescr[0]) + self.accelItemsById[accelDescr[0]] = accelTableEntries[numAccel] + self.Bind(wx.EVT_MENU, self.onInput, id=accelDescr[0]) + return accelTableEntries + # }}} + # {{{ _initMenus(self, menusDescr): XXX + def _initMenus(self, menusDescr): + self.menuItemsById = {}; menuBar = wx.MenuBar(); + for menuDescr in menusDescr: + menuWindow = wx.Menu() + for menuItem in menuDescr[4]: + if menuItem == NID_MENU_SEP: + menuWindow.AppendSeparator() + elif menuItem[1] == TID_SELECT: + self.itemsById[menuItem[0]] = menuItem + menuItemWindow = menuWindow.AppendRadioItem(menuItem[0], menuItem[3], menuItem[2]) + if menuItem[5] != None: + menuItemWindow.SetAccel(self.accelItemsById[menuItem[0]]) + self.menuItemsById[menuItem[0]] = menuItemWindow + self.Bind(wx.EVT_MENU, self.onInput, menuItemWindow) + if menuItem[6] != None: + menuItemWindow.Check(menuItem[6]) + else: + self.itemsById[menuItem[0]] = menuItem + menuItemWindow = menuWindow.Append(menuItem[0], menuItem[3], menuItem[2]) + if menuItem[5] != None: + menuItemWindow.SetAccel(self.accelItemsById[menuItem[0]]) + self.menuItemsById[menuItem[0]] = menuItemWindow + self.Bind(wx.EVT_MENU, self.onInput, menuItemWindow) + if menuItem[6] != None: + menuItemWindow.Enable(menuItem[6]) + menuBar.Append(menuWindow, menuDescr[3]) + return menuBar + # }}} + # {{{ _initToolBars(self, toolBarsDescr, panelSkin): XXX + def _initToolBars(self, toolBarsDescr, panelSkin): + self.toolBarItemsById = {} + self.sizerSkin = wx.BoxSizer(wx.VERTICAL) + self.toolBars = [None]; numToolBar = 0; + for toolBarItem in toolBarsDescr[2]: + if self.toolBars[numToolBar] == None: + self.toolBars[numToolBar] = \ + wx.ToolBar(panelSkin, -1, \ + style=wx.HORIZONTAL|wx.TB_FLAT|wx.TB_NODIVIDER) + self.toolBars[numToolBar].SetToolBitmapSize((16,16)) + if toolBarItem == NID_TOOLBAR_HSEP: + self.toolBars[numToolBar].AddSeparator() + elif toolBarItem == NID_TOOLBAR_VSEP: + numToolBar += 1; self.toolBars.append(None); + elif toolBarItem[1] == TID_SELECT: + self.itemsById[toolBarItem[0]] = toolBarItem + toolBarItemWindow = \ + self.toolBars[numToolBar].AddRadioTool( \ + toolBarItem[0], toolBarItem[2], toolBarItem[4][2]) + self.toolBarItemsById[toolBarItem[0]] = toolBarItemWindow + if toolBarItem[6] != None: + toolBarItemWindow.Toggle(toolBarItem[6]) + self.Bind(wx.EVT_TOOL, self.onInput, toolBarItemWindow) + self.Bind(wx.EVT_TOOL_RCLICKED, self.onInput, toolBarItemWindow) + else: + self.itemsById[toolBarItem[0]] = toolBarItem + toolBarItemWindow = \ + self.toolBars[numToolBar].AddTool( \ + toolBarItem[0], toolBarItem[2], toolBarItem[4][2]) + self.toolBarItemsById[toolBarItem[0]] = toolBarItemWindow + if toolBarItem[6] != None: + toolBarItemWindow.Enable(toolBarItem[6]) + self.Bind(wx.EVT_TOOL, self.onInput, toolBarItemWindow) + self.Bind(wx.EVT_TOOL_RCLICKED, self.onInput, toolBarItemWindow) + for numToolBar in range(len(self.toolBars)): + self.sizerSkin.Add( \ + self.toolBars[numToolBar], 0, wx.ALL|wx.ALIGN_LEFT, 3) + self.toolBars[numToolBar].Realize() + self.toolBars[numToolBar].Fit() + # }}} + # {{{ _initToolBitmaps(self, toolBarsDescr): XXX + def _initToolBitmaps(self, toolBarsDescr): + for toolBarItem in toolBarsDescr[2]: + if toolBarItem == NID_TOOLBAR_HSEP \ + or toolBarItem == NID_TOOLBAR_VSEP: + continue + elif toolBarItem[4] == None: + toolBarItem[4] = ["", None, wx.ArtProvider.GetBitmap( \ + wx.ART_HELP, wx.ART_TOOLBAR, (16,16))] + elif toolBarItem[4][0] == "" \ + and toolBarItem[4][1] != None: + toolBarItem[4] = ["", None, wx.ArtProvider.GetBitmap( \ + toolBarItem[4][1], wx.ART_TOOLBAR, (16,16))] + elif toolBarItem[4][0] == "" \ + and toolBarItem[4][1] == None: + toolBarItem[4] = ["", None, toolBarItem[4][2]] + elif toolBarItem[4][0] != "": + toolBitmapPathName = os.path.dirname(sys.argv[0]) + toolBitmapPathName = os.path.join(toolBitmapPathName, \ + "assets", "images", toolBarItem[4][0]) + toolBitmap = wx.Bitmap((16,16)) + toolBitmap.LoadFile(toolBitmapPathName, wx.BITMAP_TYPE_ANY) + toolBarItem[4] = ["", None, toolBitmap] + # }}} + # {{{ onInput(self, event): XXX + def onInput(self, event): + pass + # }}} + + # + # __init__(self, *args, **kwargs): initialisation method + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs); self.itemsById = {}; + panelSkin = wx.Panel(self, wx.ID_ANY) + + # Initialise accelerators (hotkeys) + accelTable = wx.AcceleratorTable( \ + self._initAccelTable(self.LID_ACCELS[2])) + self.SetAcceleratorTable(accelTable) + + # Initialise menu bar, menus & menu items + # Initialise toolbar & toolbar items + menuBar = self._initMenus(self.LID_MENUS[2]) + self.SetMenuBar(menuBar) + self._initToolBitmaps(self.LID_TOOLBARS[2]) + toolBar = self._initToolBars(self.LID_TOOLBARS[2], panelSkin) + + # Initialise status bar + self.statusBar = self.CreateStatusBar() + + # Set focus on & show window + self.SetFocus(); self.Show(True); + + return panelSkin + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/MiRCART-python/IrcClient.py b/librtl/IrcClient.py similarity index 100% rename from MiRCART-python/IrcClient.py rename to librtl/IrcClient.py diff --git a/libtools/MiRCARTTool.py b/libtools/MiRCARTTool.py new file mode 100644 index 0000000..b63b0c7 --- /dev/null +++ b/libtools/MiRCARTTool.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +# +# MiRCARTTool.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +class MiRCARTTool(): + """XXX""" + parentCanvas = None + + # {{{ onKeyboardEvent(self, event, atPoint, brushColours, brushSize, keyChar, dispatchFn, eventDc): + def onKeyboardEvent(self, event, atPoint, brushColours, brushSize, keyChar, dispatchFn, eventDc): + return True + # }}} + # {{{ onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): + return () + # }}} + + # + # __init__(self, parentCanvas): initialisation method + def __init__(self, parentCanvas): + self.parentCanvas = parentCanvas + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libtools/MiRCARTToolCircle.py b/libtools/MiRCARTToolCircle.py new file mode 100644 index 0000000..161b2c6 --- /dev/null +++ b/libtools/MiRCARTToolCircle.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +# +# MiRCARTToolCircle.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTTool import MiRCARTTool + +class MiRCARTToolCircle(MiRCARTTool): + """XXX""" + name = "Circle" + + # + # onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): + brushColours = brushColours.copy() + if isLeftDown: + brushColours[1] = brushColours[0] + elif isRightDown: + brushColours[0] = brushColours[1] + else: + brushColours[1] = brushColours[0] + _brushSize = brushSize[0]*2 + originPoint = (_brushSize/2, _brushSize/2) + radius = _brushSize + for brushY in range(-radius, radius + 1): + for brushX in range(-radius, radius + 1): + if ((brushX**2)+(brushY**2) < (((radius**2)+radius)*0.8)): + patch = [ \ + atPoint[0] + int(originPoint[0]+brushX), \ + atPoint[1] + int(originPoint[1]+brushY), \ + *brushColours, 0, " "] + if isLeftDown or isRightDown: + dispatchFn(eventDc, False, patch); dispatchFn(eventDc, True, patch); + else: + dispatchFn(eventDc, True, patch) + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libtools/MiRCARTToolFill.py b/libtools/MiRCARTToolFill.py new file mode 100644 index 0000000..7ce1609 --- /dev/null +++ b/libtools/MiRCARTToolFill.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +# +# MiRCARTToolFill.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTTool import MiRCARTTool + +class MiRCARTToolFill(MiRCARTTool): + """XXX""" + name = "Fill" + + # + # onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): + pointStack = [list(atPoint)]; pointsDone = []; + testColour = self.parentCanvas.canvasMap[atPoint[1]][atPoint[0]][0:2] + if isLeftDown or isRightDown: + if isRightDown: + brushColours = [brushColours[1], brushColours[0]] + while len(pointStack) > 0: + point = pointStack.pop() + pointCell = self.parentCanvas.canvasMap[point[1]][point[0]] + if pointCell[0:2] == testColour: + if not point in pointsDone: + dispatchFn(eventDc, False, [*point, \ + brushColours[0], brushColours[0], 0, " "]) + if point[0] > 0: + pointStack.append([point[0] - 1, point[1]]) + if point[0] < (self.parentCanvas.canvasSize[0] - 1): + pointStack.append([point[0] + 1, point[1]]) + if point[1] > 0: + pointStack.append([point[0], point[1] - 1]) + if point[1] < (self.parentCanvas.canvasSize[1] - 1): + pointStack.append([point[0], point[1] + 1]) + pointsDone += [point] + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libtools/MiRCARTToolLine.py b/libtools/MiRCARTToolLine.py new file mode 100644 index 0000000..9133289 --- /dev/null +++ b/libtools/MiRCARTToolLine.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +# +# MiRCARTToolLine.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTTool import MiRCARTTool + +class MiRCARTToolLine(MiRCARTTool): + """XXX""" + name = "Line" + toolColours = toolOriginPoint = toolState = None + + TS_NONE = 0 + TS_ORIGIN = 1 + + # {{{ _pointDelta(self, a, b): XXX + def _pointDelta(self, a, b): + return [a2-a1 for a1, a2 in zip(a, b)] + # }}} + # {{{ _pointSwap(self, a, b): XXX + def _pointSwap(self, a, b): + return [b, a] + # }}} + # {{{ _getLine(self, brushColours, brushSize, eventDc, isCursor, originPoint, targetPoint, dispatchFn): XXX + def _getLine(self, brushColours, brushSize, eventDc, isCursor, originPoint, targetPoint, dispatchFn): + originPoint = originPoint.copy(); targetPoint = targetPoint.copy(); + pointDelta = self._pointDelta(originPoint, targetPoint) + lineXSign = 1 if pointDelta[0] > 0 else -1; + lineYSign = 1 if pointDelta[1] > 0 else -1; + pointDelta = [abs(a) for a in pointDelta] + if pointDelta[0] > pointDelta[1]: + lineXX, lineXY, lineYX, lineYY = lineXSign, 0, 0, lineYSign + else: + pointDelta = [pointDelta[1], pointDelta[0]] + lineXX, lineXY, lineYX, lineYY = 0, lineYSign, lineXSign, 0 + lineD = 2 * pointDelta[1] - pointDelta[0]; lineY = 0; + for lineX in range(pointDelta[0] + 1): + for brushStep in range(brushSize[0]): + patch = [ \ + originPoint[0] + lineX*lineXX + lineY*lineYX + brushStep, \ + originPoint[1] + lineX*lineXY + lineY*lineYY, \ + *brushColours, 0, " "] + if isCursor: + dispatchFn(eventDc, False, patch); dispatchFn(eventDc, True, patch); + else: + dispatchFn(eventDc, True, patch) + if lineD > 0: + lineD -= pointDelta[0]; lineY += 1; + lineD += pointDelta[1] + # }}} + + # + # onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): + brushColours = brushColours.copy() + if isLeftDown: + brushColours[1] = brushColours[0] + elif isRightDown: + brushColours[0] = brushColours[1] + else: + brushColours[1] = brushColours[0] + if self.toolState == self.TS_NONE: + if isLeftDown or isRightDown: + self.toolColours = brushColours + self.toolOriginPoint = list(atPoint) + self.toolState = self.TS_ORIGIN + dispatchFn(eventDc, True, [*atPoint, *brushColours, 0, " "]) + elif self.toolState == self.TS_ORIGIN: + targetPoint = list(atPoint) + originPoint = self.toolOriginPoint + self._getLine(self.toolColours, brushSize, \ + eventDc, isLeftDown or isRightDown, \ + originPoint, targetPoint, dispatchFn) + if isLeftDown or isRightDown: + self.toolColours = None + self.toolOriginPoint = None + self.toolState = self.TS_NONE + + # __init__(self, *args): initialisation method + def __init__(self, *args): + super().__init__(*args) + self.toolColours = None + self.toolOriginPoint = None + self.toolState = self.TS_NONE + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libtools/MiRCARTToolRect.py b/libtools/MiRCARTToolRect.py new file mode 100644 index 0000000..b9377e2 --- /dev/null +++ b/libtools/MiRCARTToolRect.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# +# MiRCARTToolRect.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTTool import MiRCARTTool + +class MiRCARTToolRect(MiRCARTTool): + """XXX""" + name = "Rectangle" + + # + # onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): + brushColours = brushColours.copy() + if isLeftDown: + brushColours[1] = brushColours[0] + elif isRightDown: + brushColours[0] = brushColours[1] + else: + brushColours[1] = brushColours[0] + brushSize = brushSize.copy() + if brushSize[0] > 1: + brushSize[0] *= 2 + for brushRow in range(brushSize[1]): + for brushCol in range(brushSize[0]): + patch = [atPoint[0] + brushCol, atPoint[1] + brushRow, *brushColours, 0, " "] + if isLeftDown or isRightDown: + dispatchFn(eventDc, False, patch); dispatchFn(eventDc, True, patch); + else: + dispatchFn(eventDc, True, patch) + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libtools/MiRCARTToolSelect.py b/libtools/MiRCARTToolSelect.py new file mode 100644 index 0000000..0733d2b --- /dev/null +++ b/libtools/MiRCARTToolSelect.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python3 +# +# MiRCARTToolSelect.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTTool import MiRCARTTool + +class MiRCARTToolSelect(MiRCARTTool): + """XXX""" + toolColours = toolRect = toolState = None + toolLastAtPoint = None + toolSelectMap = None + srcRect = None + + TS_NONE = 0 + TS_ORIGIN = 1 + TS_TARGET = 2 + + # {{{ _drawSelectRect(self, rect, dispatchFn, eventDc): XXX + def _drawSelectRect(self, rect, dispatchFn, eventDc): + rectFrame = [ \ + [rect[0][0]-1, rect[0][1]-1], \ + [rect[1][0]+1, rect[1][1]+1]] + if rectFrame[0][0] > rectFrame[1][0]: + rectFrame[0][0], rectFrame[1][0] = \ + rectFrame[1][0], rectFrame[0][0] + if rectFrame[0][1] > rectFrame[1][1]: + rectFrame[0][1], rectFrame[1][1] = \ + rectFrame[1][1], rectFrame[0][1] + curColours = [0, 0] + for rectX in range(rectFrame[0][0], rectFrame[1][0]+1): + if curColours == [0, 0]: + curColours = [1, 1] + else: + curColours = [0, 0] + dispatchFn(eventDc, True, \ + [rectX, rectFrame[0][1], *curColours, 0, " "]) + dispatchFn(eventDc, True, \ + [rectX, rectFrame[1][1], *curColours, 0, " "]) + for rectY in range(rectFrame[0][1], rectFrame[1][1]+1): + if curColours == [0, 0]: + curColours = [1, 1] + else: + curColours = [0, 0] + dispatchFn(eventDc, True, \ + [rectFrame[0][0], rectY, *curColours, 0, " "]) + dispatchFn(eventDc, True, \ + [rectFrame[1][0], rectY, *curColours, 0, " "]) + # }}} + + # + # onSelectEvent(self, event, atPoint, selectRect, brushColours, brushSize, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onSelectEvent(self, event, atPoint, selectRect, brushColours, brushSize, isLeftDown, isRightDown, dispatchFn, eventDc): + pass + + # + # onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): + if self.toolState == self.TS_NONE: + if isLeftDown or isRightDown: + self.toolColours = [0, 1] + self.toolRect = [list(atPoint), []] + self.toolState = self.TS_ORIGIN + else: + dispatchFn(eventDc, True, \ + [*atPoint, *brushColours, 0, " "]) + elif self.toolState == self.TS_ORIGIN: + self.toolRect[1] = list(atPoint) + if isLeftDown or isRightDown: + if self.toolRect[0][0] > self.toolRect[1][0]: + self.toolRect[0][0], self.toolRect[1][0] = \ + self.toolRect[1][0], self.toolRect[0][0] + if self.toolRect[0][1] > self.toolRect[1][1]: + self.toolRect[0][1], self.toolRect[1][1] = \ + self.toolRect[1][1], self.toolRect[0][1] + self.srcRect = self.toolRect[0] + self.toolLastAtPoint = list(atPoint) + self.toolState = self.TS_TARGET + self.toolSelectMap = [] + for numRow in range((self.toolRect[1][1] - self.toolRect[0][1]) + 1): + self.toolSelectMap.append([]) + for numCol in range((self.toolRect[1][0] - self.toolRect[0][0]) + 1): + rectY = self.toolRect[0][1] + numRow + rectX = self.toolRect[0][0] + numCol + self.toolSelectMap[numRow].append( \ + self.parentCanvas.canvasMap[rectY][rectX]) + self._drawSelectRect(self.toolRect, dispatchFn, eventDc) + elif self.toolState == self.TS_TARGET: + if isRightDown: + self.onSelectEvent(event, atPoint, self.toolRect, \ + brushColours, brushSize, isLeftDown, isRightDown, \ + dispatchFn, eventDc) + self.toolColours = None + self.toolRect = None + self.toolState = self.TS_NONE + else: + self.onSelectEvent(event, atPoint, self.toolRect, \ + brushColours, brushSize, isLeftDown, isRightDown, \ + dispatchFn, eventDc) + + # __init__(self, *args): initialisation method + def __init__(self, *args): + super().__init__(*args) + self.toolColours = None + self.toolRect = None + self.toolState = self.TS_NONE + self.toolLastAtPoint = None + self.toolSelectMap = None + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libtools/MiRCARTToolSelectClone.py b/libtools/MiRCARTToolSelectClone.py new file mode 100644 index 0000000..08550b1 --- /dev/null +++ b/libtools/MiRCARTToolSelectClone.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +# +# MiRCARTToolSelectClone.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTToolSelect import MiRCARTToolSelect + +class MiRCARTToolSelectClone(MiRCARTToolSelect): + """XXX""" + name = "Clone selection" + + # + # onSelectEvent(self, event, atPoint, selectRect, brushColours, brushSize, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onSelectEvent(self, event, atPoint, selectRect, brushColours, brushSize, isLeftDown, isRightDown, dispatchFn, eventDc): + if isLeftDown: + atPoint = list(atPoint) + disp = [atPoint[0]-self.toolLastAtPoint[0], \ + atPoint[1]-self.toolLastAtPoint[1]] + self.toolLastAtPoint = atPoint + newToolRect = [ \ + [selectRect[0][0]+disp[0], selectRect[0][1]+disp[1]], \ + [selectRect[1][0]+disp[0], selectRect[1][1]+disp[1]]] + isCursor = True + elif isRightDown: + disp = [0, 0] + newToolRect = selectRect.copy() + isCursor = False + else: + disp = [0, 0] + newToolRect = selectRect.copy() + isCursor = True + for numRow in range(len(self.toolSelectMap)): + for numCol in range(len(self.toolSelectMap[numRow])): + cellOld = self.toolSelectMap[numRow][numCol] + rectY = selectRect[0][1] + numRow + rectX = selectRect[0][0] + numCol + dispatchFn(eventDc, isCursor, [rectX+disp[0], rectY+disp[1], *cellOld]) + self._drawSelectRect(newToolRect, dispatchFn, eventDc) + self.toolRect = newToolRect + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libtools/MiRCARTToolSelectMove.py b/libtools/MiRCARTToolSelectMove.py new file mode 100644 index 0000000..ed0513b --- /dev/null +++ b/libtools/MiRCARTToolSelectMove.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +# +# MiRCARTToolSelectMove.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTToolSelect import MiRCARTToolSelect + +class MiRCARTToolSelectMove(MiRCARTToolSelect): + """XXX""" + name = "Move selection" + + # + # onSelectEvent(self, event, atPoint, selectRect, brushColours, brushSize, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onSelectEvent(self, event, atPoint, selectRect, brushColours, brushSize, isLeftDown, isRightDown, dispatchFn, eventDc): + if isLeftDown: + atPoint = list(atPoint) + disp = [atPoint[0]-self.toolLastAtPoint[0], \ + atPoint[1]-self.toolLastAtPoint[1]] + self.toolLastAtPoint = atPoint + newToolRect = [ \ + [selectRect[0][0]+disp[0], selectRect[0][1]+disp[1]], \ + [selectRect[1][0]+disp[0], selectRect[1][1]+disp[1]]] + isCursor = True + elif isRightDown: + disp = [0, 0] + newToolRect = selectRect.copy() + isCursor = False + else: + disp = [0, 0] + newToolRect = selectRect.copy() + isCursor = True + for numRow in range(len(self.toolSelectMap)): + for numCol in range(len(self.toolSelectMap[numRow])): + dispatchFn(eventDc, isCursor, [self.srcRect[0] + numCol, \ + self.srcRect[1] + numRow, 1, 1, 0, " "]) + for numRow in range(len(self.toolSelectMap)): + for numCol in range(len(self.toolSelectMap[numRow])): + cellOld = self.toolSelectMap[numRow][numCol] + rectY = selectRect[0][1] + numRow + rectX = selectRect[0][0] + numCol + dispatchFn(eventDc, isCursor, [rectX+disp[0], rectY+disp[1], *cellOld]) + self._drawSelectRect(newToolRect, dispatchFn, eventDc) + self.toolRect = newToolRect + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120 diff --git a/libtools/MiRCARTToolText.py b/libtools/MiRCARTToolText.py new file mode 100644 index 0000000..8ae87ed --- /dev/null +++ b/libtools/MiRCARTToolText.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +# +# MiRCARTToolText.py -- XXX +# Copyright (c) 2018 Lucio Andrés Illanes Albornoz +# + +from MiRCARTTool import MiRCARTTool +import wx + +class MiRCARTToolText(MiRCARTTool): + """XXX""" + name = "Text" + textColours = textPos = None + + # + # onKeyboardEvent(self, event, atPoint, brushColours, brushSize, keyChar, dispatchFn, eventDc): XXX + def onKeyboardEvent(self, event, atPoint, brushColours, brushSize, keyChar, dispatchFn, eventDc): + keyModifiers = event.GetModifiers() + if keyModifiers != wx.MOD_NONE \ + and keyModifiers != wx.MOD_SHIFT: + return True + else: + if self.textColours == None: + self.textColours = brushColours.copy() + if self.textPos == None: + self.textPos = list(atPoint) + dispatchFn(eventDc, False, [*self.textPos, *self.textColours, 0, keyChar]) + if self.textPos[0] < (self.parentCanvas.canvasSize[0] - 1): + self.textPos[0] += 1 + elif self.textPos[1] < (self.parentCanvas.canvasSize[1] - 1): + self.textPos[0] = 0 + self.textPos[1] += 1 + else: + self.textPos = [0, 0] + return False + + # + # onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): XXX + def onMouseEvent(self, event, atPoint, brushColours, brushSize, isDragging, isLeftDown, isRightDown, dispatchFn, eventDc): + if isLeftDown: + self.textColours = brushColours.copy() + self.textPos = list(atPoint) + elif isRightDown: + self.textColours = [brushColours[1], brushColours[0]] + self.textPos = list(atPoint) + else: + if self.textColours == None: + self.textColours = brushColours.copy() + self.textPos = list(atPoint) + dispatchFn(eventDc, True, [*self.textPos, *self.textColours, 0, "_"]) + +# vim:expandtab foldmethod=marker sw=4 ts=4 tw=120

N-lOjW3TPZ78Ry*&Jiiy@74H67eE%< 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�EuV){`~4@J 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