From 20c252e5c6f8181bf3e6f8aeced0cc7277030d54 Mon Sep 17 00:00:00 2001
From: Pierre Bondoerffer <pierre@bondoer.fr>
Date: Fri, 14 Apr 2017 12:45:45 +0200
Subject: [PATCH 001/236] fix placeholder styling in safari

---
 www/poll/poll.css  | 3 +++
 www/poll/poll.less | 9 +++++++++
 2 files changed, 12 insertions(+)

diff --git a/www/poll/poll.css b/www/poll/poll.css
index 321121b59..030b8898e 100644
--- a/www/poll/poll.css
+++ b/www/poll/poll.css
@@ -32,6 +32,9 @@ textarea[disabled] {
   font: white;
   border: 0px;
 }
+input[type="text"]::placeholder {
+  color: #333;
+}
 table#table {
   margin: 0px;
 }
diff --git a/www/poll/poll.less b/www/poll/poll.less
index 7292b0e15..2ae85c25c 100644
--- a/www/poll/poll.less
+++ b/www/poll/poll.less
@@ -3,6 +3,7 @@
 
 @poll-th-bg: #aaa;
 @poll-td-bg: #aaa;
+@poll-placeholder: #333;
 @poll-border-color: #555;
 @poll-cover-color: #000;
 @poll-fg: #000;
@@ -42,6 +43,14 @@ input[type="text"][disabled], textarea[disabled] {
     font: white;
     border: 0px;
 }
+
+// The placeholder color only seems to effect Safari when not set, but
+// setting others just in case.
+
+input[type="text"]::placeholder {
+    color: @poll-placeholder;
+}
+
 table#table {
     margin: 0px;
 }

From 05785e96ea112435bd5cc1648e79362eaa9abe25 Mon Sep 17 00:00:00 2001
From: Pierre Bondoerffer <pierre@bondoer.fr>
Date: Fri, 14 Apr 2017 17:47:05 +0200
Subject: [PATCH 002/236] small color change

---
 www/poll/poll.less | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/www/poll/poll.less b/www/poll/poll.less
index 2ae85c25c..369c44f0f 100644
--- a/www/poll/poll.less
+++ b/www/poll/poll.less
@@ -3,7 +3,7 @@
 
 @poll-th-bg: #aaa;
 @poll-td-bg: #aaa;
-@poll-placeholder: #333;
+@poll-placeholder: #666;
 @poll-border-color: #555;
 @poll-cover-color: #000;
 @poll-fg: #000;
@@ -44,8 +44,7 @@ input[type="text"][disabled], textarea[disabled] {
     border: 0px;
 }
 
-// The placeholder color only seems to effect Safari when not set, but
-// setting others just in case.
+// The placeholder color only seems to effect Safari when not set
 
 input[type="text"]::placeholder {
     color: @poll-placeholder;

From 7a05462eb3ff312b57b1955478f9170c66c6c366 Mon Sep 17 00:00:00 2001
From: Pierre Bondoerffer <pierre@bondoer.fr>
Date: Fri, 14 Apr 2017 19:34:58 +0200
Subject: [PATCH 003/236] Some more poll changes <3

---
 customize.dist/translations/messages.es.js |  5 +++++
 customize.dist/translations/messages.js    |  5 +++++
 www/poll/main.js                           |  6 +++---
 www/poll/poll.css                          | 17 ++++++++++++-----
 www/poll/poll.less                         | 13 +++++++++----
 www/poll/render.js                         | 18 ++++++++----------
 6 files changed, 42 insertions(+), 22 deletions(-)

diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js
index cfe682c48..9e6c8ceb7 100644
--- a/customize.dist/translations/messages.es.js
+++ b/customize.dist/translations/messages.es.js
@@ -356,5 +356,10 @@ define(function () {
     out.register_warning = "Zero Knowledge significa que no podemos recuperar tus datos si pierdes tu contraseña.";
     out.register_alreadyRegistered = "Este usuario ya existe, ¿iniciar sesión?";
 
+    out.poll_remove = "Quitar";
+    out.poll_edit = "Editar";
+    out.poll_locked = "Cerrado";
+    out.poll_unlocked = "Abierto";
+
     return out;
 });
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 66f771033..7055a2b86 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -151,6 +151,11 @@ define(function () {
     out.poll_titleHint = "Title";
     out.poll_descriptionHint = "Describe your poll, and use the 'publish' button when you're done. Anyone with the link can change the description, but this is discouraged.";
 
+    out.poll_remove = "Remove";
+    out.poll_edit = "Edit";
+    out.poll_locked = "Locked";
+    out.poll_unlocked = "Unlocked";
+
     // Canvas
     out.canvas_clear = "Clear";
     out.canvas_delete = "Delete selection";
diff --git a/www/poll/main.js b/www/poll/main.js
index 8170f7e9d..d6522660f 100644
--- a/www/poll/main.js
+++ b/www/poll/main.js
@@ -114,7 +114,7 @@ define([
         $('input[disabled="disabled"][data-rt-id^="' + id + '"]').removeAttr('disabled');
         $('input[type="checkbox"][data-rt-id^="' + id + '"]').addClass('enabled');
         $('[data-rt-id="' + id + '"] ~ .edit').css('visibility', 'hidden');
-        $('.lock[data-rt-id="' + id + '"]').html(unlockHTML);
+        $('.lock[data-rt-id="' + id + '"]').html(unlockHTML).attr('title', Messages.poll_unlocked);
 
         if (isOwnColumnCommitted()) { return; }
         $('[data-rt-id^="' + id + '"]').closest('td').addClass("uncommitted");
@@ -132,7 +132,7 @@ define([
             $('input[disabled="disabled"][data-rt-id^="' + id + '"]').removeAttr('disabled');
             $('input[type="checkbox"][data-rt-id^="' + id + '"]').addClass('enabled');
             $('span.edit[data-rt-id="' + id + '"]').css('visibility', 'hidden');
-            $('.lock[data-rt-id="' + id + '"]').html(unlockHTML);
+            $('.lock[data-rt-id="' + id + '"]').html(unlockHTML).attr('title', Messages.poll_unlocked);
         });
     };
 
@@ -369,7 +369,7 @@ define([
         if (!isKeyup && $(e.target).is('[type="text"]')) {
             return;
         }
-        $('.lock[data-rt-id!="' + APP.userid + '"]').html(lockHTML);
+        $('.lock[data-rt-id!="' + APP.userid + '"]').html(lockHTML).attr('title', Messages.poll_lock);
         var $cells = APP.$table.find('thead td:not(.uncommitted), tbody td');
         $cells.find('[type="text"][data-rt-id!="' + APP.userid + '"]').attr('disabled', true);
         $('.edit[data-rt-id!="' + APP.userid + '"]').css('visibility', 'visible');
diff --git a/www/poll/poll.css b/www/poll/poll.css
index 030b8898e..8016a10c4 100644
--- a/www/poll/poll.css
+++ b/www/poll/poll.css
@@ -33,7 +33,7 @@ textarea[disabled] {
   border: 0px;
 }
 input[type="text"]::placeholder {
-  color: #333;
+  color: #666;
 }
 table#table {
   margin: 0px;
@@ -69,7 +69,7 @@ table#table {
 #tableScroll {
   overflow-y: hidden;
   overflow-x: auto;
-  margin-left: calc(30% - 50px + 29px);
+  margin-left: calc(30% - 50px + 31px);
   max-width: 70%;
   width: auto;
   display: inline-block;
@@ -107,6 +107,9 @@ table {
 tbody {
   border: 1px solid #555;
 }
+tbody * {
+  box-sizing: border-box;
+}
 tbody tr {
   text-align: center;
 }
@@ -299,9 +302,13 @@ div.realtime table tbody .text-cell .remove {
   float: left;
   margin: 0 0 0 10px;
 }
-form.realtime table tbody td label,
-div.realtime table tbody td label {
-  border: 0.5px solid #555;
+form.realtime table tbody tr td:nth-child(2),
+div.realtime table tbody tr td:nth-child(2) {
+  border-left: 1px solid #555;
+}
+form.realtime table tbody tr:not(:first-child) td:not(:first-child) label,
+div.realtime table tbody tr:not(:first-child) td:not(:first-child) label {
+  border-top: 1px solid #555;
 }
 form.realtime table .edit,
 div.realtime table .edit {
diff --git a/www/poll/poll.less b/www/poll/poll.less
index 369c44f0f..1ddcaa2f0 100644
--- a/www/poll/poll.less
+++ b/www/poll/poll.less
@@ -83,7 +83,7 @@ table#table {
 #tableScroll {
     overflow-y: hidden;
     overflow-x: auto;
-    margin-left: calc(~"30% - 50px + 29px");
+    margin-left: calc(~"30% - 50px + 31px");
     max-width: 70%;
     width: auto;
     display: inline-block;
@@ -126,6 +126,9 @@ table {
 }
 tbody {
     border: 1px solid @poll-border-color;
+    * {
+        box-sizing: border-box;
+    }
     tr {
         text-align: center;
         &:first-of-type th{
@@ -326,9 +329,11 @@ form.realtime, div.realtime {
                     margin: 0 0 0 10px;
                 }
             }
-            td {
-                label {
-                    border: .5px solid @poll-border-color;
+            tr:not(:first-child) {
+                td:not(:first-child) {
+                    label {
+                        border-top: 1px solid @poll-border-color;
+                    }
                 }
             }
         }
diff --git a/www/poll/render.js b/www/poll/render.js
index dcf62079f..c0ca599a0 100644
--- a/www/poll/render.js
+++ b/www/poll/render.js
@@ -252,6 +252,7 @@ var Renderer = function (Cryptpad) {
     var makeRemoveElement = Render.makeRemoveElement = function (id) {
         return ['SPAN', {
             'data-rt-id': id,
+            'title': Cryptpad.Messages.poll_remove,
             class: 'remove',
         }, ['✖']];
     };
@@ -259,6 +260,7 @@ var Renderer = function (Cryptpad) {
     var makeEditElement = Render.makeEditElement = function (id) {
         return ['SPAN', {
             'data-rt-id': id,
+            'title': Cryptpad.Messages.poll_edit,
             class: 'edit',
         }, ['✐']];
     };
@@ -266,6 +268,7 @@ var Renderer = function (Cryptpad) {
     var makeLockElement = Render.makeLockElement = function (id) {
         return ['SPAN', {
             'data-rt-id': id,
+            'title': Cryptpad.Messages.poll_locked,
             class: 'lock',
         }, [['i', {
                 class: 'fa fa-lock',
@@ -277,14 +280,11 @@ var Renderer = function (Cryptpad) {
     var makeHeadingCell = Render.makeHeadingCell = function (cell, readOnly) {
         if (!cell) { return ['TD', {}, []]; }
         if (cell.type === 'text') {
-            var removeElement = makeRemoveElement(cell['data-rt-id']);
-            var editElement = makeEditElement(cell['data-rt-id']);
-            var lockElement = makeLockElement(cell['data-rt-id']);
             var elements = [['INPUT', cell, []]];
             if (!readOnly) {
-                elements.unshift(removeElement);
-                elements.unshift(lockElement);
-                elements.unshift(editElement);
+                elements.unshift(makeRemoveElement(cell['data-rt-id']));
+                elements.unshift(makeLockElement(cell['data-rt-id']));
+                elements.unshift(makeEditElement(cell['data-rt-id']));
             }
             return ['TD', {}, elements];
         }
@@ -321,12 +321,10 @@ var Renderer = function (Cryptpad) {
 
     var makeBodyCell = Render.makeBodyCell = function (cell, readOnly) {
         if (cell && cell.type === 'text') {
-            var removeElement = makeRemoveElement(cell['data-rt-id']);
-            var editElement = makeEditElement(cell['data-rt-id']);
             var elements = [['INPUT', cell, []]];
             if (!readOnly) {
-                elements.push(removeElement);
-                elements.push(editElement);
+                elements.push(makeRemoveElement(cell['data-rt-id']));
+                elements.push(makeEditElement(cell['data-rt-id']));
             }
             return ['TD', {}, [
                     ['DIV', {class: 'text-cell'}, elements]

From 1d4d4cffdb06607f418dc4a379d5b08498765beb Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 9 May 2017 14:26:17 +0200
Subject: [PATCH 004/236] correct some copypasted code

---
 www/drive/inner.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/drive/inner.html b/www/drive/inner.html
index 72bef5a79..859ae3391 100644
--- a/www/drive/inner.html
+++ b/www/drive/inner.html
@@ -33,7 +33,7 @@
                 <li><a tabindex="-1" data-icon="fa-file-code-o" class="newdoc own editable dropdown-item" data-type="code" data-localization="button_newcode">New code</a></li>
                 <li><a tabindex="-1" data-icon="fa-file-powerpoint-o" class="newdoc own editable dropdown-item" data-type="slide" data-localization="button_newslide">New slide</a></li>
                 <li><a tabindex="-1" data-icon="fa-calendar" class="newdoc own editable dropdown-item" data-type="poll" data-localization="button_newpoll">New poll</a></li>
-                <li><a tabindex="-1" data-icon="fa-calendar" class="newdoc own editable dropdown-item" data-type="whiteboard" data-localization="button_newwhiteboard">New whiteboard</a></li>
+                <li><a tabindex="-1" data-icon="fa-paint-brush" class="newdoc own editable dropdown-item" data-type="whiteboard" data-localization="button_newwhiteboard">New whiteboard</a></li>
             </ul>
         </div>
         <div id="defaultContextMenu" class="contextMenu dropdown clearfix">

From 63710e1cccba59dc84dfa89b2fe01fb1b1204a1b Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 9 May 2017 12:45:18 +0200
Subject: [PATCH 005/236] Move the code related to the title in another file

---
 www/code/main.js              | 82 ++++++++---------------------------
 www/common/common-title.js    | 82 +++++++++++++++++++++++++++++++++++
 www/common/cryptpad-common.js |  6 ++-
 3 files changed, 106 insertions(+), 64 deletions(-)
 create mode 100644 www/common/common-title.js

diff --git a/www/code/main.js b/www/code/main.js
index c382b38e4..a21c67273 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -48,8 +48,6 @@ define([
             var $textarea = $pad.contents().find('#editor1');
 
             var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox');
-            var parsedHash = Cryptpad.parsePadUrl(window.location.href);
-            var defaultName = Cryptpad.getDefaultName(parsedHash);
 
             var isHistoryMode = false;
 
@@ -120,6 +118,7 @@ define([
                 editor.setOption('readOnly', !bool);
             };
 
+            var Title;
             var UserList;
 
             var config = {
@@ -144,11 +143,6 @@ define([
                 }
             };
 
-/*          var isDefaultTitle = function () {
-                var parsed = Cryptpad.parsePadUrl(window.location.href);
-                return Cryptpad.isDefaultName(parsed, document.title);
-            };*/
-
             var initializing = true;
 
             var stringifyInner = function (textValue) {
@@ -156,11 +150,11 @@ define([
                     content: textValue,
                     metadata: {
                         users: UserList.userData,
-                        defaultTitle: defaultName
+                        defaultTitle: Title.defaultTitle
                     }
                 };
                 if (!initializing) {
-                    obj.metadata.title = document.title;
+                    obj.metadata.title = Title.title;
                 }
                 // set mode too...
                 obj.highlightMode = module.highlightMode;
@@ -226,20 +220,12 @@ define([
                 return text.trim();
             };
 
-            var suggestName = function (fallback) {
-                if (document.title === defaultName) {
-                    return getHeadingText() || fallback || "";
-                } else {
-                    return document.title || getHeadingText() || defaultName;
-                }
-            };
-
             var exportText = module.exportText = function () {
                 var text = editor.getValue();
 
                 var ext = Modes.extensionOf(module.highlightMode);
 
-                var title = Cryptpad.fixFileName(suggestName('cryptpad')) + (ext || '.txt');
+                var title = Cryptpad.fixFileName(Title.suggestTitle('cryptpad')) + (ext || '.txt');
 
                 Cryptpad.prompt(Messages.exportPrompt, title, function (filename) {
                         if (filename === null) { return; }
@@ -276,35 +262,6 @@ define([
                 onLocal();
             };
 
-            var renameCb = function (err, title) {
-                if (err) { return; }
-                document.title = title;
-                onLocal();
-            };
-
-            var updateTitle = function (newTitle) {
-                if (newTitle === document.title) { return; }
-                // Change the title now, and set it back to the old value if there is an error
-                var oldTitle = document.title;
-                document.title = newTitle;
-                Cryptpad.renamePad(newTitle, function (err, data) {
-                    if (err) {
-                        console.log("Couldn't set pad title");
-                        console.error(err);
-                        document.title = oldTitle;
-                        return;
-                    }
-                    document.title = data;
-                    $bar.find('.' + Toolbar.constants.title).find('span.title').text(data);
-                    $bar.find('.' + Toolbar.constants.title).find('input').val(data);
-                });
-            };
-
-            var updateDefaultTitle = function (defaultTitle) {
-                defaultName = defaultTitle;
-                $bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName);
-            };
-
             var updateMetadata = function(shjson) {
                 // Extract the user list (metadata) from the hyperjson
                 var json = (shjson === "") ? "" : JSON.parse(shjson);
@@ -316,21 +273,27 @@ define([
                         UserList.addToUserData(userData);
                     }
                     if (json.metadata.defaultTitle) {
-                        updateDefaultTitle(json.metadata.defaultTitle);
+                        Title.updateDefaultTitle(json.metadata.defaultTitle);
                     }
                     if (typeof json.metadata.title !== "undefined") {
-                        updateTitle(json.metadata.title || defaultName);
+                        Title.updateTitle(json.metadata.title || Title.defaultTitle);
                         titleUpdated = true;
                     }
                 }
                 if (!titleUpdated) {
-                    updateTitle(defaultName);
+                    Title.updateTitle(Title.defaultTitle);
                 }
             };
 
              config.onInit = function (info) {
                 UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad);
 
+                var titleCfg = {
+                    $bar: $bar,
+                    getHeadingText: getHeadingText
+                };
+                Title = Cryptpad.createTitle(titleCfg, config.onLocal, Cryptpad);
+
                 var configTb = {
                     displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
                     userList: UserList.getToolbarConfig(),
@@ -338,11 +301,7 @@ define([
                         secret: secret,
                         channel: info.channel
                     },
-                    title: {
-                        onRename: renameCb,
-                        defaultName: defaultName,
-                        suggestName: suggestName
-                    },
+                    title: Title.getTitleConfig(),
                     common: Cryptpad,
                     readOnly: readOnly,
                     ifrw: ifrw,
@@ -352,6 +311,8 @@ define([
                 };
                 toolbar = module.toolbar = Toolbar.create(configTb);
 
+                Title.setToolbar(toolbar);
+
                 var $rightside = toolbar.$rightside;
 
                 var editHash;
@@ -396,7 +357,7 @@ define([
                     var templateObj = {
                         rt: info.realtime,
                         Crypt: Cryptget,
-                        getTitle: function () { return document.title; }
+                        getTitle: Title.getTitle
                     };
                     var $templateButton = Cryptpad.createButton('template', true, templateObj);
                     $rightside.append($templateButton);
@@ -410,10 +371,6 @@ define([
                     /* add an import button */
                     var $import = Cryptpad.createButton('import', true, {}, importText);
                     $rightside.append($import);
-
-                    /* add a rename button */
-                    //var $setTitle = Cryptpad.createButton('rename', true, {suggestName: suggestName}, renameCb);
-                    //$rightside.append($setTitle);
                 }
 
                 /* add a forget button */
@@ -559,9 +516,8 @@ define([
                     editor.setValue(newDoc);
                 }
 
-                if (Cryptpad.initialName && document.title === defaultName) {
-                    updateTitle(Cryptpad.initialName);
-                    onLocal();
+                if (Cryptpad.initialName && Title.isDefaultTitle()) {
+                    Title.updateTitle(Cryptpad.initialName);
                 }
 
                 if (Visible.isSupported()) {
diff --git a/www/common/common-title.js b/www/common/common-title.js
new file mode 100644
index 000000000..7ceb2741e
--- /dev/null
+++ b/www/common/common-title.js
@@ -0,0 +1,82 @@
+define(function () {
+    var module = {};
+
+    module.create = function (cfg, onLocal, Cryptpad) {
+        var exp = {};
+
+        var parsed = exp.parsedHref = Cryptpad.parsePadUrl(window.location.href);
+        exp.defaultTitle = Cryptpad.getDefaultName(parsed);
+
+        exp.title = document.title; // TOOD slides
+
+        var getHeadingText = cfg.getHeadingText || function () { return; };
+        var updateLocalTitle = function (newTitle) {
+            exp.title = newTitle;
+            if (typeof cfg.updateLocalTitle === "function") {
+                cfg.updateLocalTitle(newTitle);
+            } else {
+                document.title = newTitle;
+            }
+        };
+
+        var $title;
+        exp.setToolbar = function (toolbar) {
+            $title = toolbar && toolbar.title;
+        }
+
+        exp.getTitle = function () { return exp.title; };
+        var isDefaultTitle = exp.isDefaultTitle = function (){return exp.title === exp.defaultTitle;};
+
+        var suggestTitle = exp.suggestTitle = function (fallback) {
+            if (isDefaultTitle()) {
+                return getHeadingText() || fallback || "";
+            } else {
+                return exp.title || getHeadingText() || exp.defaultTitle;
+            }
+        };
+
+        var renameCb = function (err, newTitle) {
+            if (err) { return; }
+            updateLocalTitle(newTitle);
+            console.log('here');
+            onLocal();
+        };
+
+        exp.updateTitle = function (newTitle) {
+            if (newTitle === exp.title) { return; }
+            // Change the title now, and set it back to the old value if there is an error
+            var oldTitle = exp.title;
+            Cryptpad.renamePad(newTitle, function (err, data) {
+                if (err) {
+                    console.log("Couldn't set pad title");
+                    console.error(err);
+                    updateLocalTitle(oldTitle);
+                    return;
+                }
+                updateLocalTitle(data);
+                if (!$title) { return; }
+                $title.find('span.title').text(data);
+                $title.find('input').val(data);
+            });
+        };
+
+        exp.updateDefaultTitle = function (newDefaultTitle) {
+            exp.defaultTitle = newDefaultTitle;
+            if (!$title) { return; }
+            $title.find('input').attr("placeholder", exp.defaultTitle);
+        };
+
+        exp.getTitleConfig = function () {
+            return {
+                onRename: renameCb,
+                suggestName: suggestTitle,
+                defaultName: exp.defaultTitle
+            }
+        };
+
+        return exp;
+    };
+
+    return module;
+});
+
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index b58209029..29d3e0ddb 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -8,11 +8,12 @@ define([
     '/common/common-interface.js',
     '/common/common-history.js',
     '/common/common-userlist.js',
+    '/common/common-title.js',
 
     '/common/clipboard.js',
     '/common/pinpad.js',
     '/customize/application_config.js'
-], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Clipboard, Pinpad, AppConfig) {
+], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Title, Clipboard, Pinpad, AppConfig) {
 
 /*  This file exposes functionality which is specific to Cryptpad, but not to
     any particular pad type. This includes functions for committing metadata
@@ -88,6 +89,9 @@ define([
     // Userlist
     common.createUserList = UserList.create;
 
+    // Title
+    common.createTitle = Title.create;
+
     // History
     common.getHistory = function (config) { return History.create(common, config); };
 

From 521f99a3d6993a678107bd42eadc70819a5a2c2b Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 9 May 2017 16:50:25 +0200
Subject: [PATCH 006/236] support drag and drop for file upload

---
 www/file/inner.html | 14 +++++++++++---
 www/file/main.js    | 26 ++++++++++++++++++++------
 2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/www/file/inner.html b/www/file/inner.html
index 09f627842..2f82b3461 100644
--- a/www/file/inner.html
+++ b/www/file/inner.html
@@ -30,11 +30,17 @@
         position: absolute;
         z-index: -1;
     }
-    .inputfile + label {
-        border: 2px solid black;
+
+    .block {
         display: block;
         height: 500px;
         width: 500px;
+    }
+    .hidden {
+        display: none;
+    }
+    .inputfile + label {
+        border: 2px solid black;
         background-color: rgba(50, 50, 50, .10);
         margin: 50px;
     }
@@ -50,7 +56,9 @@
     <div id="toolbar" class="toolbar-container"></div>
     <div id="upload-form" style="display: none;">
         <input type="file" name="file" id="file" class="inputfile" />
-        <label for="file">Choose a file</label>
+        <label for="file" class="block">Choose a file</label>
+    </div>
+    <div id="feedback" class="block hidden">
     </div>
 </body>
 </html>
diff --git a/www/file/main.js b/www/file/main.js
index 7e193e6a9..2756ceced 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -20,6 +20,7 @@ define([
 
     var ifrw = $('#pad-iframe')[0].contentWindow;
     var $iframe = $('#pad-iframe').contents();
+    var $form = $iframe.find('#upload-form');
 
     Cryptpad.addLoadingScreen();
 
@@ -85,7 +86,7 @@ define([
                                 ''
                             ].join('/');
 
-                            APP.$form.hide();
+                            $form.hide();
 
                             var newU8 = FileCrypto.joinChunks(chunks);
                             FileCrypto.decrypt(newU8, key, function (e, res) {
@@ -95,6 +96,7 @@ define([
 
                                 var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href));
                                 APP.updateTitle(title || defaultName);
+
                             });
                         });
                     });
@@ -128,8 +130,6 @@ define([
     var andThen = function () {
         var $bar = $iframe.find('.toolbar-container');
 
-// Test hash:
-// #/2/K6xWU-LT9BJHCQcDCT-DcQ/TBo77200c0e-FdldQFcnQx4Y/
         var secret;
         var hexFileName;
         if (window.location.hash) {
@@ -233,13 +233,12 @@ define([
             return Cryptpad.alert("You must be logged in to upload files");
         }
 
-        var $form = APP.$form = $iframe.find('#upload-form');
         $form.css({
             display: 'block',
         });
 
-        $form.find("#file").on('change', function (e) {
-            var file = e.target.files[0];
+        var handleFile = function (file) {
+            console.log(file);
             var reader = new FileReader();
             reader.onloadend = function () {
                 upload(this.result, {
@@ -248,6 +247,21 @@ define([
                 });
             };
             reader.readAsArrayBuffer(file);
+        };
+
+        $form.find("#file").on('change', function (e) {
+            var file = e.target.files[0];
+            handleFile(file);
+        });
+
+        $form
+        .on('drag dragstart dragend dragover dragenter dragleave drop', function (e) {
+            e.preventDefault();
+            e.stopPropagation();
+        })
+        .on('drop', function (e) {
+            var dropped = e.originalEvent.dataTransfer.files;
+            handleFile(dropped[0]);
         });
 
         // we're in upload mode

From c79a6e3b2bce4c98a055e282b48765b05fc04ff1 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 9 May 2017 17:47:47 +0200
Subject: [PATCH 007/236] Move Metadata, CodeMirror and title functions in
 separate files

---
 www/code/main.js                | 312 +++----------------------
 www/common/common-codemirror.js | 247 ++++++++++++++++++++
 www/common/common-interface.js  |  28 ++-
 www/common/common-metadata.js   |  51 +++++
 www/common/common-title.js      |   2 +
 www/common/cryptpad-common.js   |  12 +-
 www/pad/main.js                 | 117 ++--------
 www/poll/main.js                |  90 ++------
 www/slide/main.js               | 391 ++++++--------------------------
 www/whiteboard/main.js          | 116 ++--------
 10 files changed, 486 insertions(+), 880 deletions(-)
 create mode 100644 www/common/common-codemirror.js
 create mode 100644 www/common/common-metadata.js

diff --git a/www/code/main.js b/www/code/main.js
index a21c67273..ea9a66001 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -8,13 +8,7 @@ define([
     '/bower_components/chainpad-json-validator/json-ot.js',
     '/common/cryptpad-common.js',
     '/common/cryptget.js',
-    '/common/modes.js',
-    '/common/themes.js',
-    '/common/visible.js',
-    '/common/notify.js',
-    '/bower_components/file-saver/FileSaver.min.js'
-], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget, Modes, Themes, Visible, Notify) {
-    var saveAs = window.saveAs;
+], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget) {
     var Messages = Cryptpad.Messages;
 
     var module = window.APP = {
@@ -30,6 +24,7 @@ define([
         };
 
         var toolbar;
+        var editor;
 
         var secret = Cryptpad.getSecrets();
         var readOnly = secret.keys && !secret.keys.editKeyStr;
@@ -42,77 +37,13 @@ define([
         };
 
         var andThen = function (CMeditor) {
-            var CodeMirror = module.CodeMirror = CMeditor;
-            CodeMirror.modeURL = "/bower_components/codemirror/mode/%N/%N.js";
-            var $pad = $('#pad-iframe');
-            var $textarea = $pad.contents().find('#editor1');
+            var CodeMirror = Cryptpad.createCodemirror(CMeditor, ifrw, Cryptpad);
+            editor = CodeMirror.editor;
 
             var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox');
 
             var isHistoryMode = false;
 
-            var editor = module.editor = CMeditor.fromTextArea($textarea[0], {
-                lineNumbers: true,
-                lineWrapping: true,
-                autoCloseBrackets: true,
-                matchBrackets : true,
-                showTrailingSpace : true,
-                styleActiveLine : true,
-                search: true,
-                highlightSelectionMatches: {showToken: /\w+/},
-                extraKeys: {"Shift-Ctrl-R": undefined},
-                foldGutter: true,
-                gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
-                mode: "javascript",
-                readOnly: true
-            });
-            editor.setValue(Messages.codeInitialState);
-
-            var setMode = module.setMode = function (mode, $select) {
-                module.highlightMode = mode;
-                if (mode === 'text') {
-                    editor.setOption('mode', 'text');
-                    return;
-                }
-                CodeMirror.autoLoadMode(editor, mode);
-                editor.setOption('mode', mode);
-                if ($select) {
-                    var name = $select.find('a[data-value="' + mode + '"]').text() || 'Mode';
-                    $select.setValue(name);
-                }
-            };
-
-            var setTheme = module.setTheme = (function () {
-                var path = '/common/theme/';
-
-                var $head = $(ifrw.document.head);
-
-                var themeLoaded = module.themeLoaded = function (theme) {
-                    return $head.find('link[href*="'+theme+'"]').length;
-                };
-
-                var loadTheme = module.loadTheme = function (theme) {
-                    $head.append($('<link />', {
-                        rel: 'stylesheet',
-                        href: path + theme + '.css',
-                    }));
-                };
-
-                return function (theme, $select) {
-                    if (!theme) {
-                        editor.setOption('theme', 'default');
-                    } else {
-                        if (!themeLoaded(theme)) {
-                            loadTheme(theme);
-                        }
-                        editor.setOption('theme', theme);
-                    }
-                    if ($select) {
-                        $select.setValue(theme || 'Theme');
-                    }
-                };
-            }());
-
             var setEditable = module.setEditable = function (bool) {
                 if (readOnly && bool) { return; }
                 editor.setOption('readOnly', !bool);
@@ -120,6 +51,7 @@ define([
 
             var Title;
             var UserList;
+            var Metadata;
 
             var config = {
                 initialState: '{}',
@@ -157,7 +89,7 @@ define([
                     obj.metadata.title = Title.title;
                 }
                 // set mode too...
-                obj.highlightMode = module.highlightMode;
+                obj.highlightMode = CodeMirror.highlightMode;
 
                 // stringify the json and send it into chainpad
                 return stringify(obj);
@@ -170,7 +102,7 @@ define([
 
                 editor.save();
 
-                var textValue = canonicalize($textarea.val());
+                var textValue = canonicalize(CodeMirror.$textarea.val());
                 var shjson = stringifyInner(textValue);
 
                 module.patchText(shjson);
@@ -180,120 +112,16 @@ define([
                 }
             };
 
-            var getHeadingText = function () {
-                var lines = editor.getValue().split(/\n/);
 
-                var text = '';
-                lines.some(function (line) {
-                    // lisps?
-                    var lispy = /^\s*(;|#\|)(.*?)$/;
-                    if (lispy.test(line)) {
-                        line.replace(lispy, function (a, one, two) {
-                            text = two;
-                        });
-                        return true;
-                    }
 
-                    // lines beginning with a hash are potentially valuable
-                    // works for markdown, python, bash, etc.
-                    var hash = /^#(.*?)$/;
-                    if (hash.test(line)) {
-                        line.replace(hash, function (a, one) {
-                            text = one;
-                        });
-                        return true;
-                    }
-
-                    // lines including a c-style comment are also valuable
-                    var clike = /^\s*(\/\*|\/\/)(.*)?(\*\/)*$/;
-                    if (clike.test(line)) {
-                        line.replace(clike, function (a, one, two) {
-                            if (!(two && two.replace)) { return; }
-                            text = two.replace(/\*\/\s*$/, '').trim();
-                        });
-                        return true;
-                    }
-
-                    // TODO make one more pass for multiline comments
-                });
-
-                return text.trim();
-            };
-
-            var exportText = module.exportText = function () {
-                var text = editor.getValue();
-
-                var ext = Modes.extensionOf(module.highlightMode);
-
-                var title = Cryptpad.fixFileName(Title.suggestTitle('cryptpad')) + (ext || '.txt');
-
-                Cryptpad.prompt(Messages.exportPrompt, title, function (filename) {
-                        if (filename === null) { return; }
-                        var blob = new Blob([text], {
-                            type: 'text/plain;charset=utf-8'
-                        });
-                        saveAs(blob, filename);
-                    });
-            };
-            var importText = function (content, file) {
-                var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox');
-                var mode;
-                var mime = CodeMirror.findModeByMIME(file.type);
-
-                if (!mime) {
-                    var ext = /.+\.([^.]+)$/.exec(file.name);
-                    if (ext[1]) {
-                        mode = CodeMirror.findModeByExtension(ext[1]);
-                    }
-                } else {
-                    mode = mime && mime.mode || null;
-                }
-
-                if (mode && Modes.list.some(function (o) { return o.mode === mode; })) {
-                    setMode(mode);
-                    $bar.find('#language-mode').val(mode);
-                } else {
-                    console.log("Couldn't find a suitable highlighting mode: %s", mode);
-                    setMode('text');
-                    $bar.find('#language-mode').val('text');
-                }
-
-                editor.setValue(content);
-                onLocal();
-            };
-
-            var updateMetadata = function(shjson) {
-                // Extract the user list (metadata) from the hyperjson
-                var json = (shjson === "") ? "" : JSON.parse(shjson);
-                var titleUpdated = false;
-                if (json && json.metadata) {
-                    if (json.metadata.users) {
-                        var userData = json.metadata.users;
-                        // Update the local user data
-                        UserList.addToUserData(userData);
-                    }
-                    if (json.metadata.defaultTitle) {
-                        Title.updateDefaultTitle(json.metadata.defaultTitle);
-                    }
-                    if (typeof json.metadata.title !== "undefined") {
-                        Title.updateTitle(json.metadata.title || Title.defaultTitle);
-                        titleUpdated = true;
-                    }
-                }
-                if (!titleUpdated) {
-                    Title.updateTitle(Title.defaultTitle);
-                }
-            };
-
-             config.onInit = function (info) {
+            config.onInit = function (info) {
                 UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad);
 
-                var titleCfg = {
-                    $bar: $bar,
-                    getHeadingText: getHeadingText
-                };
+                var titleCfg = { getHeadingText: CodeMirror.getHeadingText };
                 Title = Cryptpad.createTitle(titleCfg, config.onLocal, Cryptpad);
 
+                Metadata = Cryptpad.createMetadata(UserList, Title);
+
                 var configTb = {
                     displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
                     userList: UserList.getToolbarConfig(),
@@ -312,6 +140,7 @@ define([
                 toolbar = module.toolbar = Toolbar.create(configTb);
 
                 Title.setToolbar(toolbar);
+                CodeMirror.init(config.onLocal, Title, toolbar);
 
                 var $rightside = toolbar.$rightside;
 
@@ -364,12 +193,12 @@ define([
                 }
 
                 /* add an export button */
-                var $export = Cryptpad.createButton('export', true, {}, exportText);
+                var $export = Cryptpad.createButton('export', true, {}, CodeMirror.exportText);
                 $rightside.append($export);
 
                 if (!readOnly) {
                     /* add an import button */
-                    var $import = Cryptpad.createButton('import', true, {}, importText);
+                    var $import = Cryptpad.createButton('import', true, {}, CodeMirror.importText);
                     $rightside.append($import);
                 }
 
@@ -381,98 +210,17 @@ define([
                 var $forgetPad = Cryptpad.createButton('forget', true, {}, forgetCb);
                 $rightside.append($forgetPad);
 
-                var configureLanguage = function (cb) {
-                    // FIXME this is async so make it happen as early as possible
-                    var options = [];
-                    Modes.list.forEach(function (l) {
-                        options.push({
-                            tag: 'a',
-                            attributes: {
-                                'data-value': l.mode,
-                                'href': '#',
-                            },
-                            content: l.language // Pretty name of the language value
-                        });
-                    });
-                    var dropdownConfig = {
-                        text: 'Mode', // Button initial text
-                        options: options, // Entries displayed in the menu
-                        left: true, // Open to the left of the button
-                        isSelect: true,
-                    };
-                    var $block = module.$language = Cryptpad.createDropdown(dropdownConfig);
-                    $block.find('a').click(function () {
-                        setMode($(this).attr('data-value'), $block);
-                        onLocal();
-                    });
-
-                    $rightside.append($block);
-                    cb();
-                };
-
-                var configureTheme = function () {
-                    /*  Remember the user's last choice of theme using localStorage */
-                    var themeKey = 'CRYPTPAD_CODE_THEME';
-                    var lastTheme = localStorage.getItem(themeKey) || 'default';
-
-                    var options = [];
-                    Themes.forEach(function (l) {
-                        options.push({
-                            tag: 'a',
-                            attributes: {
-                                'data-value': l.name,
-                                'href': '#',
-                            },
-                            content: l.name // Pretty name of the language value
-                        });
-                    });
-                    var dropdownConfig = {
-                        text: 'Theme', // Button initial text
-                        options: options, // Entries displayed in the menu
-                        left: true, // Open to the left of the button
-                        isSelect: true,
-                        initialValue: lastTheme
-                    };
-                    var $block = module.$theme = Cryptpad.createDropdown(dropdownConfig);
-
-                    setTheme(lastTheme, $block);
-
-                    $block.find('a').click(function () {
-                        var theme = $(this).attr('data-value');
-                        setTheme(theme, $block);
-                        localStorage.setItem(themeKey, theme);
-                    });
-
-                    $rightside.append($block);
-                };
-
                 if (!readOnly) {
-                    configureLanguage(function () {
-                        configureTheme();
-                    });
+                    CodeMirror.configureLanguage(CodeMirror.configureTheme);
                 }
                 else {
-                    configureTheme();
+                    CodeMirror.configureTheme();
                 }
 
                 // set the hash
                 if (!readOnly) { Cryptpad.replaceHash(editHash); }
             };
 
-            var unnotify = module.unnotify = function () {
-                if (module.tabNotification &&
-                    typeof(module.tabNotification.cancel) === 'function') {
-                    module.tabNotification.cancel();
-                }
-            };
-
-            var notify = module.notify = function () {
-                if (Visible.isSupported() && !Visible.currently()) {
-                    unnotify();
-                    module.tabNotification = Notify.tab(1000, 10);
-                }
-            };
-
             config.onReady = function (info) {
                 if (module.realtime !== info.realtime) {
                     var realtime = module.realtime = info.realtime;
@@ -500,17 +248,17 @@ define([
                     newDoc = hjson.content;
 
                     if (hjson.highlightMode) {
-                        setMode(hjson.highlightMode, module.$language);
+                        CodeMirror.setMode(hjson.highlightMode);
                     }
                 }
 
-                if (!module.highlightMode) {
-                    setMode('javascript', module.$language);
-                    console.log("%s => %s", module.highlightMode, module.$language.val());
+                if (!CodeMirror.highlightMode) {
+                    CodeMirror.setMode('javascript');
+                    console.log("%s => %s", CodeMirror.highlightMode, CodeMirror.$language.val());
                 }
 
                 // Update the user list (metadata) from the hyperjson
-                updateMetadata(userDoc);
+                Metadata.update(userDoc);
 
                 if (newDoc) {
                     editor.setValue(newDoc);
@@ -520,12 +268,6 @@ define([
                     Title.updateTitle(Cryptpad.initialName);
                 }
 
-                if (Visible.isSupported()) {
-                    Visible.onChange(function (yes) {
-                        if (yes) { unnotify(); }
-                    });
-                }
-
                 Cryptpad.removeLoadingScreen();
                 setEditable(true);
                 initializing = false;
@@ -568,18 +310,18 @@ define([
                 if (isHistoryMode) { return; }
                 var scroll = editor.getScrollInfo();
 
-                var oldDoc = canonicalize($textarea.val());
+                var oldDoc = canonicalize(CodeMirror.$textarea.val());
                 var shjson = module.realtime.getUserDoc();
 
                 // Update the user list (metadata) from the hyperjson
-                updateMetadata(shjson);
+                Metadata.update(shjson);
 
                 var hjson = JSON.parse(shjson);
                 var remoteDoc = hjson.content;
 
                 var highlightMode = hjson.highlightMode;
                 if (highlightMode && highlightMode !== module.highlightMode) {
-                    setMode(highlightMode, module.$language);
+                    CodeMirror.setMode(highlightMode);
                 }
 
                 //get old cursor here
@@ -605,7 +347,7 @@ define([
                 editor.scrollTo(scroll.left, scroll.top);
 
                 if (!readOnly) {
-                    var textValue = canonicalize($textarea.val());
+                    var textValue = canonicalize(CodeMirror.$textarea.val());
                     var shjson2 = stringifyInner(textValue);
                     if (shjson2 !== shjson) {
                         console.error("shjson2 !== shjson");
@@ -613,9 +355,7 @@ define([
                         module.patchText(shjson2);
                     }
                 }
-                if (oldDoc !== remoteDoc) {
-                    notify();
-                }
+                if (oldDoc !== remoteDoc) { Cryptpad.notify(); }
             };
 
             config.onAbort = function () {
diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js
new file mode 100644
index 000000000..bbaad49df
--- /dev/null
+++ b/www/common/common-codemirror.js
@@ -0,0 +1,247 @@
+define([
+    'jquery',
+    '/common/modes.js',
+    '/common/themes.js',
+    '/bower_components/file-saver/FileSaver.min.js'
+], function ($, Modes, Themes) {
+    var saveAs = window.saveAs;
+    var module = {};
+
+    module.create = function (CMeditor, ifrw, Cryptpad) {
+        var exp = {};
+
+        var Messages = Cryptpad.Messages;
+
+        var CodeMirror = exp.CodeMirror = CMeditor;
+        CodeMirror.modeURL = "/bower_components/codemirror/mode/%N/%N.js";
+
+        var $pad = $('#pad-iframe');
+        var $textarea = exp.$textarea = $pad.contents().find('#editor1');
+
+        var Title;
+        var onLocal = function () {};
+        var $rightside;
+        exp.init = function (local, title, toolbar) {
+            if (typeof local === "function") {
+                onLocal = local;
+            }
+            Title = title;
+            $rightside = toolbar.$rightside;
+        };
+
+        var editor = exp.editor = CMeditor.fromTextArea($textarea[0], {
+            lineNumbers: true,
+            lineWrapping: true,
+            autoCloseBrackets: true,
+            matchBrackets : true,
+            showTrailingSpace : true,
+            styleActiveLine : true,
+            search: true,
+            highlightSelectionMatches: {showToken: /\w+/},
+            extraKeys: {"Shift-Ctrl-R": undefined},
+            foldGutter: true,
+            gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
+            mode: "javascript",
+            readOnly: true
+        });
+        editor.setValue(Messages.codeInitialState);
+
+        var setMode = exp.setMode = function (mode) {
+            exp.highlightMode = mode;
+            if (mode === 'text') {
+                editor.setOption('mode', 'text');
+                return;
+            }
+            CMeditor.autoLoadMode(editor, mode);
+            editor.setOption('mode', mode);
+            if (exp.$language) {
+                var name = exp.$language.find('a[data-value="' + mode + '"]').text() || 'Mode';
+                exp.$language.setValue(name);
+            }
+        };
+
+        var setTheme = exp.setTheme = (function () {
+            var path = '/common/theme/';
+
+            var $head = $(ifrw.document.head);
+
+            var themeLoaded = exp.themeLoaded = function (theme) {
+                return $head.find('link[href*="'+theme+'"]').length;
+            };
+
+            var loadTheme = exp.loadTheme = function (theme) {
+                $head.append($('<link />', {
+                    rel: 'stylesheet',
+                    href: path + theme + '.css',
+                }));
+            };
+
+            return function (theme, $select) {
+                if (!theme) {
+                    editor.setOption('theme', 'default');
+                } else {
+                    if (!themeLoaded(theme)) {
+                        loadTheme(theme);
+                    }
+                    editor.setOption('theme', theme);
+                }
+                if ($select) {
+                    $select.setValue(theme || 'Theme');
+                }
+            };
+        }());
+
+        var getHeadingText = function () {
+            var lines = editor.getValue().split(/\n/);
+
+            var text = '';
+            lines.some(function (line) {
+                // lisps?
+                var lispy = /^\s*(;|#\|)(.*?)$/;
+                if (lispy.test(line)) {
+                    line.replace(lispy, function (a, one, two) {
+                        text = two;
+                    });
+                    return true;
+                }
+
+                // lines beginning with a hash are potentially valuable
+                // works for markdown, python, bash, etc.
+                var hash = /^#(.*?)$/;
+                if (hash.test(line)) {
+                    line.replace(hash, function (a, one) {
+                        text = one;
+                    });
+                    return true;
+                }
+
+                // lines including a c-style comment are also valuable
+                var clike = /^\s*(\/\*|\/\/)(.*)?(\*\/)*$/;
+                if (clike.test(line)) {
+                    line.replace(clike, function (a, one, two) {
+                        if (!(two && two.replace)) { return; }
+                        text = two.replace(/\*\/\s*$/, '').trim();
+                    });
+                    return true;
+                }
+
+                // TODO make one more pass for multiline comments
+            });
+
+            return text.trim();
+        };
+
+        exp.configureLanguage = function (cb) {
+            var options = [];
+            Modes.list.forEach(function (l) {
+                options.push({
+                    tag: 'a',
+                    attributes: {
+                        'data-value': l.mode,
+                        'href': '#',
+                    },
+                    content: l.language // Pretty name of the language value
+                });
+            });
+            var dropdownConfig = {
+                text: 'Mode', // Button initial text
+                options: options, // Entries displayed in the menu
+                left: true, // Open to the left of the button
+                isSelect: true,
+            };
+            console.log('here');
+            var $block = exp.$language = Cryptpad.createDropdown(dropdownConfig);
+            console.log(exp);
+            $block.find('a').click(function () {
+                setMode($(this).attr('data-value'), $block);
+                onLocal();
+            });
+
+            if ($rightside) { $rightside.append($block); }
+            cb();
+        };
+
+        exp.configureTheme = function () {
+            /*  Remember the user's last choice of theme using localStorage */
+            var themeKey = 'CRYPTPAD_CODE_THEME';
+            var lastTheme = localStorage.getItem(themeKey) || 'default';
+
+            var options = [];
+            Themes.forEach(function (l) {
+                options.push({
+                    tag: 'a',
+                    attributes: {
+                        'data-value': l.name,
+                        'href': '#',
+                    },
+                    content: l.name // Pretty name of the language value
+                });
+            });
+            var dropdownConfig = {
+                text: 'Theme', // Button initial text
+                options: options, // Entries displayed in the menu
+                left: true, // Open to the left of the button
+                isSelect: true,
+                initialValue: lastTheme
+            };
+            var $block = exp.$theme = Cryptpad.createDropdown(dropdownConfig);
+
+            setTheme(lastTheme, $block);
+
+            $block.find('a').click(function () {
+                var theme = $(this).attr('data-value');
+                setTheme(theme, $block);
+                localStorage.setItem(themeKey, theme);
+            });
+
+            if ($rightside) { $rightside.append($block); }
+        };
+
+        exp.exportText = function () {
+            var text = editor.getValue();
+
+            var ext = Modes.extensionOf(exp.highlightMode);
+
+            var title = Cryptpad.fixFileName(Title ? Title.suggestTitle('cryptpad') : "?") + (ext || '.txt');
+
+            Cryptpad.prompt(Messages.exportPrompt, title, function (filename) {
+                if (filename === null) { return; }
+                var blob = new Blob([text], {
+                    type: 'text/plain;charset=utf-8'
+                });
+                saveAs(blob, filename);
+            });
+        };
+        exp.importText = function (content, file) {
+            var $bar = ifrw.$('#cme_toolbox');
+            var mode;
+            var mime = CodeMirror.findModeByMIME(file.type);
+
+            if (!mime) {
+                var ext = /.+\.([^.]+)$/.exec(file.name);
+                if (ext[1]) {
+                    mode = CMeditor.findModeByExtension(ext[1]);
+                }
+            } else {
+                mode = mime && mime.mode || null;
+            }
+
+            if (mode && Modes.list.some(function (o) { return o.mode === mode; })) {
+                setMode(mode);
+                $bar.find('#language-mode').val(mode);
+            } else {
+                console.log("Couldn't find a suitable highlighting mode: %s", mode);
+                setMode('text');
+                $bar.find('#language-mode').val('text');
+            }
+
+            editor.setValue(content);
+            onLocal();
+        };
+
+        return exp;
+    };
+
+    return module;
+});
+
diff --git a/www/common/common-interface.js b/www/common/common-interface.js
index 979ffcf67..fb965a5d9 100644
--- a/www/common/common-interface.js
+++ b/www/common/common-interface.js
@@ -3,8 +3,10 @@ define([
     '/customize/messages.js',
     '/common/common-util.js',
     '/customize/application_config.js',
-    '/bower_components/alertifyjs/dist/js/alertify.js'
-], function ($, Messages, Util, AppConfig, Alertify) {
+    '/bower_components/alertifyjs/dist/js/alertify.js',
+    '/common/notify.js',
+    '/common/visible.js'
+], function ($, Messages, Util, AppConfig, Alertify, Notify, Visible) {
 
     var UI = {};
 
@@ -204,6 +206,28 @@ define([
         $('#' + LOADING).find('p').html(error || Messages.error);
     };
 
+    // Notify
+    var notify = {};
+    UI.unnotify = function () {
+        if (notify.tabNotification &&
+            typeof(notify.tabNotification.cancel) === 'function') {
+            notify.tabNotification.cancel();
+        }
+    };
+
+    UI.notify = function () {
+        if (Visible.isSupported() && !Visible.currently()) {
+            UI.unnotify();
+            notify.tabNotification = Notify.tab(1000, 10);
+        }
+    };
+
+    if (Visible.isSupported()) {
+        Visible.onChange(function (yes) {
+            if (yes) { UI.unnotify(); }
+        });
+    }
+
     UI.importContent = function (type, f) {
         return function () {
             var $files = $('<input type="file">').click();
diff --git a/www/common/common-metadata.js b/www/common/common-metadata.js
new file mode 100644
index 000000000..2198156d5
--- /dev/null
+++ b/www/common/common-metadata.js
@@ -0,0 +1,51 @@
+define(function () {
+    var module = {};
+
+    module.create = function (UserList, Title, cfg) {
+        var exp = {};
+
+        var updateMetadata = exp.update = function (shjson) {
+            // Extract the user list (metadata) from the hyperjson
+            var json = (!shjson || typeof shjson !== "string") ? "" : JSON.parse(shjson);
+            var titleUpdated = false;
+            var metadata;
+            if (Array.isArray(json)) {
+                metadata = json[3] && json[3].metadata;
+            } else {
+                metadata = json.metadata;
+            }
+            if (typeof metadata === "object") {
+                if (metadata.users) {
+                    var userData = metadata.users;
+                    // Update the local user data
+                    UserList.addToUserData(userData);
+                }
+                if (metadata.defaultTitle) {
+                    Title.updateDefaultTitle(metadata.defaultTitle);
+                }
+                if (typeof metadata.title !== "undefined") {
+                    Title.updateTitle(metadata.title || Title.defaultTitle);
+                    titleUpdated = true;
+                }
+                if (metadata.slideOptions && cfg.slideOptions) {
+                    cfg.slideOptions(metadata.slideOptions);
+                }
+                if (metadata.color && cfg.slideColors) {
+                    cfg.slideColors(metadata.color, metadata.backColor);
+                }
+                if (typeof(metadata.palette) !== 'undefined' && cfg.updatePalette) {
+                    cfg.updatePalette(metadata.palette);
+                }
+            }
+            if (!titleUpdated) {
+                Title.updateTitle(Title.defaultTitle);
+            }
+        };
+
+        return exp;
+    };
+
+    return module;
+});
+
+
diff --git a/www/common/common-title.js b/www/common/common-title.js
index 7ceb2741e..056205bfb 100644
--- a/www/common/common-title.js
+++ b/www/common/common-title.js
@@ -9,6 +9,8 @@ define(function () {
 
         exp.title = document.title; // TOOD slides
 
+        cfg = cfg || {};
+
         var getHeadingText = cfg.getHeadingText || function () { return; };
         var updateLocalTitle = function (newTitle) {
             exp.title = newTitle;
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 29d3e0ddb..0c777b9c8 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -9,11 +9,13 @@ define([
     '/common/common-history.js',
     '/common/common-userlist.js',
     '/common/common-title.js',
+    '/common/common-metadata.js',
+    '/common/common-codemirror.js',
 
     '/common/clipboard.js',
     '/common/pinpad.js',
     '/customize/application_config.js'
-], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Title, Clipboard, Pinpad, AppConfig) {
+], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Title, Metadata, CodeMirror, Clipboard, Pinpad, AppConfig) {
 
 /*  This file exposes functionality which is specific to Cryptpad, but not to
     any particular pad type. This includes functions for committing metadata
@@ -54,6 +56,8 @@ define([
     common.addLoadingScreen = UI.addLoadingScreen;
     common.removeLoadingScreen = UI.removeLoadingScreen;
     common.errorLoadingScreen = UI.errorLoadingScreen;
+    common.notify = UI.notify;
+    common.unnotify = UI.unnotify;
 
     // import common utilities for export
     common.find = Util.find;
@@ -92,6 +96,12 @@ define([
     // Title
     common.createTitle = Title.create;
 
+    // Metadata
+    common.createMetadata = Metadata.create;
+
+    // CodeMirror
+    common.createCodemirror = CodeMirror.create;
+
     // History
     common.getHistory = function (config) { return History.create(common, config); };
 
diff --git a/www/pad/main.js b/www/pad/main.js
index 5e679f05f..bf34b9328 100644
--- a/www/pad/main.js
+++ b/www/pad/main.js
@@ -11,14 +11,11 @@ define([
     '/bower_components/textpatcher/TextPatcher.js',
     '/common/cryptpad-common.js',
     '/common/cryptget.js',
-    '/common/visible.js',
-    '/common/notify.js',
     '/pad/links.js',
     '/bower_components/file-saver/FileSaver.min.js',
     '/bower_components/diff-dom/diffDOM.js'
 ], function ($, Crypto, realtimeInput, Hyperjson,
-    Toolbar, Cursor, JsonOT, TypingTest, JSONSortify, TextPatcher, Cryptpad, Cryptget,
-    Visible, Notify, Links) {
+    Toolbar, Cursor, JsonOT, TypingTest, JSONSortify, TextPatcher, Cryptpad, Cryptget, Links) {
     var saveAs = window.saveAs;
     var Messages = Cryptpad.Messages;
 
@@ -105,8 +102,6 @@ define([
         editor.on('instanceReady', Links.addSupportForOpeningLinksInNewTab(Ckeditor));
         editor.on('instanceReady', function () {
             var $bar = $('#pad-iframe')[0].contentWindow.$('#cke_1_toolbox');
-            var parsedHash = Cryptpad.parsePadUrl(window.location.href);
-            var defaultName = Cryptpad.getDefaultName(parsedHash);
 
             var isHistoryMode = false;
 
@@ -277,7 +272,10 @@ define([
             };
 
             var initializing = true;
+
+            var Title;
             var UserList;
+            var Metadata;
 
             var getHeadingText = function () {
                 var text;
@@ -290,14 +288,6 @@ define([
                 })) { return text; }
             };
 
-            var suggestName = function (fallback) {
-                if (document.title === defaultName) {
-                    return getHeadingText() || fallback || "";
-                } else {
-                    return document.title || getHeadingText() || defaultName;
-                }
-            };
-
             var DD = new DiffDom(diffOptions);
 
             // apply patches, and try not to lose the cursor in the process!
@@ -316,11 +306,11 @@ define([
                 hjson[3] = {
                     metadata: {
                         users: UserList.userData,
-                        defaultTitle: defaultName
+                        defaultTitle: Title.defaultTitle
                     }
                 };
                 if (!initializing) {
-                    hjson[3].metadata.title = document.title;
+                    hjson[3].metadata.title = Title.title;
                 } else if (Cryptpad.initialName && !hjson[3].metadata.title) {
                     hjson[3].metadata.title = Cryptpad.initialName;
                 }
@@ -369,68 +359,6 @@ define([
                 }
             };
 
-            var updateTitle = function (newTitle) {
-                if (newTitle === document.title) { return; }
-                // Change the title now, and set it back to the old value if there is an error
-                var oldTitle = document.title;
-                document.title = newTitle;
-                Cryptpad.renamePad(newTitle, function (err, data) {
-                    if (err) {
-                        console.log("Couldn't set pad title");
-                        console.error(err);
-                        document.title = oldTitle;
-                        return;
-                    }
-                    document.title = data;
-                    $bar.find('.' + Toolbar.constants.title).find('span.title').text(data);
-                    $bar.find('.' + Toolbar.constants.title).find('input').val(data);
-                });
-            };
-
-            var updateDefaultTitle = function (defaultTitle) {
-                defaultName = defaultTitle;
-                $bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName);
-            };
-
-            var updateMetadata = function(shjson) {
-                // Extract the user list (metadata) from the hyperjson
-                if (!shjson || typeof (shjson) !== "string") { updateTitle(defaultName); return; }
-                var hjson = JSON.parse(shjson);
-                var peerMetadata = hjson[3];
-                var titleUpdated = false;
-                if (peerMetadata && peerMetadata.metadata) {
-                    if (peerMetadata.metadata.users) {
-                        var userData = peerMetadata.metadata.users;
-                        // Update the local user data
-                        UserList.addToUserData(userData);
-                    }
-                    if (peerMetadata.metadata.defaultTitle) {
-                        updateDefaultTitle(peerMetadata.metadata.defaultTitle);
-                    }
-                    if (typeof peerMetadata.metadata.title !== "undefined") {
-                        updateTitle(peerMetadata.metadata.title || defaultName);
-                        titleUpdated = true;
-                    }
-                }
-                if (!titleUpdated) {
-                    updateTitle(defaultName);
-                }
-            };
-
-            var unnotify = function () {
-                if (module.tabNotification &&
-                    typeof(module.tabNotification.cancel) === 'function') {
-                    module.tabNotification.cancel();
-                }
-            };
-
-            var notify = function () {
-                if (Visible.isSupported() && !Visible.currently()) {
-                    unnotify();
-                    module.tabNotification = Notify.tab(1000, 10);
-                }
-            };
-
             realtimeOptions.onRemote = function () {
                 if (initializing) { return; }
                 if (isHistoryMode) { return; }
@@ -443,7 +371,7 @@ define([
                 cursor.update();
 
                 // Update the user list (metadata) from the hyperjson
-                updateMetadata(shjson);
+                Metadata.update(shjson);
 
                 var newInner = JSON.parse(shjson);
                 var newSInner;
@@ -488,7 +416,7 @@ define([
                 // Notify only when the content has changed, not when someone has joined/left
                 var oldSInner = stringify(JSON.parse(oldShjson)[2]);
                 if (newSInner && newSInner !== oldSInner) {
-                    notify();
+                    Cryptpad.notify();
                 }
             };
 
@@ -516,15 +444,14 @@ define([
                 realtimeOptions.onLocal();
             };
 
-            var renameCb = function (err, title) {
-                if (err) { return; }
-                document.title = title;
-                editor.fire('change');
-            };
-
             realtimeOptions.onInit = function (info) {
                 UserList = Cryptpad.createUserList(info, realtimeOptions.onLocal, Cryptget, Cryptpad);
 
+                var titleCfg = { getHeadingText: getHeadingText };
+                Title = Cryptpad.createTitle(titleCfg, realtimeOptions.onLocal, Cryptpad);
+
+                Metadata = Cryptpad.createMetadata(UserList, Title);
+
                 var configTb = {
                     displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
                     userList: UserList.getToolbarConfig(),
@@ -532,11 +459,7 @@ define([
                         secret: secret,
                         channel: info.channel
                     },
-                    title: {
-                        onRename: renameCb,
-                        defaultName: defaultName,
-                        suggestName: suggestName
-                    },
+                    title: Title.getTitleConfig(),
                     common: Cryptpad,
                     readOnly: readOnly,
                     ifrw: ifrw,
@@ -546,6 +469,8 @@ define([
                 };
                 toolbar = info.realtime.toolbar = Toolbar.create(configTb);
 
+                Title.setToolbar(toolbar);
+
                 var $rightside = toolbar.$rightside;
 
                 var editHash;
@@ -666,13 +591,7 @@ define([
                     applyHjson(shjson);
 
                     // Update the user list (metadata) from the hyperjson
-                    updateMetadata(shjson);
-
-                    if (Visible.isSupported()) {
-                        Visible.onChange(function (yes) {
-                            if (yes) { unnotify(); }
-                        });
-                    }
+                    Metadata.update(shjson);
 
                     if (!readOnly) {
                         var shjson2 = stringifyDOM(inner);
@@ -686,7 +605,7 @@ define([
                         }
                     }
                 } else {
-                    updateTitle(Cryptpad.initialName || defaultName);
+                    Title.updateTitle(Cryptpad.initialName || Title.defaultTitle);
                     documentBody.innerHTML = Messages.initialState;
                 }
 
diff --git a/www/poll/main.js b/www/poll/main.js
index 3881ddd87..9f1af0a2a 100644
--- a/www/poll/main.js
+++ b/www/poll/main.js
@@ -8,10 +8,8 @@ define([
     '/bower_components/hyperjson/hyperjson.js',
     'render.js',
     '/common/toolbar2.js',
-    '/common/visible.js',
-    '/common/notify.js',
     '/bower_components/file-saver/FileSaver.min.js'
-], function ($, TextPatcher, Listmap, Crypto, Cryptpad, Cryptget, Hyperjson, Renderer, Toolbar, Visible, Notify) {
+], function ($, TextPatcher, Listmap, Crypto, Cryptpad, Cryptget, Hyperjson, Renderer, Toolbar) {
 
     var Messages = Cryptpad.Messages;
 
@@ -186,20 +184,6 @@ define([
         }
     };
 
-    var unnotify = function () {
-        if (APP.tabNotification &&
-            typeof(APP.tabNotification.cancel) === 'function') {
-            APP.tabNotification.cancel();
-        }
-    };
-
-    var notify = function () {
-        if (Visible.isSupported() && !Visible.currently()) {
-            unnotify();
-            APP.tabNotification = Notify.tab(1000, 10);
-        }
-    };
-
     /*  Any time the realtime object changes, call this function */
     var change = function (o, n, path, throttle, cb) {
         if (path && !Cryptpad.isArray(path)) {
@@ -228,7 +212,7 @@ define([
 
             https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion
         */
-        notify();
+        Cryptpad.notify();
 
         var getFocus = function () {
             var active = document.activeElement;
@@ -442,43 +426,9 @@ define([
         });
     };
 
+    var Title;
     var UserList;
 
-    var updateTitle = function (newTitle) {
-        if (newTitle === document.title) { return; }
-        // Change the title now, and set it back to the old value if there is an error
-        var oldTitle = document.title;
-        document.title = newTitle;
-        Cryptpad.renamePad(newTitle, function (err, data) {
-            if (err) {
-                debug("Couldn't set pad title");
-                error(err);
-                document.title = oldTitle;
-                return;
-            }
-            document.title = data;
-            APP.$bar.find('.' + Toolbar.constants.title).find('span.title').text(data);
-            APP.$bar.find('.' + Toolbar.constants.title).find('input').val(data);
-        });
-    };
-
-    var updateDefaultTitle = function (defaultTitle) {
-        defaultName = defaultTitle;
-        APP.$bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName);
-    };
-    var renameCb = function (err, title) {
-        if (err) { return; }
-        document.title = title;
-        APP.proxy.info.title = title === defaultName ? "" : title;
-    };
-
-    var suggestName = function (fallback) {
-        if (document.title === defaultName) {
-            return fallback || "";
-        }
-        return document.title || defaultName || "";
-    };
-
     var copyObject = function (obj) {
         return JSON.parse(JSON.stringify(obj));
     };
@@ -550,15 +500,15 @@ var ready = function (info, userid, readOnly) {
 
     // Title
     if (APP.proxy.info.defaultTitle) {
-        updateDefaultTitle(APP.proxy.info.defaultTitle);
+        Title.updateDefaultTitle(APP.proxy.info.defaultTitle);
     } else {
-        APP.proxy.info.defaultTitle = defaultName;
+        APP.proxy.info.defaultTitle = Title.defaultTitle;
     }
     if (Cryptpad.initialName && !APP.proxy.info.title) {
         APP.proxy.info.title = Cryptpad.initialName;
-        updateTitle(Cryptpad.initialName);
+        Title.updateTitle(Cryptpad.initialName);
     } else {
-        updateTitle(APP.proxy.info.title || defaultName);
+        Title.updateTitle(APP.proxy.info.title || Title.defaultTitle);
     }
 
     // Description
@@ -586,8 +536,8 @@ var ready = function (info, userid, readOnly) {
     proxy
         .on('change', ['info'], function (o, n, p) {
             if (p[1] === 'title') {
-                updateTitle(n);
-                notify();
+                Title.updateTitle(n);
+                Cryptpad.notify();
             } else if (p[1] === "userData") {
                 UserList.addToUserData(APP.proxy.info.userData);
             } else if (p[1] === 'description') {
@@ -602,7 +552,7 @@ var ready = function (info, userid, readOnly) {
                     el.selectionStart = selects[0];
                     el.selectionEnd = selects[1];
                 }
-                notify();
+                Cryptpad.notify();
             }
 
             debug("change: (%s, %s, [%s])", o, n, p.join(', '));
@@ -612,13 +562,6 @@ var ready = function (info, userid, readOnly) {
 
     UserList.addToUserData(APP.proxy.info.userData);
 
-    if (Visible.isSupported()) {
-        Visible.onChange(function (yes) {
-            if (yes) { unnotify(); }
-        });
-    }
-
-
     APP.ready = true;
     if (!proxy.published) {
         publish(false);
@@ -664,6 +607,11 @@ var create = function (info) {
     };
     UserList = Cryptpad.createUserList(info, onLocal, Cryptget, Cryptpad);
 
+    var onLocalTitle = function () {
+        APP.proxy.info.title = Title.isDefaultTitle() ? "" : Title.title;
+    };
+    Title = Cryptpad.createTitle({}, onLocalTitle, Cryptpad);
+
     var configTb = {
         displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
         userList: UserList.getToolbarConfig(),
@@ -671,11 +619,7 @@ var create = function (info) {
             secret: secret,
             channel: info.channel
         },
-        title: {
-            onRename: renameCb,
-            defaultName: defaultName,
-            suggestName: suggestName
-        },
+        title: Title.getTitleConfig(),
         common: Cryptpad,
         readOnly: readOnly,
         ifrw: window,
@@ -685,6 +629,8 @@ var create = function (info) {
     };
     APP.toolbar = Toolbar.create(configTb);
 
+    Title.setToolbar(APP.toolbar);
+
     var $rightside = APP.toolbar.$rightside;
 
     /* add a forget button */
diff --git a/www/slide/main.js b/www/slide/main.js
index 2b229c14b..0d7de7758 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -8,15 +8,8 @@ define([
     '/bower_components/chainpad-json-validator/json-ot.js',
     '/common/cryptpad-common.js',
     '/common/cryptget.js',
-    '/common/modes.js',
-    '/common/themes.js',
-    '/common/visible.js',
-    '/common/notify.js',
     '/slide/slide.js',
-    '/bower_components/file-saver/FileSaver.min.js'
-], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget, Modes, Themes, Visible, Notify, Slide) {
-    var saveAs = window.saveAs;
-
+], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget, Slide) {
     var Messages = Cryptpad.Messages;
 
     var module = window.APP = {
@@ -30,23 +23,15 @@ define([
     var SLIDE_COLOR_ID = "cryptpad-color";
 
 
-    var stringify = function (obj) {
-        return JSONSortify(obj);
-    };
-
-    var setTabTitle = function () {
-        var slideNumber = '';
-        if (Slide.index && Slide.content.length) {
-            slideNumber = ' (' + Slide.index + '/' + Slide.content.length + ')';
-        }
-        document.title = APP.title + slideNumber;
-    };
-
     $(function () {
         Cryptpad.addLoadingScreen();
 
+        var stringify = function (obj) {
+            return JSONSortify(obj);
+        };
         var ifrw = module.ifrw = $('#pad-iframe')[0].contentWindow;
         var toolbar;
+        var editor;
 
         var secret = Cryptpad.getSecrets();
         var readOnly = secret.keys && !secret.keys.editKeyStr;
@@ -62,77 +47,32 @@ define([
         };
 
         var andThen = function (CMeditor) {
-            var CodeMirror = module.CodeMirror = CMeditor;
-            CodeMirror.modeURL = "/bower_components/codemirror/mode/%N/%N.js";
-            var $pad = $('#pad-iframe');
-            var $textarea = $pad.contents().find('#editor1');
+            var CodeMirror = Cryptpad.createCodemirror(CMeditor, ifrw, Cryptpad);
+            editor = CodeMirror.editor;
 
             var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox');
-            var parsedHash = Cryptpad.parsePadUrl(window.location.href);
-            var defaultName = Cryptpad.getDefaultName(parsedHash);
-            var initialState = Messages.slideInitialState;
+            var $pad = $('#pad-iframe');
 
             var isHistoryMode = false;
 
-            var editor = module.editor = CMeditor.fromTextArea($textarea[0], {
-                lineNumbers: true,
-                lineWrapping: true,
-                autoCloseBrackets: true,
-                matchBrackets : true,
-                showTrailingSpace : true,
-                styleActiveLine : true,
-                search: true,
-                highlightSelectionMatches: {showToken: /\w+/},
-                extraKeys: {"Shift-Ctrl-R": undefined},
-                foldGutter: true,
-                gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
-                mode: "javascript",
-                readOnly: true
-            });
-            editor.setValue(initialState);
-
-            var setMode = module.setMode = function (mode, $select) {
-                module.highlightMode = mode;
-                if (mode === 'text') {
-                    editor.setOption('mode', 'text');
-                    return;
-                }
-                CodeMirror.autoLoadMode(editor, mode);
-                editor.setOption('mode', mode);
-                if ($select && $select.val) { $select.val(mode); }
+            var setEditable = module.setEditable = function (bool) {
+                if (readOnly && bool) { return; }
+                editor.setOption('readOnly', !bool);
             };
-            setMode('markdown');
 
-            var setTheme = module.setTheme = (function () {
-                var path = '/common/theme/';
+            var Title;
+            var UserList;
+            var Metadata;
 
-                var $head = $(ifrw.document.head);
+            var setTabTitle = function (title) {
+                var slideNumber = '';
+                if (Slide.index && Slide.content.length) {
+                    slideNumber = ' (' + Slide.index + '/' + Slide.content.length + ')';
+                }
+                document.title = title + slideNumber;
+            };
 
-                var themeLoaded = module.themeLoaded = function (theme) {
-                    return $head.find('link[href*="'+theme+'"]').length;
-                };
-
-                var loadTheme = module.loadTheme = function (theme) {
-                    $head.append($('<link />', {
-                        rel: 'stylesheet',
-                        href: path + theme + '.css',
-                    }));
-                };
-
-                return function (theme, $select) {
-                    if (!theme) {
-                        editor.setOption('theme', 'default');
-                    } else {
-                        if (!themeLoaded(theme)) {
-                            loadTheme(theme);
-                        }
-                        editor.setOption('theme', theme);
-                    }
-                    if ($select) {
-                        $select.setValue(theme || 'Theme');
-                    }
-                };
-            }());
+            var initialState = Messages.slideInitialState;
 
             var $modal = $pad.contents().find('#modal');
             var $content = $pad.contents().find('#content');
@@ -162,18 +102,10 @@ define([
                 enterPresentationMode(true);
             }
 
-            var setEditable = module.setEditable = function (bool) {
-                if (readOnly && bool) { return; }
-                editor.setOption('readOnly', !bool);
-            };
-
-            var UserList;
-
             var textColor;
             var backColor;
 
             var config = {
-                //initialState: Messages.codeInitialState,
                 initialState: '{}',
                 websocketURL: Cryptpad.getWebsocketURL(),
                 channel: secret.channel,
@@ -202,12 +134,12 @@ define([
                     content: textValue,
                     metadata: {
                         users: UserList.userData,
-                        defaultTitle: defaultName,
+                        defaultTitle: Title.defaultTitle,
                         slideOptions: slideOptions
                     }
                 };
                 if (!initializing) {
-                    obj.metadata.title = APP.title;
+                    obj.metadata.title = Title.title;
                 }
                 if (textColor) {
                     obj.metadata.color = textColor;
@@ -226,7 +158,7 @@ define([
 
                 editor.save();
 
-                var textValue = canonicalize($textarea.val());
+                var textValue = canonicalize(CodeMirror.$textarea.val());
                 var shjson = stringifyInner(textValue);
 
                 module.patchText(shjson);
@@ -237,156 +169,29 @@ define([
                 }
             };
 
-            var getHeadingText = function () {
-                var lines = editor.getValue().split(/\n/);
-
-                var text = '';
-                lines.some(function (line) {
-                    // lines beginning with a hash are potentially valuable
-                    // works for markdown, python, bash, etc.
-                    var hash = /^#(.*?)$/;
-                    if (hash.test(line)) {
-                        line.replace(hash, function (a, one) {
-                            text = one;
-                        });
-                        return true;
+            var metadataCfg = {
+                slideColors: function (text, back) {
+                    if (text) {
+                        textColor = text;
+                        $modal.css('color', text);
+                        $modal.css('border-color', text);
+                        $pad.contents().find('#' + SLIDE_COLOR_ID).css('color', text);
                     }
-                });
-
-                return text.trim();
-            };
-
-            var suggestName = function () {
-                if (APP.title === defaultName) {
-                    return getHeadingText() || "";
-                } else {
-                    return APP.title || getHeadingText() || defaultName;
-                }
-            };
-
-            var exportText = module.exportText = function () {
-                var text = editor.getValue();
-
-                var ext = Modes.extensionOf(module.highlightMode);
-
-                var title = Cryptpad.fixFileName(suggestName()) + ext;
-
-                Cryptpad.prompt(Messages.exportPrompt, title, function (filename) {
-                        if (filename === null) { return; }
-                        var blob = new Blob([text], {
-                            type: 'text/plain;charset=utf-8'
-                        });
-                        saveAs(blob, filename);
-                    });
-            };
-            var importText = function (content, file) {
-                var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox');
-                var mode;
-                var mime = CodeMirror.findModeByMIME(file.type);
-
-                if (!mime) {
-                    var ext = /.+\.([^.]+)$/.exec(file.name);
-                    if (ext[1]) {
-                        mode = CodeMirror.findModeByExtension(ext[1]);
+                    if (back) {
+                        backColor = back;
+                        $modal.css('background-color', back);
+                        $pad.contents().find('#' + SLIDE_COLOR_ID).css('background', back);
+                        $pad.contents().find('#' + SLIDE_BACKCOLOR_ID).css('color', back);
                     }
-                } else {
-                    mode = mime && mime.mode || null;
-                }
-
-                if (mode && Modes.list.some(function (o) { return o.mode === mode; })) {
-                    setMode(mode);
-                    $bar.find('#language-mode').val(mode);
-                } else {
-                    console.log("Couldn't find a suitable highlighting mode: %s", mode);
-                    setMode('text');
-                    $bar.find('#language-mode').val('text');
-                }
-
-                editor.setValue(content);
-                onLocal();
-            };
-
-            var updateTitle = function (newTitle) {
-                if (newTitle === APP.title) { return; }
-                // Change the title now, and set it back to the old value if there is an error
-                var oldTitle = APP.title;
-                APP.title = newTitle;
-                setTabTitle();
-                Cryptpad.renamePad(newTitle, function (err, data) {
-                    if (err) {
-                        console.log("Couldn't set pad title");
-                        console.error(err);
-                        APP.title = oldTitle;
-                        setTabTitle();
-                        return;
+                },
+                slideOptions: function (newOpt) {
+                    if (stringify(newOpt) !== stringify(slideOptions)) {
+                        $.extend(slideOptions, newOpt);
+                        // TODO: manage realtime + cursor in the "options" modal ??
+                        Slide.updateOptions();
                     }
-                    APP.title = data;
-                    setTabTitle();
-                    $bar.find('.' + Toolbar.constants.title).find('span.title').text(data);
-                    $bar.find('.' + Toolbar.constants.title).find('input').val(data);
-                    if (slideOptions.title) { Slide.updateOptions(); }
-                });
-            };
-
-            var updateColors = function (text, back) {
-                if (text) {
-                    textColor = text;
-                    $modal.css('color', text);
-                    $modal.css('border-color', text);
-                    $pad.contents().find('#' + SLIDE_COLOR_ID).css('color', text);
                 }
-                if (back) {
-                    backColor = back;
-                    $modal.css('background-color', back);
-                    $pad.contents().find('#' + SLIDE_COLOR_ID).css('background', back);
-                    $pad.contents().find('#' + SLIDE_BACKCOLOR_ID).css('color', back);
-                }
-            };
-
-            var updateOptions = function (newOpt) {
-                if (stringify(newOpt) !== stringify(slideOptions)) {
-                    $.extend(slideOptions, newOpt);
-                    // TODO: manage realtime + cursor in the "options" modal ??
-                    Slide.updateOptions();
-                }
-            };
-
-            var updateDefaultTitle = function (defaultTitle) {
-                defaultName = defaultTitle;
-                $bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName);
-            };
-
-            var updateMetadata = function(shjson) {
-                // Extract the user list (metadata) from the hyperjson
-                var json = (shjson === "") ? "" : JSON.parse(shjson);
-                var titleUpdated = false;
-                if (json && json.metadata) {
-                    if (json.metadata.users) {
-                        var userData = json.metadata.users;
-                        // Update the local user data
-                        UserList.addToUserData(userData);
-                    }
-                    if (json.metadata.defaultTitle) {
-                        updateDefaultTitle(json.metadata.defaultTitle);
-                    }
-                    if (typeof json.metadata.title !== "undefined") {
-                        updateTitle(json.metadata.title || defaultName);
-                        titleUpdated = true;
-                    }
-                    updateOptions(json.metadata.slideOptions);
-                    updateColors(json.metadata.color, json.metadata.backColor);
-                }
-                if (!titleUpdated) {
-                    updateTitle(defaultName);
-                }
-            };
-
-            var renameCb = function (err, title) {
-                if (err) { return; }
-                APP.title = title;
-                setTabTitle();
-                onLocal();
-            };
+            }
 
             var createPrintDialog = function () {
                 var slideOptionsTmp = {
@@ -461,6 +266,14 @@ define([
             config.onInit = function (info) {
                 UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad);
 
+                var titleCfg = {
+                    updateLocalTitle: setTabTitle,
+                    getHeadingText: CodeMirror.getHeadingText
+                };
+                Title = Cryptpad.createTitle(titleCfg, config.onLocal, Cryptpad);
+
+                Metadata = Cryptpad.createMetadata(UserList, Title, metadataCfg);
+
                 var configTb = {
                     displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
                     userList: UserList.getToolbarConfig(),
@@ -468,11 +281,7 @@ define([
                         secret: secret,
                         channel: info.channel
                     },
-                    title: {
-                        onRename: renameCb,
-                        defaultName: defaultName,
-                        suggestName: suggestName
-                    },
+                    title: Title.getTitleConfig(),
                     common: Cryptpad,
                     readOnly: readOnly,
                     ifrw: ifrw,
@@ -482,6 +291,9 @@ define([
                 };
                 toolbar = module.toolbar = Toolbar.create(configTb);
 
+                Title.setToolbar(toolbar);
+                CodeMirror.init(config.onLocal, Title, toolbar);
+
                 var $rightside = toolbar.$rightside;
 
                 var editHash;
@@ -534,12 +346,12 @@ define([
                 }
 
                 /* add an export button */
-                var $export = Cryptpad.createButton('export', true, {}, exportText);
+                var $export = Cryptpad.createButton('export', true, {}, CodeMirror.exportText);
                 $rightside.append($export);
 
                 if (!readOnly) {
                     /* add an import button */
-                    var $import = Cryptpad.createButton('import', true, {}, importText);
+                    var $import = Cryptpad.createButton('import', true, {}, CodeMirror.importText);
                     $rightside.append($import);
                 }
 
@@ -586,49 +398,6 @@ define([
                 }
                 $rightside.append($present);
 
-                var $leavePresent = Cryptpad.createButton('source', true)
-                    .click(leavePresentationMode);
-                if (!presentMode) {
-                    $leavePresent.hide();
-                }
-                $rightside.append($leavePresent);
-
-                var configureTheme = function () {
-                    /*  Remember the user's last choice of theme using localStorage */
-                    var themeKey = 'CRYPTPAD_CODE_THEME';
-                    var lastTheme = localStorage.getItem(themeKey) || 'default';
-
-                    var options = [];
-                    Themes.forEach(function (l) {
-                        options.push({
-                            tag: 'a',
-                            attributes: {
-                                'data-value': l.name,
-                                'href': '#',
-                            },
-                            content: l.name // Pretty name of the language value
-                        });
-                    });
-                    var dropdownConfig = {
-                        text: 'Theme', // Button initial text
-                        options: options, // Entries displayed in the menu
-                        left: true, // Open to the left of the button
-                        isSelect: true,
-                        initialValue: lastTheme
-                    };
-                    var $block = module.$theme = Cryptpad.createDropdown(dropdownConfig);
-
-                    setTheme(lastTheme, $block);
-
-                    $block.find('a').click(function () {
-                        var theme = $(this).attr('data-value');
-                        setTheme(theme, $block);
-                        localStorage.setItem(themeKey, theme);
-                    });
-
-                    $rightside.append($block);
-                };
-
                 var configureColors = function () {
                     var $back = $('<button>', {
                         id: SLIDE_BACKCOLOR_ID,
@@ -675,7 +444,7 @@ define([
                 };
 
                 configureColors();
-                configureTheme();
+                CodeMirror.configureTheme();
 
                 if (presentMode) {
                     $('#top-bar').hide();
@@ -687,20 +456,6 @@ define([
                 }
             };
 
-            var unnotify = module.unnotify = function () {
-                if (module.tabNotification &&
-                    typeof(module.tabNotification.cancel) === 'function') {
-                    module.tabNotification.cancel();
-                }
-            };
-
-            var notify = module.notify = function () {
-                if (Visible.isSupported() && !Visible.currently()) {
-                    unnotify();
-                    module.tabNotification = Notify.tab(1000, 10);
-                }
-            };
-
             config.onReady = function (info) {
                 if (module.realtime !== info.realtime) {
                     var realtime = module.realtime = info.realtime;
@@ -727,17 +482,15 @@ define([
                     }
 
                     if (hjson.highlightMode) {
-                        setMode(hjson.highlightMode, module.$language);
+                        CodeMirror.setMode(hjson.highlightMode);
                     }
                 }
-
-                if (!module.highlightMode) {
-                    setMode('javascript', module.$language);
-                    console.log("%s => %s", module.highlightMode, module.$language.val());
+                if (!CodeMirror.highlightMode) {
+                    CodeMirror.setMode('markdown');
                 }
 
                 // Update the user list (metadata) from the hyperjson
-                updateMetadata(userDoc);
+                Metadata.update(userDoc);
 
                 editor.setValue(newDoc || initialState);
 
@@ -746,12 +499,6 @@ define([
                     onLocal();
                 }
 
-                if (Visible.isSupported()) {
-                    Visible.onChange(function (yes) {
-                        if (yes) { unnotify(); }
-                    });
-                }
-
                 Slide.onChange(function (o, n, l) {
                     if (n !== null) {
                         document.title = APP.title + ' (' + (++n) + '/' + l +  ')';
@@ -803,18 +550,18 @@ define([
                 if (isHistoryMode) { return; }
                 var scroll = editor.getScrollInfo();
 
-                var oldDoc = canonicalize($textarea.val());
+                var oldDoc = canonicalize(CodeMirror.$textarea.val());
                 var shjson = module.realtime.getUserDoc();
 
                 // Update the user list (metadata) from the hyperjson
-                updateMetadata(shjson);
+                Metadata.update(shjson);
 
                 var hjson = JSON.parse(shjson);
                 var remoteDoc = hjson.content;
 
                 var highlightMode = hjson.highlightMode;
-                if (highlightMode && highlightMode !== module.highlightMode) {
-                    setMode(highlightMode, module.$language);
+                if (highlightMode && highlightMode !== CodeMirror.highlightMode) {
+                    CodeMirror.setMode(highlightMode);
                 }
 
                 //get old cursor here
@@ -840,7 +587,7 @@ define([
                 editor.scrollTo(scroll.left, scroll.top);
 
                 if (!readOnly) {
-                    var textValue = canonicalize($textarea.val());
+                    var textValue = canonicalize(CodeMirror.$textarea.val());
                     var shjson2 = stringifyInner(textValue);
                     if (shjson2 !== shjson) {
                         console.error("shjson2 !== shjson");
@@ -851,7 +598,7 @@ define([
                 Slide.update(remoteDoc);
 
                 if (oldDoc !== remoteDoc) {
-                    notify();
+                    Cryptpad.notify();
                 }
             };
 
diff --git a/www/whiteboard/main.js b/www/whiteboard/main.js
index a67229231..8a8f6e696 100644
--- a/www/whiteboard/main.js
+++ b/www/whiteboard/main.js
@@ -10,12 +10,10 @@ define([
     '/common/cryptpad-common.js',
     '/common/cryptget.js',
     '/whiteboard/colors.js',
-    '/common/visible.js',
-    '/common/notify.js',
     '/customize/application_config.js',
     '/bower_components/secure-fabric.js/dist/fabric.min.js',
     '/bower_components/file-saver/FileSaver.min.js',
-], function ($, Config, Realtime, Crypto, Toolbar, TextPatcher, JSONSortify, JsonOT, Cryptpad, Cryptget, Colors, Visible, Notify, AppConfig) {
+], function ($, Config, Realtime, Crypto, Toolbar, TextPatcher, JSONSortify, JsonOT, Cryptpad, Cryptget, Colors, AppConfig) {
     var saveAs = window.saveAs;
     var Messages = Cryptpad.Messages;
 
@@ -212,9 +210,10 @@ window.canvas = canvas;
         var initializing = true;
 
         var $bar = $('#toolbar');
-        var parsedHash = Cryptpad.parsePadUrl(window.location.href);
-        var defaultName = Cryptpad.getDefaultName(parsedHash);
+
+        var Title;
         var UserList;
+        var Metadata;
 
         var config = module.config = {
             initialState: '{}',
@@ -253,28 +252,14 @@ window.canvas = canvas;
             $colors.append($color);
         };
 
-        var updatePalette = function (newPalette) {
+        var metadataCfg = {};
+        var updatePalette = metadataCfg.updatePalette = function (newPalette) {
             palette = newPalette;
             $colors.html('<div class="hidden">&nbsp;</div>');
             palette.forEach(addColorToPalette);
         };
         updatePalette(palette);
 
-        var suggestName = function (fallback) {
-            if (document.title === defaultName) {
-                return fallback || "";
-            } else {
-                return document.title || defaultName;
-            }
-        };
-
-        var renameCb = function (err, title) {
-            if (err) { return; }
-            document.title = title;
-            config.onLocal();
-        };
-
-
         var makeColorButton = function ($container) {
             var $testColor = $('<input>', { type: 'color', value: '!' });
 
@@ -305,6 +290,11 @@ window.canvas = canvas;
 
         config.onInit = function (info) {
             UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad);
+
+            Title = Cryptpad.createTitle({}, config.onLocal, Cryptpad);
+
+            Metadata = Cryptpad.createMetadata(UserList, Title, metadataCfg);
+
             var configTb = {
                 displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
                 userList: UserList.getToolbarConfig(),
@@ -312,11 +302,7 @@ window.canvas = canvas;
                     secret: secret,
                     channel: info.channel
                 },
-                title: {
-                    onRename: renameCb,
-                    defaultName: defaultName,
-                    suggestName: suggestName
-                },
+                title: Title.getTitleConfig(),
                 common: Cryptpad,
                 readOnly: readOnly,
                 ifrw: window,
@@ -327,6 +313,8 @@ window.canvas = canvas;
 
             toolbar = module.toolbar = Toolbar.create(configTb);
 
+            Title.setToolbar(toolbar);
+
             var $rightside = toolbar.$rightside;
 
             /* save as template */
@@ -371,75 +359,11 @@ window.canvas = canvas;
             };
         };
 
-        var updateTitle = function (newTitle) {
-            if (newTitle === document.title) { return; }
-            // Change the title now, and set it back to the old value if there is an error
-            var oldTitle = document.title;
-            document.title = newTitle;
-            Cryptpad.renamePad(newTitle, function (err, data) {
-                if (err) {
-                    console.log("Couldn't set pad title");
-                    console.error(err);
-                    document.title = oldTitle;
-                    return;
-                }
-                document.title = data;
-                $bar.find('.' + Toolbar.constants.title).find('span.title').text(data);
-                $bar.find('.' + Toolbar.constants.title).find('input').val(data);
-            });
-        };
-
-        var updateDefaultTitle = function (defaultTitle) {
-            defaultName = defaultTitle;
-            $bar.find('.' + Toolbar.constants.title).find('input').attr("placeholder", defaultName);
-        };
-
-
-        var updateMetadata = function(shjson) {
-            // Extract the user list (metadata) from the hyperjson
-            var json = (shjson === "") ? "" : JSON.parse(shjson);
-            var titleUpdated = false;
-            if (json && json.metadata) {
-                if (json.metadata.users) {
-                    var userData = json.metadata.users;
-                    // Update the local user data
-                    UserList.addToUserData(userData);
-                }
-                if (json.metadata.defaultTitle) {
-                    updateDefaultTitle(json.metadata.defaultTitle);
-                }
-                if (typeof json.metadata.title !== "undefined") {
-                    updateTitle(json.metadata.title || defaultName);
-                    titleUpdated = true;
-                }
-                if (typeof(json.metadata.palette) !== 'undefined') {
-                    updatePalette(json.metadata.palette);
-                }
-            }
-            if (!titleUpdated) {
-                updateTitle(defaultName);
-            }
-        };
-
-        var unnotify = function () {
-            if (module.tabNotification &&
-                typeof(module.tabNotification.cancel) === 'function') {
-                module.tabNotification.cancel();
-            }
-        };
-
-        var notify = function () {
-            if (Visible.isSupported() && !Visible.currently()) {
-                unnotify();
-                module.tabNotification = Notify.tab(1000, 10);
-            }
-        };
-
         var onRemote = config.onRemote = Catch(function () {
             if (initializing) { return; }
             var userDoc = module.realtime.getUserDoc();
 
-            updateMetadata(userDoc);
+            Metadata.update(userDoc);
             var json = JSON.parse(userDoc);
             var remoteDoc = json.content;
 
@@ -449,7 +373,7 @@ window.canvas = canvas;
             canvas.renderAll();
 
             var content = canvas.toDatalessJSON();
-            if (content !== remoteDoc) { notify(); }
+            if (content !== remoteDoc) { Cryptpad.notify(); }
             if (readOnly) { setEditable(false); }
         });
         setEditable(false);
@@ -460,11 +384,11 @@ window.canvas = canvas;
                 metadata: {
                     users: UserList.userData,
                     palette: palette,
-                    defaultTitle: defaultName
+                    defaultTitle: Title.defaultTitle
                 }
             };
             if (!initializing) {
-                obj.metadata.title = document.title;
+                obj.metadata.title = Title.title;
             }
             // stringify the json and send it into chainpad
             return JSONSortify(obj);
@@ -495,10 +419,6 @@ window.canvas = canvas;
             initializing = false;
             onRemote();
 
-            if (Visible.isSupported()) {
-                Visible.onChange(function (yes) { if (yes) { unnotify(); } });
-            }
-
             /*  TODO: restore palette from metadata.palette */
 
             if (readOnly) { return; }

From 50c8a859e627cfa8b790239b408811eac8f05bfe Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 9 May 2017 17:57:27 +0200
Subject: [PATCH 008/236] Move the CodeMirror cursor code to common-codemirror

---
 www/code/main.js                | 50 +------------------------------
 www/common/common-codemirror.js | 52 +++++++++++++++++++++++++++++++++
 www/slide/main.js               | 50 +------------------------------
 3 files changed, 54 insertions(+), 98 deletions(-)

diff --git a/www/code/main.js b/www/code/main.js
index ea9a66001..d8b9903f4 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -278,37 +278,9 @@ define([
                 UserList.getLastName(toolbar.$userNameButton, isNew);
             };
 
-            var cursorToPos = function(cursor, oldText) {
-                var cLine = cursor.line;
-                var cCh = cursor.ch;
-                var pos = 0;
-                var textLines = oldText.split("\n");
-                for (var line = 0; line <= cLine; line++) {
-                    if(line < cLine) {
-                        pos += textLines[line].length+1;
-                    }
-                    else if(line === cLine) {
-                        pos += cCh;
-                    }
-                }
-                return pos;
-            };
-
-            var posToCursor = function(position, newText) {
-                var cursor = {
-                    line: 0,
-                    ch: 0
-                };
-                var textLines = newText.substr(0, position).split("\n");
-                cursor.line = textLines.length - 1;
-                cursor.ch = textLines[cursor.line].length;
-                return cursor;
-            };
-
             config.onRemote = function () {
                 if (initializing) { return; }
                 if (isHistoryMode) { return; }
-                var scroll = editor.getScrollInfo();
 
                 var oldDoc = canonicalize(CodeMirror.$textarea.val());
                 var shjson = module.realtime.getUserDoc();
@@ -324,27 +296,7 @@ define([
                     CodeMirror.setMode(highlightMode);
                 }
 
-                //get old cursor here
-                var oldCursor = {};
-                oldCursor.selectionStart = cursorToPos(editor.getCursor('from'), oldDoc);
-                oldCursor.selectionEnd = cursorToPos(editor.getCursor('to'), oldDoc);
-
-                editor.setValue(remoteDoc);
-                editor.save();
-
-                var op = TextPatcher.diff(oldDoc, remoteDoc);
-                var selects = ['selectionStart', 'selectionEnd'].map(function (attr) {
-                    return TextPatcher.transformCursor(oldCursor[attr], op);
-                });
-
-                if(selects[0] === selects[1]) {
-                    editor.setCursor(posToCursor(selects[0], remoteDoc));
-                }
-                else {
-                    editor.setSelection(posToCursor(selects[0], remoteDoc), posToCursor(selects[1], remoteDoc));
-                }
-
-                editor.scrollTo(scroll.left, scroll.top);
+                CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher);
 
                 if (!readOnly) {
                     var textValue = canonicalize(CodeMirror.$textarea.val());
diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js
index bbaad49df..51e916ddf 100644
--- a/www/common/common-codemirror.js
+++ b/www/common/common-codemirror.js
@@ -239,6 +239,58 @@ define([
             onLocal();
         };
 
+        var cursorToPos = function(cursor, oldText) {
+            var cLine = cursor.line;
+            var cCh = cursor.ch;
+            var pos = 0;
+            var textLines = oldText.split("\n");
+            for (var line = 0; line <= cLine; line++) {
+                if(line < cLine) {
+                    pos += textLines[line].length+1;
+                }
+                else if(line === cLine) {
+                    pos += cCh;
+                }
+            }
+            return pos;
+        };
+
+        var posToCursor = function(position, newText) {
+            var cursor = {
+                line: 0,
+                ch: 0
+            };
+            var textLines = newText.substr(0, position).split("\n");
+            cursor.line = textLines.length - 1;
+            cursor.ch = textLines[cursor.line].length;
+            return cursor;
+        };
+
+        exp.setValueAndCursor = function (oldDoc, remoteDoc, TextPatcher) {
+            var scroll = editor.getScrollInfo();
+            //get old cursor here
+            var oldCursor = {};
+            oldCursor.selectionStart = cursorToPos(editor.getCursor('from'), oldDoc);
+            oldCursor.selectionEnd = cursorToPos(editor.getCursor('to'), oldDoc);
+
+            editor.setValue(remoteDoc);
+            editor.save();
+
+            var op = TextPatcher.diff(oldDoc, remoteDoc);
+            var selects = ['selectionStart', 'selectionEnd'].map(function (attr) {
+                return TextPatcher.transformCursor(oldCursor[attr], op);
+            });
+
+            if(selects[0] === selects[1]) {
+                editor.setCursor(posToCursor(selects[0], remoteDoc));
+            }
+            else {
+                editor.setSelection(posToCursor(selects[0], remoteDoc), posToCursor(selects[1], remoteDoc));
+            }
+
+            editor.scrollTo(scroll.left, scroll.top);
+        };
+
         return exp;
     };
 
diff --git a/www/slide/main.js b/www/slide/main.js
index 0d7de7758..a7583f104 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -518,37 +518,9 @@ define([
                 UserList.getLastName(toolbar.$userNameButton, isNew);
             };
 
-            var cursorToPos = function(cursor, oldText) {
-                var cLine = cursor.line;
-                var cCh = cursor.ch;
-                var pos = 0;
-                var textLines = oldText.split("\n");
-                for (var line = 0; line <= cLine; line++) {
-                    if(line < cLine) {
-                        pos += textLines[line].length+1;
-                    }
-                    else if(line === cLine) {
-                        pos += cCh;
-                    }
-                }
-                return pos;
-            };
-
-            var posToCursor = function(position, newText) {
-                var cursor = {
-                    line: 0,
-                    ch: 0
-                };
-                var textLines = newText.substr(0, position).split("\n");
-                cursor.line = textLines.length - 1;
-                cursor.ch = textLines[cursor.line].length;
-                return cursor;
-            };
-
             config.onRemote = function () {
                 if (initializing) { return; }
                 if (isHistoryMode) { return; }
-                var scroll = editor.getScrollInfo();
 
                 var oldDoc = canonicalize(CodeMirror.$textarea.val());
                 var shjson = module.realtime.getUserDoc();
@@ -564,27 +536,7 @@ define([
                     CodeMirror.setMode(highlightMode);
                 }
 
-                //get old cursor here
-                var oldCursor = {};
-                oldCursor.selectionStart = cursorToPos(editor.getCursor('from'), oldDoc);
-                oldCursor.selectionEnd = cursorToPos(editor.getCursor('to'), oldDoc);
-
-                editor.setValue(remoteDoc);
-                editor.save();
-
-                var op = TextPatcher.diff(oldDoc, remoteDoc);
-                var selects = ['selectionStart', 'selectionEnd'].map(function (attr) {
-                    return TextPatcher.transformCursor(oldCursor[attr], op);
-                });
-
-                if(selects[0] === selects[1]) {
-                    editor.setCursor(posToCursor(selects[0], remoteDoc));
-                }
-                else {
-                    editor.setSelection(posToCursor(selects[0], remoteDoc), posToCursor(selects[1], remoteDoc));
-                }
-
-                editor.scrollTo(scroll.left, scroll.top);
+                CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher);
 
                 if (!readOnly) {
                     var textValue = canonicalize(CodeMirror.$textarea.val());

From ff16084719e65d4231a25010fc4e976b50c75933 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 9 May 2017 18:10:02 +0200
Subject: [PATCH 009/236] Fix lint errors

---
 www/common/common-codemirror.js |  2 +-
 www/common/common-metadata.js   |  2 +-
 www/common/common-title.js      |  4 +--
 www/pad/main.js                 |  2 +-
 www/poll/main.js                |  1 -
 www/slide/main.js               | 44 +++++++++++++--------------------
 6 files changed, 22 insertions(+), 33 deletions(-)

diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js
index 51e916ddf..d9dfddaf6 100644
--- a/www/common/common-codemirror.js
+++ b/www/common/common-codemirror.js
@@ -91,7 +91,7 @@ define([
             };
         }());
 
-        var getHeadingText = function () {
+        exp.getHeadingText = function () {
             var lines = editor.getValue().split(/\n/);
 
             var text = '';
diff --git a/www/common/common-metadata.js b/www/common/common-metadata.js
index 2198156d5..d5487901c 100644
--- a/www/common/common-metadata.js
+++ b/www/common/common-metadata.js
@@ -4,7 +4,7 @@ define(function () {
     module.create = function (UserList, Title, cfg) {
         var exp = {};
 
-        var updateMetadata = exp.update = function (shjson) {
+        exp.update = function (shjson) {
             // Extract the user list (metadata) from the hyperjson
             var json = (!shjson || typeof shjson !== "string") ? "" : JSON.parse(shjson);
             var titleUpdated = false;
diff --git a/www/common/common-title.js b/www/common/common-title.js
index 056205bfb..f5485d86d 100644
--- a/www/common/common-title.js
+++ b/www/common/common-title.js
@@ -24,7 +24,7 @@ define(function () {
         var $title;
         exp.setToolbar = function (toolbar) {
             $title = toolbar && toolbar.title;
-        }
+        };
 
         exp.getTitle = function () { return exp.title; };
         var isDefaultTitle = exp.isDefaultTitle = function (){return exp.title === exp.defaultTitle;};
@@ -73,7 +73,7 @@ define(function () {
                 onRename: renameCb,
                 suggestName: suggestTitle,
                 defaultName: exp.defaultTitle
-            }
+            };
         };
 
         return exp;
diff --git a/www/pad/main.js b/www/pad/main.js
index bf34b9328..50e35f2dc 100644
--- a/www/pad/main.js
+++ b/www/pad/main.js
@@ -430,7 +430,7 @@ define([
 
             var exportFile = function () {
                 var html = getHTML();
-                var suggestion = suggestName('cryptpad-document');
+                var suggestion = Title.suggestTitle('cryptpad-document');
                 Cryptpad.prompt(Messages.exportPrompt,
                     Cryptpad.fixFileName(suggestion) + '.html', function (filename) {
                     if (!(typeof(filename) === 'string' && filename)) { return; }
diff --git a/www/poll/main.js b/www/poll/main.js
index 9f1af0a2a..0d6474dbb 100644
--- a/www/poll/main.js
+++ b/www/poll/main.js
@@ -32,7 +32,6 @@ define([
     if (!DEBUG) {
         debug = function() {};
     }
-    var error = console.error;
 
     Cryptpad.addLoadingScreen();
     var onConnectError = function () {
diff --git a/www/slide/main.js b/www/slide/main.js
index a7583f104..3b01ae9fd 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -81,22 +81,12 @@ define([
 
             Slide.setModal(APP, $modal, $content, $pad, ifrw, slideOptions, initialState);
 
-            var setStyleState = function (state) {
-                $pad.contents().find('#print, #content').find('style').each(function (i, el) {
-                    el.disabled = !state;
-                });
-            };
-
             var enterPresentationMode = function (shouldLog) {
                 Slide.show(true, editor.getValue());
                 if (shouldLog) {
                     Cryptpad.log(Messages.presentSuccess);
                 }
             };
-            var leavePresentationMode = function () {
-                setStyleState(false);
-                Slide.show(false);
-            };
 
             if (presentMode) {
                 enterPresentationMode(true);
@@ -170,20 +160,6 @@ define([
             };
 
             var metadataCfg = {
-                slideColors: function (text, back) {
-                    if (text) {
-                        textColor = text;
-                        $modal.css('color', text);
-                        $modal.css('border-color', text);
-                        $pad.contents().find('#' + SLIDE_COLOR_ID).css('color', text);
-                    }
-                    if (back) {
-                        backColor = back;
-                        $modal.css('background-color', back);
-                        $pad.contents().find('#' + SLIDE_COLOR_ID).css('background', back);
-                        $pad.contents().find('#' + SLIDE_BACKCOLOR_ID).css('color', back);
-                    }
-                },
                 slideOptions: function (newOpt) {
                     if (stringify(newOpt) !== stringify(slideOptions)) {
                         $.extend(slideOptions, newOpt);
@@ -191,7 +167,21 @@ define([
                         Slide.updateOptions();
                     }
                 }
-            }
+            };
+            var updateColors = metadataCfg.slideColors = function (text, back) {
+                if (text) {
+                    textColor = text;
+                    $modal.css('color', text);
+                    $modal.css('border-color', text);
+                    $pad.contents().find('#' + SLIDE_COLOR_ID).css('color', text);
+                }
+                if (back) {
+                    backColor = back;
+                    $modal.css('background-color', back);
+                    $pad.contents().find('#' + SLIDE_COLOR_ID).css('background', back);
+                    $pad.contents().find('#' + SLIDE_BACKCOLOR_ID).css('color', back);
+                }
+            };
 
             var createPrintDialog = function () {
                 var slideOptionsTmp = {
@@ -494,8 +484,8 @@ define([
 
                 editor.setValue(newDoc || initialState);
 
-                if (Cryptpad.initialName && APP.title === defaultName) {
-                    updateTitle(Cryptpad.initialName);
+                if (Cryptpad.initialName && Title.isDefaultTitle()) {
+                    Title.updateTitle(Cryptpad.initialName);
                     onLocal();
                 }
 

From df47b913e3f10be67cd4d47e6b9296274ad1b50c Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 9 May 2017 18:36:18 +0200
Subject: [PATCH 010/236] fetch array buffers in cryptpad-common

---
 www/common/common-util.js     | 10 ++++++++++
 www/common/cryptpad-common.js |  1 +
 2 files changed, 11 insertions(+)

diff --git a/www/common/common-util.js b/www/common/common-util.js
index 2542e0a22..f5ba9a61c 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -89,5 +89,15 @@ define([], function () {
         return Math.floor(bytes / 1024 * 100) / 100;
     };
 
+    Util.fetch = function (src, cb) {
+        var xhr = new XMLHttpRequest();
+        xhr.open("GET", src, true);
+        xhr.responseType = "arraybuffer";
+        xhr.onload = function () {
+            return void cb(void 0, new Uint8Array(xhr.response));
+        };
+        xhr.send(null);
+    };
+
     return Util;
 });
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index b58209029..a57ae9787 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -66,6 +66,7 @@ define([
     common.fixFileName = Util.fixFileName;
     common.bytesToMegabytes = Util.bytesToMegabytes;
     common.bytesToKilobytes = Util.bytesToKilobytes;
+    common.fetch = Util.fetch;
 
     // import hash utilities for export
     var createRandomHash = common.createRandomHash = Hash.createRandomHash;

From 299a53ded74db79bca77b3e2cffdf1079ae7724b Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 9 May 2017 18:54:56 +0200
Subject: [PATCH 011/236] prefer to use functions from common

---
 www/file/file-crypto.js | 15 +++++++++++++++
 www/file/main.js        | 16 ++++------------
 2 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js
index 608b3bb6e..35e2f8037 100644
--- a/www/file/file-crypto.js
+++ b/www/file/file-crypto.js
@@ -7,6 +7,18 @@ define([
     var plainChunkLength = 128 * 1024;
     var cypherChunkLength = 131088;
 
+    var encodePrefix = function (p) {
+        return [
+            65280, // 255 << 8
+            255,
+        ].map(function (n, i) {
+            return (p & n) >> ((1 - i) * 8);
+        });
+    };
+    var decodePrefix = function (A) {
+        return (A[0] << 8) | A[1];
+    };
+
     var slice = function (A) {
         return Array.prototype.slice.call(A);
     };
@@ -64,6 +76,7 @@ define([
         var nonce = createNonce();
         var i = 0;
 
+        decodePrefix([]); // TODO
         var takeChunk = function () {
             var start = i * cypherChunkLength;
             var end = start + cypherChunkLength;
@@ -126,6 +139,8 @@ define([
     var encrypt = function (u8, metadata, key) {
         var nonce = createNonce();
 
+        encodePrefix(); // TODO
+
         // encode metadata
         var metaBuffer = Array.prototype.slice
             .call(Nacl.util.decodeUTF8(JSON.stringify(metadata)));
diff --git a/www/file/main.js b/www/file/main.js
index a7a0f0fb2..223fcc41e 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -24,16 +24,6 @@ define([
 
     Cryptpad.addLoadingScreen();
 
-    var fetch = function (src, cb) {
-        var xhr = new XMLHttpRequest();
-        xhr.open("GET", src, true);
-        xhr.responseType = "arraybuffer";
-        xhr.onload = function () {
-            return void cb(void 0, new Uint8Array(xhr.response));
-        };
-        xhr.send(null);
-    };
-
     var myFile;
     var myDataType;
 
@@ -78,6 +68,7 @@ define([
                             var uri = ['', 'blob', id.slice(0,2), id].join('/');
                             console.log("encrypted blob is now available as %s", uri);
 
+                            // TODO use cryptpad-common utilities
                             window.location.hash = [
                                 '',
                                 2,
@@ -88,6 +79,7 @@ define([
 
                             $form.hide();
 
+                            // check if the uploaded file can be decrypted
                             var newU8 = FileCrypto.joinChunks(chunks);
                             FileCrypto.decrypt(newU8, key, function (e, res) {
                                 if (e) { return console.error(e); }
@@ -97,7 +89,7 @@ define([
 
                                 var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href));
                                 APP.updateTitle(title || defaultName);
-
+                                Cryptpad.alert("successfully uploaded: " + title);
                             });
                         });
                     });
@@ -212,7 +204,7 @@ define([
 
         if (!uploadMode) {
             var src = Cryptpad.getBlobPathFromHex(hexFileName);
-            return fetch(src, function (e, u8) {
+            return Cryptpad.fetch(src, function (e, u8) {
                 // now decrypt the u8
                 if (e) { return window.alert('error'); }
                 var cryptKey = secret.keys && secret.keys.fileKeyStr;

From a6c49cd65c053ae3931ced9dd7be0f7db146cc3b Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 10 May 2017 10:49:59 +0200
Subject: [PATCH 012/236] Fix undefined title in slides present mode

---
 www/slide/main.js  | 4 ++--
 www/slide/slide.js | 7 +++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/www/slide/main.js b/www/slide/main.js
index 3b01ae9fd..b3d1209fd 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -491,11 +491,11 @@ define([
 
                 Slide.onChange(function (o, n, l) {
                     if (n !== null) {
-                        document.title = APP.title + ' (' + (++n) + '/' + l +  ')';
+                        document.title = Title.title + ' (' + (++n) + '/' + l +  ')';
                         return;
                     }
                     console.log("Exiting presentation mode");
-                    document.title = APP.title;
+                    document.title = Title.title;
                 });
 
                 Cryptpad.removeLoadingScreen();
diff --git a/www/slide/slide.js b/www/slide/slide.js
index c9e6f3dcd..912820390 100644
--- a/www/slide/slide.js
+++ b/www/slide/slide.js
@@ -211,7 +211,10 @@ define([
             $(ifrw).focus();
             change(null, Slide.index);
             if (!isPresentURL()) {
-                window.location.hash += '/present';
+                if (window.location.href.slice(-1) !== '/') {
+                    window.location.hash += '/';
+                }
+                window.location.hash += 'present';
             }
             $pad.contents().find('.cryptpad-present-button').hide();
             $pad.contents().find('.cryptpad-source-button').show();
@@ -220,7 +223,7 @@ define([
             $('.top-bar').hide();
             return;
         }
-        window.location.hash = window.location.hash.replace(/\/present$/, '');
+        window.location.hash = window.location.hash.replace(/\/present$/, '/');
         change(Slide.index, null);
         $pad.contents().find('.cryptpad-present-button').show();
         $pad.contents().find('.cryptpad-source-button').hide();

From 6a8153aca36918977f07bebc106ccf859326a754 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 10 May 2017 11:44:58 +0200
Subject: [PATCH 013/236] Fix selection issues in the drive with Chrome

---
 www/drive/file.css   |  3 +++
 www/drive/file.less  |  4 ++++
 www/drive/inner.html |  2 +-
 www/drive/main.js    | 31 +++++++++++++++++++++++--------
 4 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/www/drive/file.css b/www/drive/file.css
index 431cecd60..fed050db1 100644
--- a/www/drive/file.css
+++ b/www/drive/file.css
@@ -43,6 +43,9 @@ body {
     margin-top: 0.5em;
   }
 }
+div:focus {
+  outline: none;
+}
 .fa {
   /*min-width: 17px;*/
   margin-right: 3px;
diff --git a/www/drive/file.less b/www/drive/file.less
index fc6985802..fe506ae35 100644
--- a/www/drive/file.less
+++ b/www/drive/file.less
@@ -70,6 +70,10 @@ body {
     }
 }
 
+div:focus {
+    outline: none;
+}
+
 .fa {
     /*min-width: 17px;*/
     margin-right: 3px;
diff --git a/www/drive/inner.html b/www/drive/inner.html
index 859ae3391..c7f63f860 100644
--- a/www/drive/inner.html
+++ b/www/drive/inner.html
@@ -14,7 +14,7 @@
     <div class="app-container" tabindex="0">
         <div id="tree">
         </div>
-        <div id="content">
+        <div id="content" tabindex="2">
         </div>
         <div id="treeContextMenu" class="contextMenu dropdown clearfix">
             <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu" style="display:block;position:static;margin-bottom:5px;">
diff --git a/www/drive/main.js b/www/drive/main.js
index 39b5450fc..fe57a02c4 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -297,6 +297,7 @@ define([
         };
         $content.on('mousedown', function (e) {
             if (e.which !== 1) { return; }
+            $content.focus();
             sel.down = true;
             if (!e.ctrlKey) { removeSelected(); }
             var rect = e.currentTarget.getBoundingClientRect();
@@ -359,13 +360,15 @@ define([
             };
             $content.mousemove(sel.move);
         });
-        $content.on('mouseup', function (e) {
+        $(ifrw).on('mouseup', function (e) {
+            if (!sel.down) { return; }
             if (e.which !== 1) { return; }
             sel.down = false;
             sel.$selectBox.hide();
             $content.off('mousemove', sel.move);
             delete sel.move;
             $content.find('.selectedTmp').removeClass('selectedTmp').addClass('selected');
+            e.stopPropagation();
         });
 
         $(ifrw).keydown(function (e) {
@@ -560,7 +563,7 @@ define([
 
         var filterContextMenu = function ($menu, paths) {
             //var path = $element.data('path');
-            if (!paths || paths.length === 0) { console.error('no paths'); }
+            if (!paths || paths.length === 0) { logError('no paths'); }
 
             var hide = [];
             var hasFolder = false;
@@ -2028,16 +2031,19 @@ define([
         var search = APP.Search = {};
         var createSearch = function ($container) {
             var isInSearch = currentPath[0] === SEARCH;
-            var $div = $('<div>', {'id': 'searchContainer'});
+            var $div = $('<div>', {'id': 'searchContainer', 'class': 'unselectable'});
             var $input = $('<input>', {
                 id: 'searchInput',
                 type: 'text',
+                draggable: false,
+                tabindex: 1,
                 placeholder: Messages.fm_searchPlaceholder
             }).keyup(function (e) {
                 if (search.to) { window.clearTimeout(search.to); }
                 if ([38, 39, 40, 41].indexOf(e.which) !== -1) {
                     if (!$input.val()) {
                         $input.blur();
+                        $content.focus();
                         return;
                     } else {
                         e.stopPropagation();
@@ -2163,7 +2169,7 @@ define([
                 Cryptpad.getFileSize(el, function (e, bytes) {
                     if (e) {
                         // there was a problem with the RPC
-                        console.error(e);
+                        logError(e);
 
                         // but we don't want to break the interface.
                         // continue as if there was no RPC
@@ -2239,7 +2245,7 @@ define([
                 if (paths.length !== 1) { return; }
                 var el = filesOp.find(paths[0].path);
                 getProperties(el, function (e, $prop) {
-                    if (e) { return void console.error(e); }
+                    if (e) { return void logError(e); }
                     Cryptpad.alert('', undefined, true);
                     $('.alertify .msg').html("").append($prop);
                 });
@@ -2279,7 +2285,7 @@ define([
                 if (paths.length !== 1) { return; }
                 var el = filesOp.find(paths[0].path);
                 getProperties(el, function (e, $prop) {
-                    if (e) { return void console.error(e); }
+                    if (e) { return void logError(e); }
                     Cryptpad.alert('', undefined, true);
                     $('.alertify .msg').html("").append($prop);
                 });
@@ -2369,9 +2375,18 @@ define([
             module.hideMenu();
         });
 
-        $appContainer.on('mousedown', function (e) {
+        // Chrome considers the double-click means "select all" in the window
+        $content.on('mousedown', function (e) {
+            $content.focus();
+            e.preventDefault();
+        });
+        $appContainer.on('mouseup', function (e) {
+            if (sel.down) { return; }
             if (e.which !== 1) { return ; }
             removeSelected(e);
+        });
+        $appContainer.on('click', function (e) {
+            if (e.which !== 1) { return ; }
             removeInput();
             module.hideMenu(e);
             hideNewButton();
@@ -2676,7 +2691,7 @@ define([
                     history.onEnterHistory(obj);
                 } catch (e) {
                     // Probably a parse error
-                    console.error(e);
+                    logError(e);
                 }
             };
             histConfig.onClose = function () {

From 922e7803e99de418d5f4723b955921b720b9d5c5 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 10 May 2017 11:54:05 +0200
Subject: [PATCH 014/236] remove extraneous slashes from hashes when parsing

---
 www/common/common-hash.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index d4c2bb112..a2e96e2fc 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -66,6 +66,10 @@ define([
         return '/' + parsed.type + '/#' + parsed.hash;
     };
 
+    var fixDuplicateSlashes = function (s) {
+        return s.replace(/\/+/g, '/');
+    };
+
     /*
      * Returns all needed keys for a realtime channel
      * - no argument: use the URL hash or create one if it doesn't exist
@@ -95,7 +99,7 @@ define([
             }
             else {
                 // New hash
-                var hashArray = hash.split('/');
+                var hashArray = fixDuplicateSlashes(hash).split('/');
                 if (hashArray.length < 4) {
                     Hash.alert("Unable to parse the key");
                     throw new Error("Unable to parse the key");
@@ -179,7 +183,7 @@ Version 2
             parsed.version = 0;
             return parsed;
         }
-        var hashArr = hash.split('/');
+        var hashArr = fixDuplicateSlashes(hash).split('/');
         if (hashArr[1] && hashArr[1] === '1') {
             parsed.version = 1;
             parsed.mode = hashArr[2];

From 6a1c799a6ea79d7b26eb55ea48800d40f9cc0c69 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 10 May 2017 11:54:21 +0200
Subject: [PATCH 015/236] support async tests

---
 www/assert/main.js | 130 +++++++++++++++++++++++++++------------------
 1 file changed, 77 insertions(+), 53 deletions(-)

diff --git a/www/assert/main.js b/www/assert/main.js
index 392392db8..449834a61 100644
--- a/www/assert/main.js
+++ b/www/assert/main.js
@@ -15,26 +15,40 @@ define([
     var failMessages = [];
 
     var ASSERTS = [];
-    var runASSERTS = function () {
+    var runASSERTS = function (cb) {
+        var count = ASSERTS.length;
+        var successes = 0;
+
+        var done = function (err, index) {
+            count--;
+            if (err) { failMessages.push(err); }
+            else { successes++; }
+            if (count === 0) { cb(); }
+        };
+
         ASSERTS.forEach(function (f, index) {
-            f(index);
+            f(function (err) {
+                done(err, index);
+            }, index);
         });
     };
 
     var assert = function (test, msg) {
-        ASSERTS.push(function (i) {
-            var returned = test();
-            if (returned === true) {
-                assertions++;
-            } else {
-                failed = true;
-                failedOn = assertions;
-                failMessages.push({
-                    test: i,
-                    message: msg,
-                    output: returned,
-                });
-            }
+        ASSERTS.push(function (cb, i) {
+            test(function (result) {
+                if (result === true) {
+                    assertions++;
+                    cb();
+                } else {
+                    failed = true;
+                    failedOn = assertions;
+                    cb({
+                        test: i,
+                        message: msg,
+                        output: result,
+                    });
+                }
+            });
         });
     };
 
@@ -58,7 +72,7 @@ define([
     };
 
     var HJSON_equal = function (shjson) {
-        assert(function () {
+        assert(function (cb) {
             // parse your stringified Hyperjson
             var hjson;
 
@@ -82,10 +96,10 @@ define([
             var diff = TextPatcher.format(shjson, op);
 
             if (success) {
-                return true;
+                return cb(true);
             } else {
-                return  '<br><br>insert: ' + diff.insert + '<br><br>' +
-                        'remove: ' + diff.remove + '<br><br>';
+                return  cb('<br><br>insert: ' + diff.insert + '<br><br>' +
+                        'remove: ' + diff.remove + '<br><br>');
             }
         },  "expected hyperjson equality");
     };
@@ -94,7 +108,7 @@ define([
 
     var roundTrip = function (sel) {
         var target = $(sel)[0];
-        assert(function () {
+        assert(function (cb) {
             var hjson = Hyperjson.fromDOM(target);
             var cloned = Hyperjson.toDOM(hjson);
             var success = cloned.outerHTML === target.outerHTML;
@@ -111,7 +125,7 @@ define([
                 TextPatcher.log(target.outerHTML, op);
             }
 
-            return success;
+            return cb(success);
         }, "Round trip serialization introduced artifacts.");
     };
 
@@ -125,9 +139,9 @@ define([
 
     var strungJSON = function (orig) {
         var result;
-        assert(function () {
+        assert(function (cb) {
             result = JSON.stringify(JSON.parse(orig));
-            return result === orig;
+            return cb(result === orig);
         }, "expected result (" + result + ") to equal original (" + orig + ")");
     };
 
@@ -138,46 +152,56 @@ define([
     });
 
     // check that old hashes parse correctly
-    assert(function () {
+    assert(function (cb) {
         var secret = Cryptpad.parseHash('67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy');
-        return secret.channel === "67b8385b07352be53e40746d2be6ccd7" &&
+        return cb(secret.channel === "67b8385b07352be53e40746d2be6ccd7" &&
             secret.key === "XAYSuJYYqa9NfmInyHci7LNy" &&
-            secret.version === 0;
+            secret.version === 0);
     }, "Old hash failed to parse");
 
     // make sure version 1 hashes parse correctly
-    assert(function () {
+    assert(function (cb) {
         var secret = Cryptpad.parseHash('/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI');
-        return secret.version === 1 &&
+        return cb(secret.version === 1 &&
             secret.mode === "edit" &&
             secret.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" &&
             secret.key === "usn4+9CqVja8Q7RZOGTfRgqI" &&
-            !secret.present;
+            !secret.present);
     }, "version 1 hash failed to parse");
 
     // test support for present mode in hashes
-    assert(function () {
+    assert(function (cb) {
         var secret = Cryptpad.parseHash('/1/edit/CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G/present');
-        return secret.version === 1
+        return cb(secret.version === 1
             && secret.mode === "edit"
             && secret.channel === "CmN5+YJkrHFS3NSBg-P7Sg"
             && secret.key === "DNZ2wcG683GscU4fyOyqA87G"
-            && secret.present;
+            && secret.present);
     }, "version 1 hash failed to parse");
 
+    // test support for present mode in hashes
+    assert(function (cb) {
+        var secret = Cryptpad.parseHash('/1/edit//CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G//present');
+        return cb(secret.version === 1
+            && secret.mode === "edit"
+            && secret.channel === "CmN5+YJkrHFS3NSBg-P7Sg"
+            && secret.key === "DNZ2wcG683GscU4fyOyqA87G"
+            && secret.present);
+    }, "Couldn't handle multiple successive slashes");
+
     // test support for trailing slash
-    assert(function () {
+    assert(function (cb) {
         var secret = Cryptpad.parseHash('/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI/');
-        return secret.version === 1 &&
+        return cb(secret.version === 1 &&
             secret.mode === "edit" &&
             secret.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" &&
             secret.key === "usn4+9CqVja8Q7RZOGTfRgqI" &&
-            !secret.present;
+            !secret.present);
     }, "test support for trailing slashes in version 1 hash failed to parse");
 
-    assert(function () {
+    assert(function (cb) {
         // TODO
-        return true;
+        return cb(true);
     }, "version 2 hash failed to parse correctly");
 
     var swap = function (str, dict) {
@@ -194,7 +218,7 @@ define([
         return str || '';
         };
 
-    var formatFailures = function () {
+        var formatFailures = function () {
         var template = multiline(function () { /*
 <p class="error">
 Failed on test number {{test}} with error message:
@@ -215,16 +239,15 @@ The test returned:
         }).join("\n");
     };
 
-    runASSERTS();
-
-    $("body").html(function (i, val) {
-        var dict = {
-            previous: val,
-            totalAssertions: ASSERTS.length,
-            passedAssertions: assertions,
-            plural: (assertions === 1? '' : 's'),
-            failMessages: formatFailures()
-        };
+    runASSERTS(function () {
+        $("body").html(function (i, val) {
+            var dict = {
+                previous: val,
+                totalAssertions: ASSERTS.length,
+                passedAssertions: assertions,
+                plural: (assertions === 1? '' : 's'),
+                failMessages: formatFailures()
+            };
 
         var SUCCESS = swap(multiline(function(){/*
 <div class="report">{{passedAssertions}} / {{totalAssertions}} test{{plural}} passed.
@@ -237,12 +260,13 @@ The test returned:
 {{previous}}
         */}), dict);
 
-        var report = SUCCESS;
+            var report = SUCCESS;
 
-        return report;
+            return report;
+        });
+
+        var $report = $('.report');
+        $report.addClass(failed?'failure':'success');
     });
 
-    var $report = $('.report');
-    $report.addClass(failed?'failure':'success');
-
 });

From 97a28d3938865e732cd9508cb5b71faffb0ecda9 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 10 May 2017 11:56:10 +0200
Subject: [PATCH 016/236] test file encryption/decryption

---
 www/file/test/index.html | 16 +++++++
 www/file/test/main.js    | 97 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+)
 create mode 100644 www/file/test/index.html
 create mode 100644 www/file/test/main.js

diff --git a/www/file/test/index.html b/www/file/test/index.html
new file mode 100644
index 000000000..75b04dc83
--- /dev/null
+++ b/www/file/test/index.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html class="cp pad">
+<head>
+    <title>CryptPad</title>
+    <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css">
+    <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script>
+    <link rel="icon" type="image/png"
+        href="/customize/main-favicon.png"
+        data-main-favicon="/customize/main-favicon.png"
+        data-alt-favicon="/customize/alt-favicon.png"
+        id="favicon" />
+    <link rel="stylesheet" href="/customize/main.css" />
+</head>
+<body>
diff --git a/www/file/test/main.js b/www/file/test/main.js
new file mode 100644
index 000000000..c2b24e4f2
--- /dev/null
+++ b/www/file/test/main.js
@@ -0,0 +1,97 @@
+define([
+    'jquery',
+    '/bower_components/chainpad-crypto/crypto.js',
+    '/bower_components/chainpad-netflux/chainpad-netflux.js',
+    '/common/toolbar.js',
+    '/common/cryptpad-common.js',
+    '/common/visible.js',
+    '/common/notify.js',
+    '/file/file-crypto.js',
+    '/bower_components/tweetnacl/nacl-fast.min.js',
+    '/bower_components/file-saver/FileSaver.min.js',
+], function ($, Crypto, realtimeInput, Toolbar, Cryptpad, Visible, Notify, FileCrypto) {
+    var Nacl = window.nacl;
+
+    $(function () {
+
+    var filesAreSame = function (a, b) {
+        var l = a.length;
+        if (l !== b.length) { return false; }
+
+        var i = 0;
+        for (; i < l; i++) { if (a[i] !== b[i]) { return false; } }
+        return true;
+    };
+
+    var metadataIsSame = function (A, B) {
+        return !Object.keys(A).some(function (k) {
+            return A[k] !== B[k];
+        });
+    };
+
+    var upload = function (blob, metadata) {
+        var u8 = new Uint8Array(blob);
+
+        var key = Nacl.randomBytes(32);
+        var next = FileCrypto.encrypt(u8, metadata, key);
+
+        var chunks = [];
+        var sendChunk = function (box, cb) {
+            chunks.push(box);
+            cb();
+        };
+
+        var again = function (state, box) {
+            switch (state) {
+                case 0:
+                    sendChunk(box, function (e) {
+                        if (e) { return console.error(e); }
+                        next(again);
+                    });
+                    break;
+                case 1:
+                    sendChunk(box, function (e) {
+                        if (e) { return console.error(e); }
+                        next(again);
+                    });
+                    break;
+                case 2:
+                    sendChunk(box, function (e) {
+                        if (e) { return console.error(e); }
+
+                        // check if the uploaded file can be decrypted
+                        var newU8 = FileCrypto.joinChunks(chunks);
+                        FileCrypto.decrypt(newU8, key, function (e, res) {
+                            if (e) { return Cryptpad.alert(e); }
+
+                            if (filesAreSame(blob, res.content) &&
+                                metadataIsSame(res.metadata, metadata)) {
+                                Cryptpad.alert("successfully uploaded");
+                            } else {
+                                Cryptpad.alert('encryption failure!');
+                            }
+                        });
+                    });
+                    break;
+                default:
+                    throw new Error("E_INVAL_STATE");
+            }
+        };
+        next(again);
+    };
+
+    var andThen = function () {
+        var src = '/customize/cryptofist_mini.png';
+        Cryptpad.fetch(src, function (e, file) {
+            console.log(file);
+            upload(file, {
+                pew: 'pew',
+                bang: 'bang',
+            });
+        });
+    };
+
+    andThen();
+
+    });
+});

From c00158d23a3ee4119277d73834944c39d47705e1 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 10 May 2017 13:39:14 +0200
Subject: [PATCH 017/236] Move code to common-history

---
 www/code/main.js             | 33 ++++++++-------------------------
 www/common/common-history.js | 32 ++++++++++++++++++++++++++------
 www/drive/main.js            | 34 ++++++++++------------------------
 www/pad/main.js              | 30 ++++++------------------------
 www/slide/main.js            | 35 +++++++++--------------------------
 5 files changed, 59 insertions(+), 105 deletions(-)

diff --git a/www/code/main.js b/www/code/main.js
index d8b9903f4..85cd26db3 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -150,34 +150,17 @@ define([
                 }
 
                 /* add a history button */
-                var histConfig = {};
-                histConfig.onRender = function (val) {
-                    if (typeof val === "undefined") { return; }
-                    try {
-                        var hjson = JSON.parse(val || '{}');
-                        var remoteDoc = hjson.content;
+                var histConfig = {
+                    onLocal: config.onLocal(),
+                    onRemote: config.onRemote(),
+                    setHistory: setHistory,
+                    applyVal: function (val) {
+                        var remoteDoc = JSON.parse(val || '{}').content;
                         editor.setValue(remoteDoc || '');
                         editor.save();
-                    } catch (e) {
-                        // Probably a parse error
-                        console.error(e);
-                    }
+                    },
+                    $toolbar: $bar
                 };
-                histConfig.onClose = function () {
-                    // Close button clicked
-                    setHistory(false, true);
-                };
-                histConfig.onRevert = function () {
-                    // Revert button clicked
-                    setHistory(false, false);
-                    config.onLocal();
-                    config.onRemote();
-                };
-                histConfig.onReady = function () {
-                    // Called when the history is loaded and the UI displayed
-                    setHistory(true);
-                };
-                histConfig.$toolbar = $bar;
                 var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig});
                 $rightside.append($hist);
 
diff --git a/www/common/common-history.js b/www/common/common-history.js
index 1cd0e6555..8597598c1 100644
--- a/www/common/common-history.js
+++ b/www/common/common-history.js
@@ -24,7 +24,6 @@ define([
 
         var wcId = common.hrefToHexChannelId(config.href || window.location.href);
 
-        console.log(wcId);
         var createRealtime = function () {
             return ChainPad.create({
                 userName: 'history',
@@ -80,11 +79,32 @@ define([
         if (History.loading) { return void console.error("History is already being loaded..."); }
         History.loading = true;
         var $toolbar = config.$toolbar;
-        var noFunc = function () {};
-        var render = config.onRender || noFunc;
-        var onClose = config.onClose || noFunc;
-        var onRevert = config.onRevert || noFunc;
-        var onReady = config.onReady || noFunc;
+
+        if (!config.applyVal || !config.setHistory || !config.onLocal || !config.onRemote) {
+            throw new Error("Missing config element: applyVal, onLocal, onRemote, setHistory");
+        }
+
+        // config.setHistory(bool, bool)
+        // - bool1: history value
+        // - bool2: reset old content?
+        var render = function (val) {
+            if (typeof val === "undefined") { return; }
+            try {
+                config.applyVal(val);
+            } catch (e) {
+                // Probably a parse error
+                console.error(e);
+            }
+        };
+        var onClose = function () { config.setHistory(false, true); };
+        var onRevert = function () {
+            config.setHistory(false, false);
+            config.onLocal();
+            config.onRemote();
+        };
+        var onReady = function () {
+            config.setHistory(true);
+        };
 
         var Messages = common.Messages;
 
diff --git a/www/drive/main.js b/www/drive/main.js
index fe57a02c4..9e88fc5f0 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -2529,7 +2529,6 @@ define([
         setEditable(!bool);
         if (!bool && update) {
             history.onLeaveHistory();
-            //init(); //TODO real proxy here
         }
     };
 
@@ -2682,33 +2681,20 @@ define([
             }
 
             /* add a history button */
-            var histConfig = {};
-            histConfig.onRender = function (val) {
-                if (typeof val === "undefined") { return; }
-                try {
+            var histConfig = {
+                onLocal: function () {
+                    proxy.drive = history.currentObj.drive;
+                },
+                onRemote: function () {},
+                setHistory: setHistory,
+                applyVal: function (val) {
                     var obj = JSON.parse(val || '{}');
                     history.currentObj = obj;
                     history.onEnterHistory(obj);
-                } catch (e) {
-                    // Probably a parse error
-                    logError(e);
-                }
+                },
+                $toolbar: APP.$bar,
+                href: window.location.origin + window.location.pathname + APP.hash
             };
-            histConfig.onClose = function () {
-                // Close button clicked
-                setHistory(false, true);
-            };
-            histConfig.onRevert = function () {
-                // Revert button clicked
-                setHistory(false, false);
-                proxy.drive = history.currentObj.drive;
-            };
-            histConfig.onReady = function () {
-                // Called when the history is loaded and the UI displayed
-                setHistory(true);
-            };
-            histConfig.$toolbar = APP.$bar;
-            histConfig.href = window.location.origin + window.location.pathname + APP.hash;
             var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig});
             $rightside.append($hist);
 
diff --git a/www/pad/main.js b/www/pad/main.js
index 50e35f2dc..635ea0087 100644
--- a/www/pad/main.js
+++ b/www/pad/main.js
@@ -499,31 +499,13 @@ define([
                 }
 
                 /* add a history button */
-                var histConfig = {};
-                histConfig.onRender = function (val) {
-                    if (typeof val === "undefined") { return; }
-                    try {
-                        applyHjson(val || '["BODY",{},[]]');
-                    } catch (e) {
-                        // Probably a parse error
-                        console.error(e);
-                    }
+                var histConfig = {
+                    onLocal: realtimeOptions.onLocal(),
+                    onRemote: realtimeOptions.onRemote(),
+                    setHistory: setHistory,
+                    applyVal: function (val) { applyHjson(val || '["BODY",{},[]]'); },
+                    $toolbar: $bar
                 };
-                histConfig.onClose = function () {
-                    // Close button clicked
-                    setHistory(false, true);
-                };
-                histConfig.onRevert = function () {
-                    // Revert button clicked
-                    setHistory(false, false);
-                    realtimeOptions.onLocal();
-                    realtimeOptions.onRemote();
-                };
-                histConfig.onReady = function () {
-                    // Called when the history is loaded and the UI displayed
-                    setHistory(true);
-                };
-                histConfig.$toolbar = $bar;
                 var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig});
                 $rightside.append($hist);
 
diff --git a/www/slide/main.js b/www/slide/main.js
index b3d1209fd..ad80f03d7 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -293,34 +293,17 @@ define([
                 }
 
                 /* add a history button */
-                var histConfig = {};
-                histConfig.onRender = function (val) {
-                    if (typeof val === "undefined") { return; }
-                    try {
-                        var hjson = JSON.parse(val || '{}');
-                        var remoteDoc = hjson.content;
+                var histConfig = {
+                    onLocal: config.onLocal(),
+                    onRemote: config.onRemote(),
+                    setHistory: setHistory,
+                    applyVal: function (val) {
+                        var remoteDoc = JSON.parse(val || '{}').content;
                         editor.setValue(remoteDoc || '');
                         editor.save();
-                    } catch (e) {
-                        // Probably a parse error
-                        console.error(e);
-                    }
-                };
-                histConfig.onClose = function () {
-                    // Close button clicked
-                    setHistory(false, true);
-                };
-                histConfig.onRevert = function () {
-                    // Revert button clicked
-                    setHistory(false, false);
-                    config.onLocal();
-                    config.onRemote();
-                };
-                histConfig.onReady = function () {
-                    // Called when the history is loaded and the UI displayed
-                    setHistory(true);
-                };
-                histConfig.$toolbar = $bar;
+                    },
+                    $toolbar: $bar
+                }
                 var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig});
                 $rightside.append($hist);
 

From 96ccb943979e28ef201ef9196440f2fe3889e9bc Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 10 May 2017 14:44:01 +0200
Subject: [PATCH 018/236] Add the share button when a file upload is complete

---
 www/common/toolbar2.js |  5 +--
 www/file/main.js       | 75 ++++++++++++++----------------------------
 2 files changed, 28 insertions(+), 52 deletions(-)

diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js
index 9d7d43aa9..49e2376e8 100644
--- a/www/common/toolbar2.js
+++ b/www/common/toolbar2.js
@@ -367,7 +367,7 @@ define([
         return "Loading share button";
     };
 
-    var createFileShare = function () {
+    var createFileShare = function (toolbar) {
         if (!window.location.hash) {
             throw new Error("Unable to display the share button: hash required in the URL");
         }
@@ -380,6 +380,7 @@ define([
             if (success) { Cryptpad.log(Messages.shareSuccess); }
         });
 
+        toolbar.$leftside.append($button);
         return $button;
     };
 
@@ -852,7 +853,7 @@ define([
         tb['useradmin'] = createUserAdmin;
 
 
-        var addElement = function (arr, additionnalCfg, init) {
+        var addElement = toolbar.addElement = function (arr, additionnalCfg, init) {
             if (typeof additionnalCfg === "object") { $.extend(true, config, additionnalCfg); }
             arr.forEach(function (el) {
                 if (typeof el !== "string" || !el.trim()) { return; }
diff --git a/www/file/main.js b/www/file/main.js
index 223fcc41e..a8e7da517 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -2,7 +2,7 @@ define([
     'jquery',
     '/bower_components/chainpad-crypto/crypto.js',
     '/bower_components/chainpad-netflux/chainpad-netflux.js',
-    '/common/toolbar.js',
+    '/common/toolbar2.js',
     '/common/cryptpad-common.js',
     '/common/visible.js',
     '/common/notify.js',
@@ -24,6 +24,8 @@ define([
 
     Cryptpad.addLoadingScreen();
 
+    var Title;
+
     var myFile;
     var myDataType;
 
@@ -68,17 +70,13 @@ define([
                             var uri = ['', 'blob', id.slice(0,2), id].join('/');
                             console.log("encrypted blob is now available as %s", uri);
 
-                            // TODO use cryptpad-common utilities
-                            window.location.hash = [
-                                '',
-                                2,
-                                Cryptpad.hexToBase64(id).replace(/\//g, '-'),
-                                Nacl.util.encodeBase64(key).replace(/\//g, '-'),
-                                ''
-                            ].join('/');
+                            var b64Key = Nacl.util.encodeBase64(key);
+                            window.location.hash = Cryptpad.getFileHashFromKeys(id, ib64key);
 
                             $form.hide();
 
+                            APP.toolbar.addElement(['fileshare'], {});
+
                             // check if the uploaded file can be decrypted
                             var newU8 = FileCrypto.joinChunks(chunks);
                             FileCrypto.decrypt(newU8, key, function (e, res) {
@@ -88,7 +86,8 @@ define([
                                 myDataType = res.metadata.type;
 
                                 var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href));
-                                APP.updateTitle(title || defaultName);
+                                Title.updateTitle(title || defaultName);
+                                APP.toolbar.title.show();
                                 Cryptpad.alert("successfully uploaded: " + title);
                             });
                         });
@@ -133,9 +132,6 @@ define([
             uploadMode = true;
         }
 
-        var parsed = Cryptpad.parsePadUrl(window.location.href);
-        var defaultName = Cryptpad.getDefaultName(parsed);
-
         var getTitle = function () {
             var pad = Cryptpad.getRelativeHref(window.location.href);
             var fo = Cryptpad.getStore().getProxy().fo;
@@ -143,27 +139,6 @@ define([
             return data ? data.title : undefined;
         };
 
-        var updateTitle = APP.updateTitle = function (newTitle) {
-            Cryptpad.renamePad(newTitle, function (err, data) {
-                if (err) {
-                    console.log("Couldn't set pad title");
-                    console.error(err);
-                    return;
-                }
-                document.title = newTitle;
-                $bar.find('.' + Toolbar.constants.title).find('span.title').text(data);
-                $bar.find('.' + Toolbar.constants.title).find('input').val(data);
-            });
-        };
-
-        var suggestName = function () {
-            return document.title || getTitle() || '';
-        };
-
-        var renameCb = function (err, title) {
-            document.title = title;
-        };
-
         var exportFile = function () {
             var suggestion = document.title;
             Cryptpad.prompt(Messages.exportPrompt,
@@ -174,33 +149,33 @@ define([
             });
         };
 
-        var displayed = ['useradmin', 'newpad', 'limit'];
+        Title = Cryptpad.createTitle({}, function(){}, Cryptpad);
+
+        var displayed = ['title', 'useradmin', 'newpad', 'limit'];
         if (secret && hexFileName) {
-            displayed.push('share');
+            displayed.push('fileshare');
         }
 
         var configTb = {
             displayed: displayed,
             ifrw: ifrw,
             common: Cryptpad,
-            title: {
-                onRename: renameCb,
-                defaultName: defaultName,
-                suggestName: suggestName
-            },
-            share: {
-                secret: secret,
-                channel: hexFileName
-            },
-            hideDisplayName: true
+            title: Title.getTitleConfig(),
+            hideDisplayName: true,
+            $container: $bar
         };
-        Toolbar.create($bar, null, null, null, null, configTb);
-        var $rightside = $bar.find('.' + Toolbar.constants.rightside);
+        var toolbar = APP.toolbar = Toolbar.create(configTb);
+
+        Title.setToolbar(toolbar);
+
+        if (uploadMode) { toolbar.title.hide(); }
+
+        var $rightside = toolbar.$rightside;
 
         var $export = Cryptpad.createButton('export', true, {}, exportFile);
         $rightside.append($export);
 
-        updateTitle(Cryptpad.initialName || getTitle() || defaultName);
+        Title.updateTitle(Cryptpad.initialName || getTitle() || Title.defaultTitle);
 
         if (!uploadMode) {
             var src = Cryptpad.getBlobPathFromHex(hexFileName);
@@ -219,7 +194,7 @@ define([
                     var title = document.title = data.metadata.name;
                     myFile = data.content;
                     myDataType = data.metadata.type;
-                    updateTitle(title || defaultName);
+                    Title.updateTitle(title || Title.defaultTitle);
                     Cryptpad.removeLoadingScreen();
                 });
             });

From 3c4b6a89d2ca7b7685a94474421ed571e58c5cc0 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 10 May 2017 14:48:15 +0200
Subject: [PATCH 019/236] Fix a conflict with the arrow keys and renaming a
 folder in the tree

---
 www/drive/main.js | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/www/drive/main.js b/www/drive/main.js
index 9e88fc5f0..97a48d79d 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -523,6 +523,10 @@ define([
                     placeholder: name,
                     value: name
                 }).data('path', path);
+
+                // Stop propagation on keydown to avoid issues with arrow keys
+                $input.on('keydown', function (e) { e.stopPropagation(); });
+
                 $input.on('keyup', function (e) {
                     if (e.which === 13) {
                         removeInput(true);

From 1e4fc5a979f5cedd35450d4ddbd0a15ee2b2217d Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 10 May 2017 14:56:50 +0200
Subject: [PATCH 020/236] lint

---
 www/file/main.js  | 2 +-
 www/slide/main.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/www/file/main.js b/www/file/main.js
index a8e7da517..ffb143b73 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -71,7 +71,7 @@ define([
                             console.log("encrypted blob is now available as %s", uri);
 
                             var b64Key = Nacl.util.encodeBase64(key);
-                            window.location.hash = Cryptpad.getFileHashFromKeys(id, ib64key);
+                            window.location.hash = Cryptpad.getFileHashFromKeys(id, b64key);
 
                             $form.hide();
 
diff --git a/www/slide/main.js b/www/slide/main.js
index ad80f03d7..b5dd26704 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -303,7 +303,7 @@ define([
                         editor.save();
                     },
                     $toolbar: $bar
-                }
+                };
                 var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig});
                 $rightside.append($hist);
 

From 5c8586f8a32c4c0f50157145075716fca79bee11 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 10 May 2017 15:00:05 +0200
Subject: [PATCH 021/236] Fix typo in file upload

---
 www/common/cryptpad-common.js | 1 +
 www/file/main.js              | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index a1daa8b17..73b51e8b3 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -84,6 +84,7 @@ define([
 
     common.getEditHashFromKeys = Hash.getEditHashFromKeys;
     common.getViewHashFromKeys = Hash.getViewHashFromKeys;
+    common.getFileHashFromKeys = Hash.getFileHashFromKeys;
     common.getSecrets = Hash.getSecrets;
     common.getHashes = Hash.getHashes;
     common.createChannelId = Hash.createChannelId;
diff --git a/www/file/main.js b/www/file/main.js
index ffb143b73..66e0f6c25 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -71,7 +71,7 @@ define([
                             console.log("encrypted blob is now available as %s", uri);
 
                             var b64Key = Nacl.util.encodeBase64(key);
-                            window.location.hash = Cryptpad.getFileHashFromKeys(id, b64key);
+                            window.location.hash = Cryptpad.getFileHashFromKeys(id, b64Key);
 
                             $form.hide();
 

From db2f7a5e36d2ab129311c4eb513496cd061d69a0 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 10 May 2017 15:36:14 +0200
Subject: [PATCH 022/236] add todos and change file id size

---
 rpc.js | 92 ++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 63 insertions(+), 29 deletions(-)

diff --git a/rpc.js b/rpc.js
index db3e98faa..ec6e516d0 100644
--- a/rpc.js
+++ b/rpc.js
@@ -13,7 +13,8 @@ var RPC = module.exports;
 var Store = require("./storage/file");
 
 var isValidChannel = function (chan) {
-    return /^[a-fA-F0-9]/.test(chan);
+    return /^[a-fA-F0-9]/.test(chan) ||
+        [32, 48].indexOf(chan.length) !== -1;
 };
 
 var uint8ArrayToHex = function (a) {
@@ -33,10 +34,10 @@ var uint8ArrayToHex = function (a) {
     }).join('');
 };
 
-var createChannelId = function () {
-    var id = uint8ArrayToHex(Nacl.randomBytes(16));
-    if (id.length !== 32 || /[^a-f0-9]/.test(id)) {
-        throw new Error('channel ids must consist of 32 hex characters');
+var createFileId = function () {
+    var id = uint8ArrayToHex(Nacl.randomBytes(24));
+    if (id.length !== 48 || /[^a-f0-9]/.test(id)) {
+        throw new Error('file ids must consist of 48 hex characters');
     }
     return id;
 };
@@ -245,14 +246,32 @@ var getChannelList = function (store, Sessions, publicKey, cb) {
     });
 };
 
+var getUploadSize = function (store, channel, cb) {
+    var path = '';
+
+    Fs.stat(path, function (err, stats) {
+        if (err) { return void cb(err); }
+        cb(void 0, stats.size);
+    });
+};
+
 var getFileSize = function (store, channel, cb) {
     if (!isValidChannel(channel)) { return void cb('INVALID_CHAN'); }
-    if (typeof(store.getChannelSize) !== 'function') {
-        return cb('GET_CHANNEL_SIZE_UNSUPPORTED');
+
+    if (channel.length === 32) {
+        if (typeof(store.getChannelSize) !== 'function') {
+            return cb('GET_CHANNEL_SIZE_UNSUPPORTED');
+        }
+
+        return void store.getChannelSize(channel, function (e, size) {
+            if (e) { return void cb(e.code); }
+            cb(void 0, size);
+        });
     }
 
-    return void store.getChannelSize(channel, function (e, size) {
-        if (e) { return void cb(e.code); }
+    // 'channel' refers to a file, so you need anoter API
+    getUploadSize(null, channel, function (e, size) {
+        if (e) { return void cb(e); }
         cb(void 0, size);
     });
 };
@@ -332,6 +351,7 @@ var getHash = function (store, Sessions, publicKey, cb) {
     store.message(publicKey, JSON.stringify(msg), cb);
 }; */
 
+// TODO check if new pinned size exceeds user quota
 var pinChannel = function (store, Sessions, publicKey, channels, cb) {
     if (!channels && channels.filter) {
         // expected array
@@ -383,7 +403,7 @@ var unpinChannel = function (store, Sessions, publicKey, channels, cb) {
             function (e) {
             if (e) { return void cb(e); }
             toStore.forEach(function (channel) {
-                delete session.channels[channel]; // = false;
+                delete session.channels[channel];
             });
 
             getHash(store, Sessions, publicKey, cb);
@@ -391,6 +411,7 @@ var unpinChannel = function (store, Sessions, publicKey, channels, cb) {
     });
 };
 
+// TODO check if new pinned size exceeds user quota
 var resetUserPins = function (store, Sessions, publicKey, channelList, cb) {
     var session = beginSession(Sessions, publicKey);
 
@@ -469,13 +490,13 @@ var makeFileStream = function (root, id, cb) {
     });
 };
 
-var upload = function (stagingPath, Sessions, publicKey, content, cb) {
+var upload = function (paths, Sessions, publicKey, content, cb) {
     var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line
 
     var session = Sessions[publicKey];
     session.atime = +new Date();
     if (!session.blobstage) {
-        makeFileStream(stagingPath, publicKey, function (e, stream) {
+        makeFileStream(paths.staging, publicKey, function (e, stream) {
             if (e) { return void cb(e); }
 
             var blobstage = session.blobstage = stream;
@@ -488,10 +509,10 @@ var upload = function (stagingPath, Sessions, publicKey, content, cb) {
     }
 };
 
-var upload_cancel = function (stagingPath, Sessions, publicKey, cb) {
-    var path = makeFilePath(stagingPath, publicKey);
+var upload_cancel = function (paths, Sessions, publicKey, cb) {
+    var path = makeFilePath(paths.staging, publicKey);
     if (!path) {
-        console.log(stagingPath, publicKey);
+        console.log(paths.staging, publicKey);
         console.log(path);
         return void cb('NO_FILE');
     }
@@ -512,7 +533,13 @@ var isFile = function (filePath, cb) {
     });
 };
 
-var upload_complete = function (stagingPath, storePath, Sessions, publicKey, cb) {
+/*  TODO
+change channel IDs to a different length so that when we pin, we will be able
+to tell that it is not a channel, but a file, just by its length.
+
+also, when your upload is complete, pin the resulting file.
+*/
+var upload_complete = function (paths, Sessions, publicKey, cb) {
     var session = Sessions[publicKey];
 
     if (session.blobstage && session.blobstage.close) {
@@ -520,14 +547,14 @@ var upload_complete = function (stagingPath, storePath, Sessions, publicKey, cb)
         delete session.blobstage;
     }
 
-    var oldPath = makeFilePath(stagingPath, publicKey);
+    var oldPath = makeFilePath(paths.staging, publicKey);
 
     var tryRandomLocation = function (cb) {
-        var id = createChannelId();
+        var id = createFileId();
         var prefix = id.slice(0, 2);
-        var newPath = makeFilePath(storePath, id);
+        var newPath = makeFilePath(paths.blob, id);
 
-        safeMkdir(Path.join(storePath, prefix), function (e) {
+        safeMkdir(Path.join(paths.blob, prefix), function (e) {
             if (e) {
                 console.error(e);
                 return void cb('RENAME_ERR');
@@ -558,8 +585,14 @@ var upload_complete = function (stagingPath, storePath, Sessions, publicKey, cb)
     });
 };
 
-var upload_status = function (stagingPath, Sessions, publicKey, cb) {
-    var filePath = makeFilePath(stagingPath, publicKey);
+/*  TODO
+when asking about your upload status, also send some information about how big
+your upload is going to be. if that would exceed your limit, return TOO_LARGE
+error.
+
+*/
+var upload_status = function (paths, Sessions, publicKey, cb) {
+    var filePath = makeFilePath(paths.staging, publicKey);
     if (!filePath) { return void cb('E_INVALID_PATH'); }
     isFile(filePath, function (e, yes) {
         cb(e, yes);
@@ -577,9 +610,10 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
         return typeof(config[key]) === 'string'? config[key]: def;
     };
 
-    var pinPath = keyOrDefaultString('pinPath', './pins');
-    var blobPath = keyOrDefaultString('blobPath', './blob');
-    var blobStagingPath = keyOrDefaultString('blobStagingPath', './blobstage');
+    var paths = {};
+    var pinPath = paths.pin = keyOrDefaultString('pinPath', './pins');
+    var blobPath = paths.blob = keyOrDefaultString('blobPath', './blob');
+    var blobStagingPath = paths.staging = keyOrDefaultString('blobStagingPath', './blobstage');
 
     var store;
 
@@ -695,22 +729,22 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             // restricted to privileged users...
             case 'UPLOAD':
                 if (!privileged) { return deny(); }
-                return void upload(blobStagingPath, Sessions, safeKey, msg[1], function (e, len) {
+                return void upload(paths, Sessions, safeKey, msg[1], function (e, len) {
                     Respond(e, len);
                 });
             case 'UPLOAD_STATUS':
                 if (!privileged) { return deny(); }
-                return void upload_status(blobStagingPath, Sessions, safeKey, function (e, stat) {
+                return void upload_status(paths, Sessions, safeKey, function (e, stat) {
                     Respond(e, stat);
                 });
             case 'UPLOAD_COMPLETE':
                 if (!privileged) { return deny(); }
-                return void upload_complete(blobStagingPath, blobPath, Sessions, safeKey, function (e, hash) {
+                return void upload_complete(paths, Sessions, safeKey, function (e, hash) {
                     Respond(e, hash);
                 });
             case 'UPLOAD_CANCEL':
                 if (!privileged) { return deny(); }
-                return void upload_cancel(blobStagingPath, Sessions, safeKey, function (e) {
+                return void upload_cancel(paths, Sessions, safeKey, function (e) {
                     Respond(e);
                 });
             default:

From 5aba2d4640c5ac7cc82835c17b59d220532e0fe3 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 10 May 2017 15:36:34 +0200
Subject: [PATCH 023/236] remove unused variable

---
 www/assert/main.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/assert/main.js b/www/assert/main.js
index 449834a61..7da11f408 100644
--- a/www/assert/main.js
+++ b/www/assert/main.js
@@ -19,7 +19,7 @@ define([
         var count = ASSERTS.length;
         var successes = 0;
 
-        var done = function (err, index) {
+        var done = function (err) {
             count--;
             if (err) { failMessages.push(err); }
             else { successes++; }

From 5a21be81123c53b5b633198ff7ac67ec8579f589 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 10 May 2017 15:54:09 +0200
Subject: [PATCH 024/236] Improve UI on mobile

---
 customize.dist/main.css              |   5 ++
 customize.dist/main.js               |  91 ++++++++++++-----------
 customize.dist/src/less/loading.less |   3 +
 www/drive/main.js                    |   4 +-
 www/login/main.js                    | 107 ++++++++++++++-------------
 www/register/main.js                 | 100 +++++++++++++------------
 6 files changed, 166 insertions(+), 144 deletions(-)

diff --git a/customize.dist/main.css b/customize.dist/main.css
index 026649207..d54ec6a98 100644
--- a/customize.dist/main.css
+++ b/customize.dist/main.css
@@ -388,6 +388,11 @@
   right: 0;
   text-align: center;
 }
+@media screen and (max-height: 600px) {
+  .cp #loadingTip {
+    display: none;
+  }
+}
 .cp #loadingTip span {
   background-color: #302B28;
   color: #fafafa;
diff --git a/customize.dist/main.js b/customize.dist/main.js
index cdaeedfdb..088e1f51a 100644
--- a/customize.dist/main.js
+++ b/customize.dist/main.js
@@ -119,54 +119,57 @@ define([
         });
 
         $('button.login').click(function () {
-            Cryptpad.addLoadingScreen(Messages.login_hashing);
-            // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password
+            // setTimeout 100ms to remove the keyboard on mobile devices before the loading screen pops up
             window.setTimeout(function () {
-                loginReady(function () {
-                    var uname = $uname.val();
-                    var passwd = $passwd.val();
-                    Login.loginOrRegister(uname, passwd, false, function (err, result) {
-                        if (!err) {
-                            var proxy = result.proxy;
+                Cryptpad.addLoadingScreen(Messages.login_hashing);
+                // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password
+                window.setTimeout(function () {
+                    loginReady(function () {
+                        var uname = $uname.val();
+                        var passwd = $passwd.val();
+                        Login.loginOrRegister(uname, passwd, false, function (err, result) {
+                            if (!err) {
+                                var proxy = result.proxy;
 
-                            // successful validation and user already exists
-                            // set user hash in localStorage and redirect to drive
-                            if (proxy && !proxy.login_name) {
-                                proxy.login_name = result.userName;
+                                // successful validation and user already exists
+                                // set user hash in localStorage and redirect to drive
+                                if (proxy && !proxy.login_name) {
+                                    proxy.login_name = result.userName;
+                                }
+
+                                proxy.edPrivate = result.edPrivate;
+                                proxy.edPublic = result.edPublic;
+
+                                Cryptpad.whenRealtimeSyncs(result.realtime, function () {
+                                    Cryptpad.login(result.userHash, result.userName, function () {
+                                        document.location.href = '/drive/';
+                                    });
+                                });
+                                return;
                             }
-
-                            proxy.edPrivate = result.edPrivate;
-                            proxy.edPublic = result.edPublic;
-
-                            Cryptpad.whenRealtimeSyncs(result.realtime, function () {
-                                Cryptpad.login(result.userHash, result.userName, function () {
-                                    document.location.href = '/drive/';
-                                });
-                            });
-                            return;
-                        }
-                        switch (err) {
-                            case 'NO_SUCH_USER':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.alert(Messages.login_noSuchUser);
-                                });
-                                break;
-                            case 'INVAL_USER':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.alert(Messages.login_invalUser);
-                                });
-                                break;
-                            case 'INVAL_PASS':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.alert(Messages.login_invalPass);
-                                });
-                                break;
-                            default: // UNHANDLED ERROR
-                                Cryptpad.errorLoadingScreen(Messages.login_unhandledError);
-                        }
+                            switch (err) {
+                                case 'NO_SUCH_USER':
+                                    Cryptpad.removeLoadingScreen(function () {
+                                        Cryptpad.alert(Messages.login_noSuchUser);
+                                    });
+                                    break;
+                                case 'INVAL_USER':
+                                    Cryptpad.removeLoadingScreen(function () {
+                                        Cryptpad.alert(Messages.login_invalUser);
+                                    });
+                                    break;
+                                case 'INVAL_PASS':
+                                    Cryptpad.removeLoadingScreen(function () {
+                                        Cryptpad.alert(Messages.login_invalPass);
+                                    });
+                                    break;
+                                default: // UNHANDLED ERROR
+                                    Cryptpad.errorLoadingScreen(Messages.login_unhandledError);
+                            }
+                        });
                     });
-                });
-            }, 0);
+                }, 0);
+            }, 100);
         });
         /* End Log in UI */
 
diff --git a/customize.dist/src/less/loading.less b/customize.dist/src/less/loading.less
index b48045622..6dcf2491a 100644
--- a/customize.dist/src/less/loading.less
+++ b/customize.dist/src/less/loading.less
@@ -36,6 +36,9 @@
     left: 0;
     right: 0;
     text-align: center;
+    @media screen and (max-height: @media-medium-screen) {
+        display: none;
+    }
     span {
         background-color: @bg-loading;
         color: @color-loading;
diff --git a/www/drive/main.js b/www/drive/main.js
index 97a48d79d..d4ac6cce2 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -770,6 +770,7 @@ define([
 
         var displayMenu = function (e, $menu) {
             $menu.css({ display: "block" });
+            if (APP.mobile()) { return; }
             var h = $menu.outerHeight();
             var w = $menu.outerWidth();
             var wH = window.innerHeight;
@@ -1792,7 +1793,7 @@ define([
             module.resetTree();
 
             // in history mode we want to focus the version number input
-            if (!history.isHistoryMode) { $tree.find('#searchInput').focus(); }
+            if (!history.isHistoryMode && !APP.mobile()) { $tree.find('#searchInput').focus(); }
             $tree.find('#searchInput')[0].selectionStart = getSearchCursor();
             $tree.find('#searchInput')[0].selectionEnd = getSearchCursor();
 
@@ -2066,6 +2067,7 @@ define([
                     if (!filesOp.comparePath(newLocation, currentPath.slice())) { displayDirectory(newLocation); }
                     return;
                 }
+                if (APP.mobile()) { return; }
                 search.to = window.setTimeout(function () {
                     if (!isInSearchTmp) { search.oldLocation = currentPath.slice(); }
                     var newLocation = [SEARCH, $input.val()];
diff --git a/www/login/main.js b/www/login/main.js
index 973cd985f..7a677cebb 100644
--- a/www/login/main.js
+++ b/www/login/main.js
@@ -57,65 +57,68 @@ define([
         });
 
         $('button.login').click(function () {
-            Cryptpad.addLoadingScreen(Messages.login_hashing);
-            // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password
+            // setTimeout 100ms to remove the keyboard on mobile devices before the loading screen pops up
             window.setTimeout(function () {
-                loginReady(function () {
-                    var uname = $uname.val();
-                    var passwd = $passwd.val();
-                    Login.loginOrRegister(uname, passwd, false, function (err, result) {
-                        if (!err) {
-                            var proxy = result.proxy;
+                Cryptpad.addLoadingScreen(Messages.login_hashing);
+                // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password
+                window.setTimeout(function () {
+                    loginReady(function () {
+                        var uname = $uname.val();
+                        var passwd = $passwd.val();
+                        Login.loginOrRegister(uname, passwd, false, function (err, result) {
+                            if (!err) {
+                                var proxy = result.proxy;
 
-                            // successful validation and user already exists
-                            // set user hash in localStorage and redirect to drive
-                            if (!proxy.login_name) {
-                                result.proxy.login_name = result.userName;
-                            }
+                                // successful validation and user already exists
+                                // set user hash in localStorage and redirect to drive
+                                if (!proxy.login_name) {
+                                    result.proxy.login_name = result.userName;
+                                }
 
-                            proxy.edPrivate = result.edPrivate;
-                            proxy.edPublic = result.edPublic;
+                                proxy.edPrivate = result.edPrivate;
+                                proxy.edPublic = result.edPublic;
 
-                            Cryptpad.feedback('LOGIN', true);
-                            Cryptpad.whenRealtimeSyncs(result.realtime, function() {
-                                Cryptpad.login(result.userHash, result.userName, function () {
-                                    if (sessionStorage.redirectTo) {
-                                        var h = sessionStorage.redirectTo;
-                                        var parser = document.createElement('a');
-                                        parser.href = h;
-                                        if (parser.origin === window.location.origin) {
-                                            delete sessionStorage.redirectTo;
-                                            window.location.href = h;
-                                            return;
+                                Cryptpad.feedback('LOGIN', true);
+                                Cryptpad.whenRealtimeSyncs(result.realtime, function() {
+                                    Cryptpad.login(result.userHash, result.userName, function () {
+                                        if (sessionStorage.redirectTo) {
+                                            var h = sessionStorage.redirectTo;
+                                            var parser = document.createElement('a');
+                                            parser.href = h;
+                                            if (parser.origin === window.location.origin) {
+                                                delete sessionStorage.redirectTo;
+                                                window.location.href = h;
+                                                return;
+                                            }
                                         }
-                                    }
-                                    window.location.href = '/drive/';
+                                        window.location.href = '/drive/';
+                                    });
                                 });
-                            });
-                            return;
-                        }
-                        switch (err) {
-                            case 'NO_SUCH_USER':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.alert(Messages.login_noSuchUser);
-                                });
-                                break;
-                            case 'INVAL_USER':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.alert(Messages.login_invalUser);
-                                });
-                                break;
-                            case 'INVAL_PASS':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.alert(Messages.login_invalPass);
-                                });
-                                break;
-                            default: // UNHANDLED ERROR
-                                Cryptpad.errorLoadingScreen(Messages.login_unhandledError);
-                        }
+                                return;
+                            }
+                            switch (err) {
+                                case 'NO_SUCH_USER':
+                                    Cryptpad.removeLoadingScreen(function () {
+                                        Cryptpad.alert(Messages.login_noSuchUser);
+                                    });
+                                    break;
+                                case 'INVAL_USER':
+                                    Cryptpad.removeLoadingScreen(function () {
+                                        Cryptpad.alert(Messages.login_invalUser);
+                                    });
+                                    break;
+                                case 'INVAL_PASS':
+                                    Cryptpad.removeLoadingScreen(function () {
+                                        Cryptpad.alert(Messages.login_invalPass);
+                                    });
+                                    break;
+                                default: // UNHANDLED ERROR
+                                    Cryptpad.errorLoadingScreen(Messages.login_unhandledError);
+                            }
+                        });
                     });
-                });
-            }, 0);
+                }, 0);
+            }, 100);
         });
     });
 });
diff --git a/www/register/main.js b/www/register/main.js
index 6e97e2a93..bafe55423 100644
--- a/www/register/main.js
+++ b/www/register/main.js
@@ -101,57 +101,63 @@ define([
             function (yes) {
                 if (!yes) { return; }
 
-                Cryptpad.addLoadingScreen(Messages.login_hashing);
-                Login.loginOrRegister(uname, passwd, true, function (err, result) {
-                    var proxy = result.proxy;
+                // setTimeout 100ms to remove the keyboard on mobile devices before the loading screen pops up
+                window.setTimeout(function () {
+                    Cryptpad.addLoadingScreen(Messages.login_hashing);
+                    // We need a setTimeout(cb, 0) otherwise the loading screen is only displayed after hashing the password
+                    window.setTimeout(function () {
+                        Login.loginOrRegister(uname, passwd, true, function (err, result) {
+                            var proxy = result.proxy;
 
-                    if (err) {
-                        switch (err) {
-                            case 'NO_SUCH_USER':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.alert(Messages.login_noSuchUser);
-                                });
-                                break;
-                            case 'INVAL_USER':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.alert(Messages.login_invalUser);
-                                });
-                                break;
-                            case 'INVAL_PASS':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.alert(Messages.login_invalPass);
-                                });
-                                break;
-                            case 'ALREADY_REGISTERED':
-                                Cryptpad.removeLoadingScreen(function () {
-                                    Cryptpad.confirm(Messages.register_alreadyRegistered, function (yes) {
-                                        if (!yes) { return; }
-                                        proxy.login_name = uname;
+                            if (err) {
+                                switch (err) {
+                                    case 'NO_SUCH_USER':
+                                        Cryptpad.removeLoadingScreen(function () {
+                                            Cryptpad.alert(Messages.login_noSuchUser);
+                                        });
+                                        break;
+                                    case 'INVAL_USER':
+                                        Cryptpad.removeLoadingScreen(function () {
+                                            Cryptpad.alert(Messages.login_invalUser);
+                                        });
+                                        break;
+                                    case 'INVAL_PASS':
+                                        Cryptpad.removeLoadingScreen(function () {
+                                            Cryptpad.alert(Messages.login_invalPass);
+                                        });
+                                        break;
+                                    case 'ALREADY_REGISTERED':
+                                        Cryptpad.removeLoadingScreen(function () {
+                                            Cryptpad.confirm(Messages.register_alreadyRegistered, function (yes) {
+                                                if (!yes) { return; }
+                                                proxy.login_name = uname;
 
-                                        if (!proxy[Cryptpad.displayNameKey]) {
-                                            proxy[Cryptpad.displayNameKey] = uname;
-                                        }
-                                        Cryptpad.eraseTempSessionValues();
-                                        logMeIn(result);
-                                    });
-                                });
-                                break;
-                            default: // UNHANDLED ERROR
-                                Cryptpad.errorLoadingScreen(Messages.login_unhandledError);
-                        }
-                        return;
-                    }
-                    Cryptpad.eraseTempSessionValues();
-                    if (shouldImport) {
-                        sessionStorage.migrateAnonDrive = 1;
-                    }
+                                                if (!proxy[Cryptpad.displayNameKey]) {
+                                                    proxy[Cryptpad.displayNameKey] = uname;
+                                                }
+                                                Cryptpad.eraseTempSessionValues();
+                                                logMeIn(result);
+                                            });
+                                        });
+                                        break;
+                                    default: // UNHANDLED ERROR
+                                        Cryptpad.errorLoadingScreen(Messages.login_unhandledError);
+                                }
+                                return;
+                            }
+                            Cryptpad.eraseTempSessionValues();
+                            if (shouldImport) {
+                                sessionStorage.migrateAnonDrive = 1;
+                            }
 
-                    proxy.login_name = uname;
-                    proxy[Cryptpad.displayNameKey] = uname;
-                    sessionStorage.createReadme = 1;
+                            proxy.login_name = uname;
+                            proxy[Cryptpad.displayNameKey] = uname;
+                            sessionStorage.createReadme = 1;
 
-                    logMeIn(result);
-                });
+                            logMeIn(result);
+                        });
+                    }, 0);
+                }, 100);
             }, {
                 ok: Messages.register_writtenPassword,
                 cancel: Messages.register_cancel,

From cf81b02096122007e24ebd66af0be2d65f448084 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 10 May 2017 16:11:41 +0200
Subject: [PATCH 025/236] Make sure the spinner is always centered in the
 loading screen

---
 www/common/common-interface.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/common-interface.js b/www/common/common-interface.js
index fb965a5d9..b2b5dad10 100644
--- a/www/common/common-interface.js
+++ b/www/common/common-interface.js
@@ -143,7 +143,7 @@ define([
 
         return {
             show: function () {
-                $target.show();
+                $target.css('display', 'inline');
                 return this;
             },
             hide: function () {

From 1525712deb960bc8f1acbcda548d4f3b2fb850a2 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 10 May 2017 17:13:14 +0200
Subject: [PATCH 026/236] new encrypted file format

---
 www/file/file-crypto.js | 104 ++++++++++++++++------------------------
 www/file/main.js        |  84 ++++++++++++++------------------
 www/file/test/main.js   |  62 ++++++++++--------------
 3 files changed, 104 insertions(+), 146 deletions(-)

diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js
index 35e2f8037..5290dfb80 100644
--- a/www/file/file-crypto.js
+++ b/www/file/file-crypto.js
@@ -57,28 +57,40 @@ define([
         }, []));
     };
 
-    var padChunk = function (A) {
-        var padding;
-        if (A.length === plainChunkLength) { return A; }
-        if (A.length < plainChunkLength) {
-            padding = new Array(plainChunkLength - A.length).fill(32);
-            return A.concat(padding);
-        }
-        if (A.length > plainChunkLength) {
-            // how many times larger is it?
-            var chunks = Math.ceil(A.length / plainChunkLength);
-            padding = new Array((plainChunkLength * chunks) - A.length).fill(32);
-            return A.concat(padding);
-        }
-    };
-
     var decrypt = function (u8, key, cb) {
+        var fail = function (e) {
+            cb(e || "DECRYPTION_ERROR");
+        };
+
         var nonce = createNonce();
         var i = 0;
 
-        decodePrefix([]); // TODO
+        var prefix = u8.subarray(0, 2);
+        var metadataLength = decodePrefix(prefix);
+
+        var res = {
+            metadata: undefined,
+        };
+
+        var metaBox = new Uint8Array(u8.subarray(2, 2 + metadataLength));
+
+        var metaChunk = Nacl.secretbox.open(metaBox, nonce, key);
+        increment(nonce);
+
+        try {
+            res.metadata = JSON.parse(Nacl.util.encodeUTF8(metaChunk));
+        } catch (e) {
+            return fail('E_METADATA_DECRYPTION');
+        }
+
+        if (!res.metadata) {
+            return void setTimeout(function () {
+                cb('NO_METADATA');
+            });
+        }
+
         var takeChunk = function () {
-            var start = i * cypherChunkLength;
+            var start = i * cypherChunkLength + 2 + metadataLength;
             var end = start + cypherChunkLength;
             i++;
             var box = new Uint8Array(u8.subarray(start, end));
@@ -89,37 +101,9 @@ define([
             return plaintext;
         };
 
-        var buffer = '';
-
-        var res = {
-            metadata: undefined,
-        };
-
-        // decrypt metadata
-        var chunk;
-        for (; !res.metadata && i * cypherChunkLength < u8.length;) {
-            chunk = takeChunk();
-            buffer += Nacl.util.encodeUTF8(chunk);
-            try {
-                res.metadata = JSON.parse(buffer);
-                //console.log(res.metadata);
-            } catch (e) {
-                console.log('buffering another chunk for metadata');
-            }
-        }
-
-        if (!res.metadata) {
-            return void setTimeout(function () {
-                cb('NO_METADATA');
-            });
-        }
-
-        var fail = function () {
-            cb("DECRYPTION_ERROR");
-        };
-
         var chunks = [];
         // decrypt file contents
+        var chunk;
         for (;i * cypherChunkLength < u8.length;) {
             chunk = takeChunk();
             if (!chunk) {
@@ -139,15 +123,12 @@ define([
     var encrypt = function (u8, metadata, key) {
         var nonce = createNonce();
 
-        encodePrefix(); // TODO
-
         // encode metadata
         var metaBuffer = Array.prototype.slice
             .call(Nacl.util.decodeUTF8(JSON.stringify(metadata)));
 
-        var plaintext = new Uint8Array(padChunk(metaBuffer));
+        var plaintext = new Uint8Array(metaBuffer);
 
-        var j = 0;
         var i = 0;
 
         /*
@@ -164,22 +145,21 @@ define([
             var part;
             var box;
 
-            if (state === 0) { // metadata...
-                start = j * plainChunkLength;
-                end = start + plainChunkLength;
+            // DONE
+            if (state === 2) { return void cb(); }
 
-                part = plaintext.subarray(start, end);
+            if (state === 0) { // metadata...
+                part = new Uint8Array(plaintext);
                 box = Nacl.secretbox(part, nonce, key);
                 increment(nonce);
 
-                j++;
-
-                // metadata is done
-                if (j * plainChunkLength >= plaintext.length) {
-                    return void cb(state++, box);
+                if (box.length > 65535) {
+                    return void cb('METADATA_TOO_LARGE');
                 }
-
-                return void cb(state, box);
+                var prefixed = new Uint8Array(encodePrefix(box.length)
+                    .concat(slice(box)));
+                state++;
+                return void cb(void 0, prefixed);
             }
 
             // encrypt the rest of the file...
@@ -194,7 +174,7 @@ define([
             // regular data is done
             if (i * plainChunkLength >= u8.length) { state = 2; }
 
-            return void cb(state, box);
+            return void cb(void 0, box);
         };
 
         return next;
diff --git a/www/file/main.js b/www/file/main.js
index 66e0f6c25..32bcaafe6 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -47,55 +47,43 @@ define([
             });
         };
 
-        var again = function (state, box) {
-            switch (state) {
-                case 0:
-                    sendChunk(box, function (e) {
-                        if (e) { return console.error(e); }
-                        next(again);
-                    });
-                    break;
-                case 1:
-                    sendChunk(box, function (e) {
-                        if (e) { return console.error(e); }
-                        next(again);
-                    });
-                    break;
-                case 2:
-                    sendChunk(box, function (e) {
-                        if (e) { return console.error(e); }
-                        Cryptpad.rpc.send('UPLOAD_COMPLETE', '', function (e, res) {
-                            if (e) { return void console.error(e); }
-                            var id = res[0];
-                            var uri = ['', 'blob', id.slice(0,2), id].join('/');
-                            console.log("encrypted blob is now available as %s", uri);
-
-                            var b64Key = Nacl.util.encodeBase64(key);
-                            window.location.hash = Cryptpad.getFileHashFromKeys(id, b64Key);
-
-                            $form.hide();
-
-                            APP.toolbar.addElement(['fileshare'], {});
-
-                            // check if the uploaded file can be decrypted
-                            var newU8 = FileCrypto.joinChunks(chunks);
-                            FileCrypto.decrypt(newU8, key, function (e, res) {
-                                if (e) { return console.error(e); }
-                                var title = document.title = res.metadata.name;
-                                myFile = res.content;
-                                myDataType = res.metadata.type;
-
-                                var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href));
-                                Title.updateTitle(title || defaultName);
-                                APP.toolbar.title.show();
-                                Cryptpad.alert("successfully uploaded: " + title);
-                            });
-                        });
-                    });
-                    break;
-                default:
-                    throw new Error("E_INVAL_STATE");
+        var again = function (err, box) {
+            if (err) { throw new Error(err); }
+            if (box) {
+                return void sendChunk(box, function (e) {
+                    if (e) { return console.error(e); }
+                    next(again);
+                });
             }
+
+            // if not box then done
+            Cryptpad.rpc.send('UPLOAD_COMPLETE', '', function (e, res) {
+                if (e) { return void console.error(e); }
+                var id = res[0];
+                var uri = ['', 'blob', id.slice(0,2), id].join('/');
+                console.log("encrypted blob is now available as %s", uri);
+
+                var b64Key = Nacl.util.encodeBase64(key);
+                window.location.hash = Cryptpad.getFileHashFromKeys(id, b64Key);
+
+                $form.hide();
+
+                APP.toolbar.addElement(['fileshare'], {});
+
+                // check if the uploaded file can be decrypted
+                var newU8 = FileCrypto.joinChunks(chunks);
+                FileCrypto.decrypt(newU8, key, function (e, res) {
+                    if (e) { return console.error(e); }
+                    var title = document.title = res.metadata.name;
+                    myFile = res.content;
+                    myDataType = res.metadata.type;
+
+                    var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href));
+                    Title.updateTitle(title || defaultName);
+                    APP.toolbar.title.show();
+                    Cryptpad.alert("successfully uploaded: " + title);
+                });
+            });
         };
 
         Cryptpad.rpc.send('UPLOAD_STATUS', '', function (e, pending) {
diff --git a/www/file/test/main.js b/www/file/test/main.js
index c2b24e4f2..5ec71126d 100644
--- a/www/file/test/main.js
+++ b/www/file/test/main.js
@@ -11,7 +11,6 @@ define([
     '/bower_components/file-saver/FileSaver.min.js',
 ], function ($, Crypto, realtimeInput, Toolbar, Cryptpad, Visible, Notify, FileCrypto) {
     var Nacl = window.nacl;
-
     $(function () {
 
     var filesAreSame = function (a, b) {
@@ -31,8 +30,8 @@ define([
 
     var upload = function (blob, metadata) {
         var u8 = new Uint8Array(blob);
-
         var key = Nacl.randomBytes(32);
+
         var next = FileCrypto.encrypt(u8, metadata, key);
 
         var chunks = [];
@@ -41,41 +40,32 @@ define([
             cb();
         };
 
-        var again = function (state, box) {
-            switch (state) {
-                case 0:
-                    sendChunk(box, function (e) {
-                        if (e) { return console.error(e); }
-                        next(again);
-                    });
-                    break;
-                case 1:
-                    sendChunk(box, function (e) {
-                        if (e) { return console.error(e); }
-                        next(again);
-                    });
-                    break;
-                case 2:
-                    sendChunk(box, function (e) {
-                        if (e) { return console.error(e); }
+        var again = function (err, box) {
+            if (err) { throw new Error(err); }
 
-                        // check if the uploaded file can be decrypted
-                        var newU8 = FileCrypto.joinChunks(chunks);
-                        FileCrypto.decrypt(newU8, key, function (e, res) {
-                            if (e) { return Cryptpad.alert(e); }
-
-                            if (filesAreSame(blob, res.content) &&
-                                metadataIsSame(res.metadata, metadata)) {
-                                Cryptpad.alert("successfully uploaded");
-                            } else {
-                                Cryptpad.alert('encryption failure!');
-                            }
-                        });
-                    });
-                    break;
-                default:
-                    throw new Error("E_INVAL_STATE");
+            if (box) {
+                return void sendChunk(box, function (e) {
+                    if (e) {
+                        console.error(e);
+                        return Cryptpad.alert('Something went wrong');
+                    }
+                    next(again);
+                });
             }
+            // check if the uploaded file can be decrypted
+            var newU8 = FileCrypto.joinChunks(chunks);
+
+            console.log('encrypted file with metadata is %s uint8s', newU8.length);
+            FileCrypto.decrypt(newU8, key, function (e, res) {
+                if (e) { return Cryptpad.alert(e); }
+
+                if (filesAreSame(blob, res.content) &&
+                    metadataIsSame(res.metadata, metadata)) {
+                    Cryptpad.alert("successfully uploaded");
+                } else {
+                    Cryptpad.alert('encryption failure!');
+                }
+            });
         };
         next(again);
     };
@@ -83,7 +73,7 @@ define([
     var andThen = function () {
         var src = '/customize/cryptofist_mini.png';
         Cryptpad.fetch(src, function (e, file) {
-            console.log(file);
+            console.log('original file is %s uint8s', file.length);
             upload(file, {
                 pew: 'pew',
                 bang: 'bang',

From 6d30d7f89fda0ceb88bf153c917d91e0a2cfa592 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 10 May 2017 18:15:33 +0200
Subject: [PATCH 027/236] strip junk bytes from base64 more safely

---
 www/common/common-util.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/common-util.js b/www/common/common-util.js
index f5ba9a61c..e62ed7016 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -21,7 +21,7 @@ define([], function () {
             .replace(/ +$/, "")
             .split(" ");
         var byteString = String.fromCharCode.apply(null, hexArray);
-        return window.btoa(byteString).replace(/\//g, '-').slice(0,-2);
+        return window.btoa(byteString).replace(/\//g, '-').replace(/=+$/, '');
     };
 
     Util.base64ToHex = function (b64String) {

From 5d37a50a8776231e1d5cdd30c0a8072a4f47fd60 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 10 May 2017 18:57:25 +0200
Subject: [PATCH 028/236] try to estimate upload size

---
 www/file/file-crypto.js | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js
index 5290dfb80..de80fd336 100644
--- a/www/file/file-crypto.js
+++ b/www/file/file-crypto.js
@@ -7,6 +7,17 @@ define([
     var plainChunkLength = 128 * 1024;
     var cypherChunkLength = 131088;
 
+    var computeEncryptedSize = function (bytes, meta) {
+        var metasize = Nacl.util.decodeUTF8(meta).length + 18;
+        var chunks = Math.ceil(bytes / plainChunkLength);
+        console.log({
+            metasize: metasize,
+            chunks: chunks,
+            bytes: bytes,
+        });
+        return metasize + (chunks * 16) + bytes;
+    };
+
     var encodePrefix = function (p) {
         return [
             65280, // 255 << 8
@@ -159,6 +170,11 @@ define([
                 var prefixed = new Uint8Array(encodePrefix(box.length)
                     .concat(slice(box)));
                 state++;
+
+                // TODO verify that each box is the expected size
+
+                console.log(part.length, prefixed.length);
+
                 return void cb(void 0, prefixed);
             }
 
@@ -171,6 +187,8 @@ define([
             increment(nonce);
             i++;
 
+            console.log(part.length, box.length);
+
             // regular data is done
             if (i * plainChunkLength >= u8.length) { state = 2; }
 
@@ -184,5 +202,6 @@ define([
         decrypt: decrypt,
         encrypt: encrypt,
         joinChunks: joinChunks,
+        computeEncryptedSize: computeEncryptedSize,
     };
 });

From 5d0535966c560d89d1b39710b2cee4dda47562f8 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 11 May 2017 10:58:33 +0200
Subject: [PATCH 029/236] Center vertically slides in present mode and checkbox
 to disable transitions

---
 customize.dist/translations/messages.fr.js | 1 +
 customize.dist/translations/messages.js    | 1 +
 www/slide/main.js                          | 8 ++++++++
 www/slide/slide.css                        | 8 ++++++--
 www/slide/slide.js                         | 4 ++++
 www/slide/slide.less                       | 7 +++++--
 6 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 3d8ad6060..d8e6f73d2 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -107,6 +107,7 @@ define(function () {
     out.printDate = "Afficher la date";
     out.printTitle = "Afficher le titre du pad";
     out.printCSS = "Personnaliser l'apparence (CSS):";
+    out.printTransition = "Activer les animations de transition";
 
     out.slideOptionsTitle = "Personnaliser la présentation";
     out.slideOptionsButton = "Enregistrer (Entrée)";
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 9219ab457..afdbdc6b2 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -109,6 +109,7 @@ define(function () {
     out.printDate = "Display the date";
     out.printTitle = "Display the pad title";
     out.printCSS = "Custom style rules (CSS):";
+    out.printTransition = "Enable transition animations";
 
     out.slideOptionsTitle = "Customize your slides";
     out.slideOptionsButton = "Save (enter)";
diff --git a/www/slide/main.js b/www/slide/main.js
index b5dd26704..c8463e5a6 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -188,6 +188,7 @@ define([
                     title: false,
                     slide: false,
                     date: false,
+                    transition: true,
                     style: ''
                 };
 
@@ -220,6 +221,13 @@ define([
                 }).appendTo($p).css('width', 'auto');
                 $('<label>', {'for': 'checkTitle'}).text(Messages.printTitle).appendTo($p);
                 $p.append($('<br>'));
+                // Transition
+                $('<input>', {type: 'checkbox', id: 'checkTransition', checked: slideOptionsTmp.transition}).on('change', function () {
+                    var c = this.checked;
+                    slideOptionsTmp.transition = c;
+                }).appendTo($p).css('width', 'auto');
+                $('<label>', {'for': 'checkTransition'}).text(Messages.printTransition).appendTo($p);
+                $p.append($('<br>'));
                 // CSS
                 $('<label>', {'for': 'cssPrint'}).text(Messages.printCSS).appendTo($p);
                 $p.append($('<br>'));
diff --git a/www/slide/slide.css b/www/slide/slide.css
index 630ac25ea..945a05846 100644
--- a/www/slide/slide.css
+++ b/www/slide/slide.css
@@ -168,13 +168,16 @@ body .CodeMirror-focused .cm-matchhighlight {
 }
 .cp div.modal #content,
 .cp div#modal #content {
-  transition: margin-left 1s;
   font-size: 20vh;
   position: relative;
   height: 100%;
   overflow: visible;
   white-space: nowrap;
 }
+.cp div.modal #content.transition,
+.cp div#modal #content.transition {
+  transition: margin-left 1s;
+}
 .cp div.modal #content .slide-frame,
 .cp div#modal #content .slide-frame {
   display: inline-block;
@@ -198,10 +201,11 @@ body .CodeMirror-focused .cm-matchhighlight {
 }
 .cp div.modal #content .slide-container,
 .cp div#modal #content .slide-container {
-  display: inline-block;
+  display: inline-flex;
   height: 100%;
   width: 100vw;
   text-align: center;
+  vertical-align: top;
 }
 .cp div.modal .center,
 .cp div#modal .center {
diff --git a/www/slide/slide.js b/www/slide/slide.js
index 912820390..c7a8adf5e 100644
--- a/www/slide/slide.js
+++ b/www/slide/slide.js
@@ -184,6 +184,10 @@ define([
                 $('<div>', {'class': 'slideTitle'}).text(APP.title).appendTo($(el));
             }
         });
+        $content.removeClass('transition');
+        if (options.transition) {
+            $content.addClass('transition');
+        }
         //$content.find('.' + slideClass).hide();
         //$content.find('.' + slideClass + ':eq( ' + i + ' )').show();
         $content.css('margin-left', -(i*100)+'vw');
diff --git a/www/slide/slide.less b/www/slide/slide.less
index 67885c049..82bcf9c82 100644
--- a/www/slide/slide.less
+++ b/www/slide/slide.less
@@ -161,7 +161,9 @@ div.modal, div#modal {
         width: 100%;
     }
     #content {
-        transition: margin-left 1s;
+        &.transition {
+            transition: margin-left 1s;
+        }
         font-size: 20vh;
         position: relative;
         height: 100%;
@@ -191,9 +193,10 @@ div.modal, div#modal {
             margin: auto;
         }
         .slide-container {
-            display: inline-block;
+            display: inline-flex;
             height: 100%; width: 100vw;
             text-align: center;
+            vertical-align: top;
         }
     }
 

From 419fb15425b8615ca3f1053316e6a5ef40d937ec Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 11 May 2017 11:20:18 +0200
Subject: [PATCH 030/236] Remember the scroll position in the drive tree

---
 www/drive/main.js | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/www/drive/main.js b/www/drive/main.js
index d4ac6cce2..8a414668e 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -1793,7 +1793,11 @@ define([
             module.resetTree();
 
             // in history mode we want to focus the version number input
-            if (!history.isHistoryMode && !APP.mobile()) { $tree.find('#searchInput').focus(); }
+            if (!history.isHistoryMode && !APP.mobile()) {
+                var st = $tree.scrollTop() || 0;
+                $tree.find('#searchInput').focus();
+                $tree.scrollTop(st);
+            }
             $tree.find('#searchInput')[0].selectionStart = getSearchCursor();
             $tree.find('#searchInput')[0].selectionEnd = getSearchCursor();
 
@@ -2080,12 +2084,14 @@ define([
         };
 
         module.resetTree = function () {
+            var s = $tree.scrollTop() || 0;
             $tree.html('');
             if (displayedCategories.indexOf(SEARCH) !== -1) { createSearch($tree); }
             if (displayedCategories.indexOf(ROOT) !== -1) { createTree($tree, [ROOT]); }
             if (displayedCategories.indexOf(TEMPLATE) !== -1) { createTemplate($tree, [TEMPLATE]); }
             if (displayedCategories.indexOf(FILES_DATA) !== -1) { createAllFiles($tree, [FILES_DATA]); }
             if (displayedCategories.indexOf(TRASH) !== -1) { createTrash($tree, [TRASH]); }
+            $tree.scrollTop(s);
         };
 
         module.hideMenu = function () {

From becba33b05031762cce41f3aac89028adc113cdf Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 11 May 2017 12:11:45 +0200
Subject: [PATCH 031/236] Scroll to the selected element in the drive

---
 www/drive/main.js | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/www/drive/main.js b/www/drive/main.js
index 8a414668e..236dc0a3c 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -371,6 +371,7 @@ define([
             e.stopPropagation();
         });
 
+        // Arrow keys to modify the selection
         $(ifrw).keydown(function (e) {
             var $searchBar = $tree.find('#searchInput');
             if ($searchBar.is(':focus') && $searchBar.val()) { return; }
@@ -381,6 +382,7 @@ define([
             if (e.ctrlKey) { ev.ctrlKey = true; }
             if (e.shiftKey) { ev.shiftKey = true; }
             var click = function (el) {
+                if (!el) { return; }
                 module.onElementClick(ev, $(el));
             };
 
@@ -402,6 +404,7 @@ define([
 
             // [Left, Up, Right, Down]
             if ([37, 38, 39, 40].indexOf(e.which) === -1) { return; }
+            e.preventDefault();
 
             var $selection = $content.find('.element.selected');
             if ($selection.length === 0) { return void click($elements.first()[0]); }
@@ -715,6 +718,21 @@ define([
             updatePathSize();
         };
 
+        var scrollTo = function ($element) {
+            // Current scroll position
+            var st = $content.scrollTop();
+            // Block height
+            var h = $content.height();
+            // Current top position of the element relative to the scroll position
+            var pos = Math.round($element.offset().top - $content.position().top);
+            // Element height
+            var eh = $element.outerHeight();
+            // New scroll value
+            var v = st + pos + eh - h;
+            // If the element is completely visile, don't change the scroll position
+            if (pos+eh <= h && pos >= 0) { return; }
+            $content.scrollTop(v);
+        };
         // Add the "selected" class to the "li" corresponding to the clicked element
         var onElementClick = module.onElementClick = function (e, $element) {
             // If "Ctrl" is pressed, do not remove the current selection
@@ -730,6 +748,7 @@ define([
                 log(Messages.fm_selectError);
                 return;
             }
+            scrollTo($element);
             // Add the selected class to the clicked / right-clicked element
             // Remove the class if it already has it
             // If ctrlKey, add to the selection

From 733c3abefa7f12d6b8b4fbecc9b73f1b07cc6a03 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 11 May 2017 12:43:32 +0200
Subject: [PATCH 032/236] Update the upgrade button in the drive

---
 www/drive/main.js | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/www/drive/main.js b/www/drive/main.js
index 236dc0a3c..47868bde4 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -2690,12 +2690,16 @@ define([
                     var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px');
 
                     if (quota >= 0.8) {
+                        var origin = encodeURIComponent(window.location.origin);
+                        var $upgradeLink = $('<a>', {
+                            href: "https://account.cryptpad.fr/#!on=" + origin,
+                            rel: "noreferrer noopener",
+                            target: "_blank",
+                        }).appendTo($leftside);
                         $('<button>', {
                             'class': 'upgrade buttonSuccess',
                             title: Messages.upgradeTitle
-                        }).text(Messages.upgrade).click(function () {
-                            // TODO
-                        }).appendTo($leftside);
+                        }).text(Messages.upgrade).appendTo($upgradeLink);
                     }
 
                     if (quota < 0.8) { $usage.addClass('normal'); }

From 9a6d63960be6da069ba65b2b73b9238c378c95fd Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 11 May 2017 15:54:15 +0200
Subject: [PATCH 033/236] Added a script to get the amount of data which is
 pinned

---
 package.json  |  13 ++++---
 pinneddata.js | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+), 6 deletions(-)
 create mode 100644 pinneddata.js

diff --git a/package.json b/package.json
index ed76592b6..4b78c8396 100644
--- a/package.json
+++ b/package.json
@@ -3,11 +3,12 @@
   "description": "realtime collaborative visual editor with zero knowlege server",
   "version": "1.5.0",
   "dependencies": {
+    "chainpad-server": "^1.0.1",
     "express": "~4.10.1",
-    "ws": "^1.0.1",
     "nthen": "~0.1.0",
+    "saferphore": "0.0.1",
     "tweetnacl": "~0.12.2",
-    "chainpad-server": "^1.0.1"
+    "ws": "^1.0.1"
   },
   "devDependencies": {
     "jshint": "~2.9.1",
@@ -15,9 +16,9 @@
     "less": "2.7.1"
   },
   "scripts": {
-      "lint": "jshint --config .jshintrc --exclude-path .jshintignore .",
-      "test": "node TestSelenium.js",
-      "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css",
-      "template": "cd customize.dist/src && node build.js"
+    "lint": "jshint --config .jshintrc --exclude-path .jshintignore .",
+    "test": "node TestSelenium.js",
+    "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css",
+    "template": "cd customize.dist/src && node build.js"
   }
 }
diff --git a/pinneddata.js b/pinneddata.js
new file mode 100644
index 000000000..a24293880
--- /dev/null
+++ b/pinneddata.js
@@ -0,0 +1,101 @@
+/* jshint esversion: 6 */
+const Fs = require('fs');
+const Semaphore = require('saferphore');
+const nThen = require('nthen');
+
+const hashesFromPinFile = (pinFile, fileName) => {
+    var pins = {};
+    pinFile.split('\n').filter((x)=>(x)).map((l) => JSON.parse(l)).forEach((l) => {
+        switch (l[0]) {
+            case 'RESET': {
+                pins = {};
+                //jshint -W086
+                // fallthrough
+            }
+            case 'PIN': {
+                l[1].forEach((x) => { pins[x] = 1; });
+                break;
+            }
+            case 'UNPIN': {
+                l[1].forEach((x) => { delete pins[x]; });
+                break;
+            }
+            default: throw new Error(JSON.stringify(l) + '  ' + fileName);
+        }
+    });
+    return Object.keys(pins);
+};
+
+const sizeForHashes = (hashes, dsFileSizes) => {
+    let sum = 0;
+    hashes.forEach((h) => {
+        const s = dsFileSizes[h];
+        if (typeof(s) !== 'number') {
+            //console.log('missing ' + h + '  ' + typeof(s));
+        } else {
+            sum += s;
+        }
+    });
+    return sum;
+};
+
+const sema = Semaphore.create(20);
+
+let dirList;
+const fileList = [];
+const dsFileSizes = {};
+const out = [];
+
+nThen((waitFor) => {
+    Fs.readdir('./datastore', waitFor((err, list) => {
+        if (err) { throw err; }
+        dirList = list;
+    }));
+}).nThen((waitFor) => {
+    dirList.forEach((f) => {
+        sema.take((returnAfter) => {
+            Fs.readdir('./datastore/' + f, waitFor(returnAfter((err, list2) => {
+                if (err) { throw err; }
+                list2.forEach((ff) => { fileList.push('./datastore/' + f + '/' + ff); });
+            })));
+        });
+    });
+}).nThen((waitFor) => {
+    fileList.forEach((f) => {
+        sema.take((returnAfter) => {
+            Fs.stat(f, waitFor(returnAfter((err, st) => {
+                if (err) { throw err; }
+                dsFileSizes[f.replace(/^.*\/([^\/]*)\.ndjson$/, (all, a) => (a))] = st.size;
+            })));
+        });
+    });
+}).nThen((waitFor) => {
+    Fs.readdir('./pins', waitFor((err, list) => {
+        if (err) { throw err; }
+        dirList = list;
+    }));
+}).nThen((waitFor) => {
+    fileList.splice(0, fileList.length);
+    dirList.forEach((f) => {
+        sema.take((returnAfter) => {
+            Fs.readdir('./pins/' + f, waitFor(returnAfter((err, list2) => {
+                if (err) { throw err; }
+                list2.forEach((ff) => { fileList.push('./pins/' + f + '/' + ff); });
+            })));
+        });
+    });
+}).nThen((waitFor) => {
+    fileList.forEach((f) => {
+        sema.take((returnAfter) => {
+            Fs.readFile(f, waitFor(returnAfter((err, content) => {
+                if (err) { throw err; }
+                const hashes = hashesFromPinFile(content.toString('utf8'), f);
+                const size = sizeForHashes(hashes, dsFileSizes);
+                out.push([f, Math.floor(size / (1024 * 1024))]);
+            })));
+        });
+    });
+}).nThen((waitFor) => {
+    out.sort((a,b) => (a[1] - b[1]));
+    out.forEach((x) => { console.log(x[0] + '  ' + x[1] + ' MB'); });
+});

From 5348303df6c568b769d69bbe220a8533e43108f6 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 11 May 2017 16:02:24 +0200
Subject: [PATCH 034/236] Bad code, lint failure

---
 pinneddata.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pinneddata.js b/pinneddata.js
index a24293880..0bf9be75f 100644
--- a/pinneddata.js
+++ b/pinneddata.js
@@ -95,7 +95,7 @@ nThen((waitFor) => {
             })));
         });
     });
-}).nThen((waitFor) => {
+}).nThen(() => {
     out.sort((a,b) => (a[1] - b[1]));
     out.forEach((x) => { console.log(x[0] + '  ' + x[1] + ' MB'); });
 });

From 57ee7de7d40d0f27c1a137167f67f57959baa4f4 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 11 May 2017 16:12:44 +0200
Subject: [PATCH 035/236] Update and return the storage limit

---
 config.example.js             |  6 ++++
 rpc.js                        | 62 ++++++++++++++++++++++++++++++++---
 www/common/cryptpad-common.js |  9 ++++-
 www/common/pinpad.js          | 23 +++++++++++++
 4 files changed, 94 insertions(+), 6 deletions(-)

diff --git a/config.example.js b/config.example.js
index 76bba6eae..1be17e510 100644
--- a/config.example.js
+++ b/config.example.js
@@ -116,6 +116,12 @@ module.exports = {
         'contact',
     ],
 
+    /*  Domain
+     *  If you want to have enable payments on your CryptPad instance, it has to be able to tell
+     *  our account server what is your domain
+     */
+    // domain: 'https://cryptpad.fr',
+
     /*
         You have the option of specifying an alternative storage adaptor.
         These status of these alternatives are specified in their READMEs,
diff --git a/rpc.js b/rpc.js
index ec6e516d0..dd84b6b29 100644
--- a/rpc.js
+++ b/rpc.js
@@ -7,10 +7,14 @@ var Nacl = require("tweetnacl");
 
 var Fs = require("fs");
 var Path = require("path");
+var Https = require("https");
 
 var RPC = module.exports;
 
 var Store = require("./storage/file");
+var config = require('./config');
+
+var DEFAULT_LIMIT = 100;
 
 var isValidChannel = function (chan) {
     return /^[a-fA-F0-9]/.test(chan) ||
@@ -454,8 +458,42 @@ var isPrivilegedUser = function (publicKey, cb) {
     });
 };
 
-var getLimit = function (cb) {
-    cb = cb; // TODO
+var limits = {};
+var updateLimits = function (publicKey, cb) {
+    if (typeof cb !== "function") { cb = function () {}; }
+    var domain = config.domain;
+    var options = {
+        host: 'accounts.cryptpad.fr',
+        path: '/api/getAuthorized?domain=' + encodeURIComponent(domain)
+    };
+    var callback = function (response) {
+        var str = '';
+
+        response.on('data', function (chunk) {
+            str += chunk;
+        });
+
+        response.on('end', function () {
+            try {
+                var json = JSON.parse(str);
+                limits = json;
+                var l;
+                if (publicKey) {
+                    l = typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT;
+                }
+                cb(void 0, l);
+            } catch (e) {
+                cb(e);
+            }
+        });
+    };
+    Https.get(options, callback).on('error', function (e) {
+        console.error(e);
+        cb(e);
+    });
+};
+var getLimit = function (publicKey, cb) {
+    return void cb(null, typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT);
 };
 
 var safeMkdir = function (path, cb) {
@@ -714,10 +752,16 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                 });
             case 'GET_FILE_SIZE':
                 return void getFileSize(ctx.store, msg[1], Respond);
-            case 'GET_LIMIT': // TODO implement this and cache it per-user
-                return void getLimit(function (e, limit) {
+            case 'UPDATE_LIMITS':
+                return void updateLimits(safeKey, function (e, limit) {
+                    if (e) { return void Respond(e); }
+                    Respond(void 0, limit);
+                });
+            case 'GET_LIMIT':
+                return void getLimit(safeKey, function (e, limit) {
+                    if (e) { return void Respond(e); }
                     limit = limit;
-                    Respond('NOT_IMPLEMENTED');
+                    Respond(void 0, limit);
                 });
             case 'GET_MULTIPLE_FILE_SIZE':
                 return void getMultipleFileSize(ctx.store, msg[1], function (e, dict) {
@@ -775,6 +819,14 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
         handleMessage(session.privilege);
     };
 
+    var updateLimitDaily = function () {
+        updateLimits(function (e) {
+            if (e) { console.error('Error updating the storage limits', e); }
+        });
+    };
+    updateLimitDaily();
+    setInterval(updateLimitDaily, 24*3600*1000);
+
     Store.create({
         filePath: pinPath,
     }, function (s) {
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 73b51e8b3..e63399ec1 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -744,8 +744,15 @@ define([
         });
     };
 
+    common.updatePinLimit = function (cb) {
+        if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
+        rpc.getFileListSize(cb);
+    };
+
     common.getPinLimit = function (cb) {
-        cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000);
+        if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
+        rpc.getFileListSize(cb);
+        //cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000);
     };
 
     common.isOverPinLimit = function (cb) {
diff --git a/www/common/pinpad.js b/www/common/pinpad.js
index 3470db34e..efa915ec7 100644
--- a/www/common/pinpad.js
+++ b/www/common/pinpad.js
@@ -121,6 +121,29 @@ define([
                 });
             };
 
+            // Update the limit value for all the users and return the limit for your publicKey
+            exp.updatePinLimits = function (cb) {
+                rpc.send('UPDATE_LIMITS', undefined, function (e, response) {
+                    if (e) { return void cb(e); }
+                    if (response && typeof response === "number") {
+                        cb (void 0, response);
+                    } else {
+                        cb('INVALID_RESPONSE');
+                    }
+                });
+            };
+            // Get the storage limit associated with your publicKey
+            exp.getLimit = function (cb) {
+                rpc.send('GET_LIMIT', undefined, function (e, response) {
+                    if (e) { return void cb(e); }
+                    if (response && typeof response === "number") {
+                        cb (void 0, response);
+                    } else {
+                        cb('INVALID_RESPONSE');
+                    }
+                });
+            };
+
             cb(e, exp);
         });
     };

From e123ad0333787e91d63589553e199e11e9c2a5c3 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 11 May 2017 16:31:14 +0200
Subject: [PATCH 036/236] Use a POST request to get the storage limits

---
 rpc.js | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/rpc.js b/rpc.js
index dd84b6b29..2e603d7fb 100644
--- a/rpc.js
+++ b/rpc.js
@@ -461,12 +461,23 @@ var isPrivilegedUser = function (publicKey, cb) {
 var limits = {};
 var updateLimits = function (publicKey, cb) {
     if (typeof cb !== "function") { cb = function () {}; }
-    var domain = config.domain;
+    var body = JSON.stringify({
+        domain: config.domain,
+        subdomain: config.subdomain
+    });
     var options = {
         host: 'accounts.cryptpad.fr',
-        path: '/api/getAuthorized?domain=' + encodeURIComponent(domain)
+        path: '/api/getauthorized',
+        method: 'POST',
+        headers: {
+            "Content-Type": "application/json",
+            "Content-Length": Buffer.byteLength(body)
+        }
     };
-    var callback = function (response) {
+    var req = Https.request(options, function (response) {
+        if (!('' + req.statusCode).match(/^2\d\d$/)) {
+            return void cb('SERVER ERROR ' + req.statusCode);
+        }
         var str = '';
 
         response.on('data', function (chunk) {
@@ -486,11 +497,14 @@ var updateLimits = function (publicKey, cb) {
                 cb(e);
             }
         });
-    };
-    Https.get(options, callback).on('error', function (e) {
+    });
+
+    req.on('error', function (e) {
         console.error(e);
         cb(e);
     });
+
+    req.end(body);
 };
 var getLimit = function (publicKey, cb) {
     return void cb(null, typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT);

From d2ba8f1c27d244e0595017aa6cbac506e8ea6400 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 11 May 2017 18:07:29 +0200
Subject: [PATCH 037/236] Use the new format for the storage limits

---
 rpc.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/rpc.js b/rpc.js
index 2e603d7fb..d9a619823 100644
--- a/rpc.js
+++ b/rpc.js
@@ -458,6 +458,8 @@ var isPrivilegedUser = function (publicKey, cb) {
     });
 };
 
+// The limits object contains storage limits for all the publicKey that have paid
+// To each key is associated an object containing the 'limit' value and a 'note' explaining that limit
 var limits = {};
 var updateLimits = function (publicKey, cb) {
     if (typeof cb !== "function") { cb = function () {}; }
@@ -490,7 +492,8 @@ var updateLimits = function (publicKey, cb) {
                 limits = json;
                 var l;
                 if (publicKey) {
-                    l = typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT;
+                    var limit = limits[publicKey];
+                    l = limit && typeof limit.limit === "number" ? limit.limit : DEFAULT_LIMIT;
                 }
                 cb(void 0, l);
             } catch (e) {
@@ -507,7 +510,8 @@ var updateLimits = function (publicKey, cb) {
     req.end(body);
 };
 var getLimit = function (publicKey, cb) {
-    return void cb(null, typeof limits[publicKey] === "number" ? limits[publicKey] : DEFAULT_LIMIT);
+    var limit = limits[publicKey];
+    return limit && typeof limit.limit === "number" ? limit.limit : DEFAULT_LIMIT;
 };
 
 var safeMkdir = function (path, cb) {

From a993ab661631f65d0a85ba6a47284e4367e218e5 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 11:25:07 +0200
Subject: [PATCH 038/236] use new encrypted file encoding in media-tag

---
 www/common/media-tag.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/media-tag.js b/www/common/media-tag.js
index d0953bcf6..d73cac0e0 100644
--- a/www/common/media-tag.js
+++ b/www/common/media-tag.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var A;(A=e.stacks[o]).push.apply(A,n)}else{var T;(T=e.stacks[o]).push.apply(T,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=i.content,f=s.getBlobUrl(u,e.getMimeType()),l=new Event("decryption");l.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(l),window.onMediaMetadata&&window.onMediaMetadata(i.metadata),e.setAttribute("src",f),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS");if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"padChunk",value:function(e){var t;if(131072===e.length)return e;if(e.length<131072)return t=new Array(131072-e.length).fill(32),e.concat(t);if(e.length>131072){var n=Math.ceil(e.length/131072);return t=new Array(131072*n-e.length).fill(32),e.concat(t)}}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){for(var r,o=e.Nacl,i=e.createNonce(),u=0,a=function(){var r=131088*u,a=r+131088;u++;var c=new Uint8Array(t.subarray(r,a)),s=o.secretbox.open(c,i,n);return e.increment(i),s},c="",s={metadata:void 0};!s.metadata&&131088*u<t.length;){r=a(),c+=o.util.encodeUTF8(r);try{s.metadata=JSON.parse(c)}catch(e){console.log("buffering another chunk for metadata")}}if(!s.metadata)throw new Error("NO_METADATA");for(var f=[];131088*u<t.length;){if(!(r=a()))throw new Error("INVALID_CHUNK");f.push(r)}return s.content=e.joinChunks(f),s}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=e.getViewport(1),r=n.getContext("2d");n.height=t.height,n.width=t.width;var o={canvasContext:r,viewport:t};e.render(o).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])});
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,d=y.once[Symbol.iterator]();!(b=(w=d.next()).done);b=!0){var g=w.value;n.push(g),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&d.return&&d.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),d=n(36),g=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new d),r.PluginStore.store(new g),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=f.decrypt(n,r),u=i.content,c=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),window.onMediaMetadata&&window.onMediaMetadata(i.metadata),e.setAttribute("src",c),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")},i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])});
\ No newline at end of file

From 22efde87d5c5aa9aadc8747d5ec3be9b1c390d2c Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 12:12:51 +0200
Subject: [PATCH 039/236] correctly estimate upload size

---
 www/file/file-crypto.js | 27 ++++-----------------------
 www/file/main.js        |  7 +++++++
 2 files changed, 11 insertions(+), 23 deletions(-)

diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js
index de80fd336..cde49759c 100644
--- a/www/file/file-crypto.js
+++ b/www/file/file-crypto.js
@@ -8,14 +8,9 @@ define([
     var cypherChunkLength = 131088;
 
     var computeEncryptedSize = function (bytes, meta) {
-        var metasize = Nacl.util.decodeUTF8(meta).length + 18;
+        var metasize = Nacl.util.decodeUTF8(JSON.stringify(meta)).length;
         var chunks = Math.ceil(bytes / plainChunkLength);
-        console.log({
-            metasize: metasize,
-            chunks: chunks,
-            bytes: bytes,
-        });
-        return metasize + (chunks * 16) + bytes;
+        return metasize + 18 + (chunks * 16) + bytes;
     };
 
     var encodePrefix = function (p) {
@@ -142,23 +137,15 @@ define([
 
         var i = 0;
 
-        /*
-            0: metadata
-            1: u8
-            2: done
-        */
-
         var state = 0;
-
         var next = function (cb) {
+            if (state === 2) { return void cb(); }
+
             var start;
             var end;
             var part;
             var box;
 
-            // DONE
-            if (state === 2) { return void cb(); }
-
             if (state === 0) { // metadata...
                 part = new Uint8Array(plaintext);
                 box = Nacl.secretbox(part, nonce, key);
@@ -171,10 +158,6 @@ define([
                     .concat(slice(box)));
                 state++;
 
-                // TODO verify that each box is the expected size
-
-                console.log(part.length, prefixed.length);
-
                 return void cb(void 0, prefixed);
             }
 
@@ -187,8 +170,6 @@ define([
             increment(nonce);
             i++;
 
-            console.log(part.length, box.length);
-
             // regular data is done
             if (i * plainChunkLength >= u8.length) { state = 2; }
 
diff --git a/www/file/main.js b/www/file/main.js
index 32bcaafe6..2f553cf20 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -36,6 +36,7 @@ define([
         var key = Nacl.randomBytes(32);
         var next = FileCrypto.encrypt(u8, metadata, key);
 
+        var estimate = FileCrypto.computeEncryptedSize(blob.byteLength, metadata);
         var chunks = [];
 
         var sendChunk = function (box, cb) {
@@ -47,15 +48,21 @@ define([
             });
         };
 
+        var actual = 0;
         var again = function (err, box) {
             if (err) { throw new Error(err); }
             if (box) {
+                actual += box.length;
                 return void sendChunk(box, function (e) {
                     if (e) { return console.error(e); }
                     next(again);
                 });
             }
 
+            if (actual !== estimate) {
+                console.error('Estimated size does not match actual size');
+            }
+
             // if not box then done
             Cryptpad.rpc.send('UPLOAD_COMPLETE', '', function (e, res) {
                 if (e) { return void console.error(e); }

From a249435003ac2e1af44beb977c03d17ca8f360ad Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 14:19:36 +0200
Subject: [PATCH 040/236] refactor limit handling a bit

---
 rpc.js | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/rpc.js b/rpc.js
index d9a619823..6e437e385 100644
--- a/rpc.js
+++ b/rpc.js
@@ -12,7 +12,6 @@ var Https = require("https");
 var RPC = module.exports;
 
 var Store = require("./storage/file");
-var config = require('./config');
 
 var DEFAULT_LIMIT = 100;
 
@@ -461,8 +460,9 @@ var isPrivilegedUser = function (publicKey, cb) {
 // The limits object contains storage limits for all the publicKey that have paid
 // To each key is associated an object containing the 'limit' value and a 'note' explaining that limit
 var limits = {};
-var updateLimits = function (publicKey, cb) {
+var updateLimits = function (config, publicKey, cb) {
     if (typeof cb !== "function") { cb = function () {}; }
+
     var body = JSON.stringify({
         domain: config.domain,
         subdomain: config.subdomain
@@ -503,7 +503,7 @@ var updateLimits = function (publicKey, cb) {
     });
 
     req.on('error', function (e) {
-        console.error(e);
+        if (!config.domain) { return cb(); }
         cb(e);
     });
 
@@ -771,7 +771,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             case 'GET_FILE_SIZE':
                 return void getFileSize(ctx.store, msg[1], Respond);
             case 'UPDATE_LIMITS':
-                return void updateLimits(safeKey, function (e, limit) {
+                return void updateLimits(config, safeKey, function (e, limit) {
                     if (e) { return void Respond(e); }
                     Respond(void 0, limit);
                 });
@@ -838,7 +838,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
     };
 
     var updateLimitDaily = function () {
-        updateLimits(function (e) {
+        updateLimits(config, undefined, function (e) {
             if (e) { console.error('Error updating the storage limits', e); }
         });
     };

From 77efc2cee703b51a6f6c14ea8f79d021defb3ebf Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 14:24:52 +0200
Subject: [PATCH 041/236] bump version for upcoming release

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 83653bd7b..75a4fbb11 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "cryptpad",
   "description": "realtime collaborative visual editor with zero knowlege server",
-  "version": "1.6.0",
+  "version": "1.8.0",
   "dependencies": {
     "chainpad-server": "^1.0.1",
     "express": "~4.10.1",

From fa4b17e2bc5dea87e074f35583b0fa3d2cd62a7b Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 15:39:55 +0200
Subject: [PATCH 042/236] use callback in 'getLimit'

---
 rpc.js | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/rpc.js b/rpc.js
index 6e437e385..e729e4802 100644
--- a/rpc.js
+++ b/rpc.js
@@ -509,9 +509,12 @@ var updateLimits = function (config, publicKey, cb) {
 
     req.end(body);
 };
+
 var getLimit = function (publicKey, cb) {
     var limit = limits[publicKey];
-    return limit && typeof limit.limit === "number" ? limit.limit : DEFAULT_LIMIT;
+
+    cb(void 0, limit && typeof(limit.limit) === "number"?
+        limit.limit : DEFAULT_LIMIT);
 };
 
 var safeMkdir = function (path, cb) {
@@ -787,7 +790,6 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                     Respond(void 0, dict);
                 });
 
-
             // restricted to privileged users...
             case 'UPLOAD':
                 if (!privileged) { return deny(); }

From 6c68b5e6ca038ba425f71f906341ea5bbc842aac Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 15:42:01 +0200
Subject: [PATCH 043/236] use new media-tag, listen for decryption events

---
 www/common/media-tag.js | 2 +-
 www/media/main.js       | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/www/common/media-tag.js b/www/common/media-tag.js
index d73cac0e0..0d18138ce 100644
--- a/www/common/media-tag.js
+++ b/www/common/media-tag.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,d=y.once[Symbol.iterator]();!(b=(w=d.next()).done);b=!0){var g=w.value;n.push(g),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&d.return&&d.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),d=n(36),g=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new d),r.PluginStore.store(new g),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=f.decrypt(n,r),u=i.content,c=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),window.onMediaMetadata&&window.onMediaMetadata(i.metadata),e.setAttribute("src",c),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")},i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])});
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=f.decrypt(n,r),u=i.content,c=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),s.metadata=i.metadata,window.document.dispatchEvent(s),e.setAttribute("src",c),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")},i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])});
\ No newline at end of file
diff --git a/www/media/main.js b/www/media/main.js
index 9e8127a62..9e5276019 100644
--- a/www/media/main.js
+++ b/www/media/main.js
@@ -20,6 +20,11 @@ define([
     Cryptpad.addLoadingScreen();
 
     var andThen = function () {
+        $(window.document).on('decryption', function (e) {
+            var decrypted = e.originalEvent;
+            console.log(decrypted.blob, decrypted.metadata);
+        });
+
         var $bar = $iframe.find('.toolbar-container');
         var secret = Cryptpad.getSecrets();
 

From 213708d8dc141595ce4073be62673b37cfdda836 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 15:43:32 +0200
Subject: [PATCH 044/236] center media tags

---
 www/media/inner.html | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/www/media/inner.html b/www/media/inner.html
index bc5b96ae0..46e5cea4a 100644
--- a/www/media/inner.html
+++ b/www/media/inner.html
@@ -16,6 +16,8 @@
     }
     media-tag * {
         max-width: 100%;
+        margin: auto;
+        display: block;
     }
     </style>
 </head>

From 42f3a62cac345b4ffb5a6640d03ce35fd767c202 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 16:13:09 +0200
Subject: [PATCH 045/236] handle errors with XHR

---
 www/common/common-util.js | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/www/common/common-util.js b/www/common/common-util.js
index e62ed7016..bbd648f7c 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -90,11 +90,21 @@ define([], function () {
     };
 
     Util.fetch = function (src, cb) {
+        var done = false;
+        var CB = function (err, res) {
+            if (done) { return; }
+            done = true;
+            cb(err, res);
+        };
+
         var xhr = new XMLHttpRequest();
         xhr.open("GET", src, true);
         xhr.responseType = "arraybuffer";
         xhr.onload = function () {
-            return void cb(void 0, new Uint8Array(xhr.response));
+            return void CB(void 0, new Uint8Array(xhr.response));
+        };
+        xhr.onerror = function () {
+            CB('XHR_ERROR');
         };
         xhr.send(null);
     };

From 69e933dd1744ebbf0cb0fd66e5d5aa386c679c57 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 16:17:00 +0200
Subject: [PATCH 046/236] better error handling in file download

---
 www/file/main.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/file/main.js b/www/file/main.js
index 2f553cf20..9c76e3618 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -175,8 +175,8 @@ define([
         if (!uploadMode) {
             var src = Cryptpad.getBlobPathFromHex(hexFileName);
             return Cryptpad.fetch(src, function (e, u8) {
+                if (e) { return void Cryptpad.alert(e); }
                 // now decrypt the u8
-                if (e) { return window.alert('error'); }
                 var cryptKey = secret.keys && secret.keys.fileKeyStr;
                 var key = Nacl.util.decodeBase64(cryptKey);
 

From 4c4c21342de6669d8463685658fb94db584efbb9 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 16:26:51 +0200
Subject: [PATCH 047/236] don't try to decrypt nothing

---
 www/file/main.js | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/www/file/main.js b/www/file/main.js
index 9c76e3618..e6ab7990c 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -180,6 +180,10 @@ define([
                 var cryptKey = secret.keys && secret.keys.fileKeyStr;
                 var key = Nacl.util.decodeBase64(cryptKey);
 
+                if (!u8 || !u8.length) {
+                    return void Cryptpad.errorLoadingScreen(e);
+                }
+
                 FileCrypto.decrypt(u8, key, function (e, data) {
                     if (e) {
                         Cryptpad.removeLoadingScreen();

From 0f13198119f60524e09cfd270204903be3221485 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Fri, 12 May 2017 16:33:45 +0200
Subject: [PATCH 048/236] Move the parseHash code into parsePadUrl

---
 www/common/common-hash.js     | 130 +++++++++++++++++++++++++---------
 www/common/common-history.js  |   4 +-
 www/common/cryptget.js        |   3 +-
 www/common/cryptpad-common.js |  35 ++++-----
 www/common/fsStore.js         |   2 +-
 www/common/userObject.js      |   4 +-
 www/drive/main.js             |   8 +--
 7 files changed, 125 insertions(+), 61 deletions(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index a2e96e2fc..fb5f0d99c 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -32,9 +32,58 @@ define([
         return '/1/view/' + hexToBase64(chanKey) + '/'+Crypto.b64RemoveSlashes(keys.viewKeyStr)+'/';
     };
     var getFileHashFromKeys = Hash.getFileHashFromKeys = function (fileKey, cryptKey) {
-        return '/2/' + hexToBase64(fileKey) + '/' + Crypto.b64RemoveSlashes(cryptKey) + '/';
+        return '/1/' + hexToBase64(fileKey) + '/' + Crypto.b64RemoveSlashes(cryptKey) + '/';
     };
 
+    var fixDuplicateSlashes = function (s) {
+        return s.replace(/\/+/g, '/');
+    };
+
+    var parseTypeHash = Hash.parseTypeHash = function (type, hash) {
+        if (!hash) { return; }
+        var parsed = {}
+        var hashArr = fixDuplicateSlashes(hash).split('/');
+        if (['media', 'file', 'user'].indexOf(type) === -1) {
+            parsed.type = 'pad';
+            if (hash.slice(0,1) !== '/' && hash.length >= 56) {
+                // Old hash
+                parsed.channel = hash.slice(0, 32);
+                parsed.key = hash.slice(32);
+                parsed.version = 0;
+                return parsed;
+            }
+            if (hashArr[1] && hashArr[1] === '1') {
+                parsed.version = 1;
+                parsed.mode = hashArr[2];
+                parsed.channel = hashArr[3];
+                parsed.key = hashArr[4].replace(/-/g, '/');
+                parsed.present = typeof(hashArr[5]) === "string" && hashArr[5] === 'present';
+                return parsed;
+            }
+            return parsed;
+        }
+        if (['media', 'file'].indexOf(type) !== -1) {
+            parsed.type = 'file';
+            if (hashArr[1] && hashArr[1] === '1') {
+                parsed.version = 1;
+                parsed.channel = hashArr[2].replace(/-/g, '/');
+                parsed.key = hashArr[3].replace(/-/g, '/');
+                return parsed;
+            }
+            return parsed;
+        }
+        if (['user'].indexOf(type) !== -1) {
+            parsed.type = 'user';
+            if (hashArr[1] && hashArr[1] === '1') {
+                parsed.version = 1;
+                parsed.user = hashArr[2];
+                parsed.pubkey = hashArr[3].replace(/-/g, '/');
+                return parsed;
+            }
+            return parsed;
+        }
+        return;
+    };
     var parsePadUrl = Hash.parsePadUrl = function (href) {
         var patt = /^https*:\/\/([^\/]*)\/(.*?)\//i;
 
@@ -43,10 +92,13 @@ define([
         if (!href) { return ret; }
         if (href.slice(-1) !== '/') { href += '/'; }
 
+
+
         if (!/^https*:\/\//.test(href)) {
             var idx = href.indexOf('/#');
             ret.type = href.slice(1, idx);
             ret.hash = href.slice(idx + 2);
+            ret.hashData = parseTypeHash(ret.type, ret.hash);
             return ret;
         }
 
@@ -56,6 +108,7 @@ define([
             return '';
         });
         ret.hash = hash.replace(/#/g, '');
+        ret.hashData = parseTypeHash(ret.type, ret.hash);
         return ret;
     };
 
@@ -66,16 +119,12 @@ define([
         return '/' + parsed.type + '/#' + parsed.hash;
     };
 
-    var fixDuplicateSlashes = function (s) {
-        return s.replace(/\/+/g, '/');
-    };
-
     /*
      * Returns all needed keys for a realtime channel
      * - no argument: use the URL hash or create one if it doesn't exist
      * - secretHash provided: use secretHash to find the keys
      */
-    Hash.getSecrets = function (secretHash) {
+    Hash.getSecrets = function (type, secretHash) {
         var secret = {};
         var generate = function () {
             secret.keys = Crypto.createEditCryptor();
@@ -85,50 +134,55 @@ define([
             generate();
             return secret;
         } else {
-            var hash = secretHash || window.location.hash.slice(1);
+            var parsed;
+            var hash;
+            if (secretHash) {
+                if (!type) { throw new Error("getSecrets with a hash requires a type parameter"); }
+                parsed = parseTypeHash(type, secretHash);
+                hash = secretHash;
+            } else {
+                var pHref = parsePadUrl(window.location.href);
+                parsed = pHref.hashData;
+                hash = pHref.hash;
+            }
+            //var parsed = parsePadUrl(window.location.href);
+            //var hash = secretHash || window.location.hash.slice(1);
+            console.log(hash, parsed);
             if (hash.length === 0) {
                 generate();
                 return secret;
             }
             // old hash system : #{hexChanKey}{cryptKey}
             // new hash system : #/{hashVersion}/{b64ChanKey}/{cryptKey}
-            if (hash.slice(0,1) !== '/' && hash.length >= 56) {
+            if (parsed.version === 0) {
                 // Old hash
                 secret.channel = hash.slice(0, 32);
                 secret.key = hash.slice(32);
             }
-            else {
+            else if (parsed.version === 1) {
                 // New hash
-                var hashArray = fixDuplicateSlashes(hash).split('/');
-                if (hashArray.length < 4) {
-                    Hash.alert("Unable to parse the key");
-                    throw new Error("Unable to parse the key");
-                }
-                var version = hashArray[1];
-                if (version === "1") {
-                    var mode = hashArray[2];
-                    if (mode === 'edit') {
-                        secret.channel = base64ToHex(hashArray[3]);
-                        var keys = Crypto.createEditCryptor(hashArray[4].replace(/-/g, '/'));
-                        secret.keys = keys;
-                        secret.key = keys.editKeyStr;
+                if (parsed.type === "pad") {
+                    secret.channel = base64ToHex(parsed.channel);
+                    if (parsed.mode === 'edit') {
+                        console.log(parsed.key);
+                        secret.keys = Crypto.createEditCryptor(parsed.key);
+                        secret.key = secret.keys.editKeyStr;
                         if (secret.channel.length !== 32 || secret.key.length !== 24) {
                             Hash.alert("The channel key and/or the encryption key is invalid");
                             throw new Error("The channel key and/or the encryption key is invalid");
                         }
                     }
-                    else if (mode === 'view') {
-                        secret.channel = base64ToHex(hashArray[3]);
-                        secret.keys = Crypto.createViewCryptor(hashArray[4].replace(/-/g, '/'));
+                    else if (parsed.mode === 'view') {
+                        secret.keys = Crypto.createViewCryptor(parsed.key);
                         if (secret.channel.length !== 32) {
                             Hash.alert("The channel key is invalid");
                             throw new Error("The channel key is invalid");
                         }
                     }
-                } else if (version === "2") {
+                } else if (parsed.type === "file") {
                     // version 2 hashes are to be used for encrypted blobs
-                    secret.channel = hashArray[2].replace(/-/g, '/');
-                    secret.keys = { fileKeyStr: hashArray[3].replace(/-/g, '/') };
+                    secret.channel = parsed.channel;
+                    secret.keys = { fileKeyStr: parsed.key };
                 }
             }
         }
@@ -175,6 +229,7 @@ Version 2
     /file/#/2/K6xWU-LT9BJHCQcDCT-DcQ/ajExFODrFH4lVBwxxsrOKw/image-png
 */
     var parseHash = Hash.parseHash = function (hash) {
+        throw new Error('parseHash deprecated');
         var parsed = {};
         if (hash.slice(0,1) !== '/' && hash.length >= 56) {
             // Old hash
@@ -211,9 +266,13 @@ Version 2
             var p = parsePadUrl(pad.href);
             if (p.type !== parsed.type) { return; } // Not the same type
             if (p.hash === parsed.hash) { return; } // Same hash, not stronger
-            var pHash = parseHash(p.hash);
-            var parsedHash = parseHash(parsed.hash);
+            var pHash = p.hashData;
+            var parsedHash = parsed.hashData;
             if (!parsedHash || !pHash) { return; }
+
+            // We don't have stronger/weaker versions of files or users
+            if (pHash.type !== 'pad' && parsedHash.type !== 'pad') { return; }
+
             if (pHash.version !== parsedHash.version) { return; }
             if (pHash.channel !== parsedHash.channel) { return; }
             if (pHash.mode === 'view' && parsedHash.mode === 'edit') {
@@ -233,9 +292,13 @@ Version 2
             var p = parsePadUrl(pad.href);
             if (p.type !== parsed.type) { return; } // Not the same type
             if (p.hash === parsed.hash) { return; } // Same hash, not stronger
-            var pHash = parseHash(p.hash);
-            var parsedHash = parseHash(parsed.hash);
+            var pHash = p.hashData;
+            var parsedHash = parsed.hashData;
             if (!parsedHash || !pHash) { return; }
+
+            // We don't have stronger/weaker versions of files or users
+            if (pHash.type !== 'pad' && parsedHash.type !== 'pad') { return; }
+
             if (pHash.version !== parsedHash.version) { return; }
             if (pHash.channel !== parsedHash.channel) { return; }
             if (pHash.mode === 'edit' && parsedHash.mode === 'view') {
@@ -254,8 +317,7 @@ Version 2
         var parsed = Hash.parsePadUrl(href);
         if (!parsed || !parsed.hash) { return; }
 
-        parsed = Hash.parseHash(parsed.hash);
-
+        parsed = parsed.hashData;
         if (parsed.version === 0) {
             return parsed.channel;
         } else if (parsed.version !== 1 && parsed.version !== 2) {
diff --git a/www/common/common-history.js b/www/common/common-history.js
index 8597598c1..48b210eb3 100644
--- a/www/common/common-history.js
+++ b/www/common/common-history.js
@@ -35,8 +35,8 @@ define([
         };
         var realtime = createRealtime();
 
-        var hash = config.href ? common.parsePadUrl(config.href).hash : undefined;
-        var secret = common.getSecrets(hash);
+        var parsed = config.href ? common.parsePadUrl(config.href) : {};
+        var secret = common.getSecrets(parsed.type, parsed.hash);
         var crypto = Crypto.createEncryptor(secret.keys);
 
         var to = window.setTimeout(function () {
diff --git a/www/common/cryptget.js b/www/common/cryptget.js
index 382ab023c..cde78d298 100644
--- a/www/common/cryptget.js
+++ b/www/common/cryptget.js
@@ -22,7 +22,8 @@ define([
     };
 
     var makeConfig = function (hash) {
-        var secret = Cryptpad.getSecrets(hash);
+        // We can't use cryptget with a file or a user so we can use 'pad' as hash type
+        var secret = Cryptpad.getSecrets('pad', hash);
         if (!secret.keys) { secret.keys = secret.key; } // support old hashses
         var config = {
             websocketURL: Cryptpad.getWebsocketURL(),
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 73b51e8b3..457102032 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -75,10 +75,10 @@ define([
 
     // import hash utilities for export
     var createRandomHash = common.createRandomHash = Hash.createRandomHash;
+    var parseTypeHash = common.parseTypeHash = Hash.parseTypeHash;
     var parsePadUrl = common.parsePadUrl = Hash.parsePadUrl;
     var isNotStrongestStored = common.isNotStrongestStored = Hash.isNotStrongestStored;
     var hrefToHexChannelId = common.hrefToHexChannelId = Hash.hrefToHexChannelId;
-    var parseHash = common.parseHash = Hash.parseHash;
     var getRelativeHref = common.getRelativeHref = Hash.getRelativeHref;
     common.getBlobPathFromHex = Hash.getBlobPathFromHex;
 
@@ -286,12 +286,12 @@ define([
         if (!pad.title) {
             pad.title = common.getDefaultname(parsed);
         }
-        return parsed.hash;
+        return parsed.hashData;
     };
     // Migrate from legacy store (localStorage)
     var migrateRecentPads = common.migrateRecentPads = function (pads) {
         return pads.map(function (pad) {
-            var hash;
+            var parsedHash;
             if (Array.isArray(pad)) { // TODO DEPRECATE_F
                 var href = pad[0];
                 href.replace(/\#(.*)$/, function (a, h) {
@@ -305,8 +305,8 @@ define([
                     ctime: pad[1],
                 };
             } else if (pad && typeof(pad) === 'object') {
-                hash = checkObjectData(pad);
-                if (!hash || !common.parseHash(hash)) { return; }
+                parsedHash = checkObjectData(pad);
+                if (!parsedHash || !parsedHash.type) { return; }
                 return pad;
             } else {
                 console.error("[Cryptpad.migrateRecentPads] pad had unexpected value");
@@ -319,8 +319,8 @@ define([
     var checkRecentPads = common.checkRecentPads = function (pads) {
         pads.forEach(function (pad, i) {
             if (pad && typeof(pad) === 'object') {
-                var hash = checkObjectData(pad);
-                if (!hash || !common.parseHash(hash)) {
+                var parsedHash = checkObjectData(pad);
+                if (!parsedHash || !parsedHash.type) {
                     console.error("[Cryptpad.checkRecentPads] pad had unexpected value", pad);
                     getStore().removeData(i);
                     return;
@@ -538,6 +538,7 @@ define([
     common.setPadTitle = function (name, cb) {
         var href = window.location.href;
         var parsed = parsePadUrl(href);
+        if (!parsed.hash) { return; }
         href = getRelativeHref(href);
         // getRecentPads return the array from the drive, not a copy
         // We don't have to call "set..." at the end, everything is stored with listmap
@@ -558,8 +559,8 @@ define([
 
                 // Version 1 : we have up to 4 differents hash for 1 pad, keep the strongest :
                 // Edit > Edit (present) > View > View (present)
-                var pHash = parseHash(p.hash);
-                var parsedHash = parseHash(parsed.hash);
+                var pHash = p.hashData;
+                var parsedHash = parsed.hashData;
 
                 if (!pHash) { return; } // We may have a corrupted pad in our storage, abort here in that case
 
@@ -661,7 +662,8 @@ define([
         var userHash = localStorage && localStorage.User_hash;
         if (!userHash) { return null; }
 
-        var userChannel = common.parseHash(userHash).channel;
+        var userParsedHash = common.parseTypeHash('drive', userHash);
+        var userChannel = userParsedHash && userParsedHash.channel;
         if (!userChannel) { return null; }
 
         var list = fo.getFiles([fo.FILES_DATA]).map(hrefToHexChannelId)
@@ -1273,20 +1275,21 @@ define([
                 UI.Alertify.reset();
 
                 // Load the new pad when the hash has changed
-                var oldHash  = document.location.hash.slice(1);
+                var oldHref  = document.location.href;
                 window.onhashchange = function () {
-                    var newHash = document.location.hash.slice(1);
-                    var parsedOld = parseHash(oldHash);
-                    var parsedNew = parseHash(newHash);
+                    var newHref = document.location.href;
+                    var parsedOld = parsePadUrl(oldHref).hashData;
+                    var parsedNew = parsePadUrl(newHref).hashData;
                     if (parsedOld && parsedNew && (
-                          parsedOld.channel !== parsedNew.channel
+                          parsedOld.type !== parsedNew.type
+                          || parsedOld.channel !== parsedNew.channel
                           || parsedOld.mode !== parsedNew.mode
                           || parsedOld.key !== parsedNew.key)) {
                         document.location.reload();
                         return;
                     }
                     if (parsedNew) {
-                        oldHash = newHash;
+                        oldHref = newHref;
                     }
                 };
 
diff --git a/www/common/fsStore.js b/www/common/fsStore.js
index 1be9e797f..b20c38c48 100644
--- a/www/common/fsStore.js
+++ b/www/common/fsStore.js
@@ -222,7 +222,7 @@ define([
         if (!hash) {
             throw new Error('[Store.init] Unable to find or create a drive hash. Aborting...');
         }
-        var secret = Cryptpad.getSecrets(hash);
+        var secret = Cryptpad.getSecrets('drive', hash);
         var listmapConfig = {
             data: {},
             websocketURL: Cryptpad.getWebsocketURL(),
diff --git a/www/common/userObject.js b/www/common/userObject.js
index 0972b6943..49e46147a 100644
--- a/www/common/userObject.js
+++ b/www/common/userObject.js
@@ -61,9 +61,7 @@ define([
             if (!isFile(element)) { return false; }
             var parsed = Cryptpad.parsePadUrl(element);
             if (!parsed) { return false; }
-            var hash = parsed.hash;
-            var pHash = Cryptpad.parseHash(hash);
-            if (pHash && !pHash.mode) { return; }
+            var pHash = parsed.hashData;
             return pHash && pHash.mode === 'view';
         };
 
diff --git a/www/drive/main.js b/www/drive/main.js
index 47868bde4..10921e20c 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -1103,7 +1103,7 @@ define([
             var type = Messages.type[hrefData.type] || hrefData.type;
             var $title = $('<span>', {'class': 'title listElement', title: data.title}).text(data.title);
             var $type = $('<span>', {'class': 'type listElement', title: type}).text(type);
-            if (hrefData.hash && Cryptpad.parseHash(hrefData.hash) && Cryptpad.parseHash(hrefData.hash).mode === 'view') {
+            if (hrefData.hashData && hrefData.hashData.mode === 'view') {
                 $type.append(' (' + Messages.readonly+ ')');
             }
             var $adate = $('<span>', {'class': 'atime listElement', title: getDate(data.atime)}).text(getDate(data.atime));
@@ -2155,9 +2155,9 @@ define([
         var getReadOnlyUrl = APP.getRO = function (href) {
             if (!filesOp.isFile(href)) { return; }
             var i = href.indexOf('#') + 1;
-            var hash = href.slice(i);
+            var parsed = Cryptpad.parsePadUrl(href);;
             var base = href.slice(0, i);
-            var hrefsecret = Cryptpad.getSecrets(hash);
+            var hrefsecret = Cryptpad.getSecrets(parsed.type, parsed.hash);
             if (!hrefsecret.keys) { return; }
             var viewHash = Cryptpad.getViewHashFromKeys(hrefsecret.channel, hrefsecret.keys);
             return base + viewHash;
@@ -2608,7 +2608,7 @@ define([
         }
 
         var hash = window.location.hash.slice(1) || Cryptpad.getUserHash() || localStorage.FS_hash;
-        var secret = Cryptpad.getSecrets(hash);
+        var secret = Cryptpad.getSecrets('drive', hash);
         var readOnly = APP.readOnly = secret.keys && !secret.keys.editKeyStr;
 
         var listmapConfig = module.config = {

From ed95bbb08f86c88eb216eb0c350c5e7bfe725fe0 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Fri, 12 May 2017 16:43:01 +0200
Subject: [PATCH 049/236] Fix lint errors

---
 www/common/common-hash.js     | 48 ++++++-----------------------------
 www/common/cryptpad-common.js |  9 ++-----
 www/drive/main.js             |  2 +-
 3 files changed, 11 insertions(+), 48 deletions(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index fb5f0d99c..401291d6c 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -39,9 +39,16 @@ define([
         return s.replace(/\/+/g, '/');
     };
 
+/*
+Version 0
+    /pad/#67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy
+Version 1
+    /code/#/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI
+*/
+
     var parseTypeHash = Hash.parseTypeHash = function (type, hash) {
         if (!hash) { return; }
-        var parsed = {}
+        var parsed = {};
         var hashArr = fixDuplicateSlashes(hash).split('/');
         if (['media', 'file', 'user'].indexOf(type) === -1) {
             parsed.type = 'pad';
@@ -147,7 +154,6 @@ define([
             }
             //var parsed = parsePadUrl(window.location.href);
             //var hash = secretHash || window.location.hash.slice(1);
-            console.log(hash, parsed);
             if (hash.length === 0) {
                 generate();
                 return secret;
@@ -164,7 +170,6 @@ define([
                 if (parsed.type === "pad") {
                     secret.channel = base64ToHex(parsed.channel);
                     if (parsed.mode === 'edit') {
-                        console.log(parsed.key);
                         secret.keys = Crypto.createEditCryptor(parsed.key);
                         secret.key = secret.keys.editKeyStr;
                         if (secret.channel.length !== 32 || secret.key.length !== 24) {
@@ -219,43 +224,6 @@ define([
         return '/1/edit/' + [channelId, key].join('/') + '/';
     };
 
-/*
-Version 0
-    /pad/#67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy
-Version 1
-    /code/#/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI
-Version 2
-    /file/#/2/<fileId>/<cryptKey>/<contentType>
-    /file/#/2/K6xWU-LT9BJHCQcDCT-DcQ/ajExFODrFH4lVBwxxsrOKw/image-png
-*/
-    var parseHash = Hash.parseHash = function (hash) {
-        throw new Error('parseHash deprecated');
-        var parsed = {};
-        if (hash.slice(0,1) !== '/' && hash.length >= 56) {
-            // Old hash
-            parsed.channel = hash.slice(0, 32);
-            parsed.key = hash.slice(32);
-            parsed.version = 0;
-            return parsed;
-        }
-        var hashArr = fixDuplicateSlashes(hash).split('/');
-        if (hashArr[1] && hashArr[1] === '1') {
-            parsed.version = 1;
-            parsed.mode = hashArr[2];
-            parsed.channel = hashArr[3];
-            parsed.key = hashArr[4];
-            parsed.present = typeof(hashArr[5]) === "string" && hashArr[5] === 'present';
-            return parsed;
-        }
-        if (hashArr[1] && hashArr[1] === '2') {
-            parsed.version = 2;
-            parsed.channel = hashArr[2].replace(/-/g, '/');
-            parsed.key = hashArr[3].replace(/-/g, '/');
-            return parsed;
-        }
-        return;
-    };
-
     // STORAGE
     Hash.findWeaker = function (href, recents) {
         var rHref = href || getRelativeHref(window.location.href);
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index ca8de5a08..6b042df41 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -75,7 +75,7 @@ define([
 
     // import hash utilities for export
     var createRandomHash = common.createRandomHash = Hash.createRandomHash;
-    var parseTypeHash = common.parseTypeHash = Hash.parseTypeHash;
+    common.parseTypeHash = Hash.parseTypeHash;
     var parsePadUrl = common.parsePadUrl = Hash.parsePadUrl;
     var isNotStrongestStored = common.isNotStrongestStored = Hash.isNotStrongestStored;
     var hrefToHexChannelId = common.hrefToHexChannelId = Hash.hrefToHexChannelId;
@@ -293,15 +293,10 @@ define([
         return pads.map(function (pad) {
             var parsedHash;
             if (Array.isArray(pad)) { // TODO DEPRECATE_F
-                var href = pad[0];
-                href.replace(/\#(.*)$/, function (a, h) {
-                    hash = h;
-                });
-
                 return {
                     href: pad[0],
                     atime: pad[1],
-                    title: pad[2] || hash && hash.slice(0,8),
+                    title: pad[2] || '',
                     ctime: pad[1],
                 };
             } else if (pad && typeof(pad) === 'object') {
diff --git a/www/drive/main.js b/www/drive/main.js
index 10921e20c..bf853b443 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -2155,7 +2155,7 @@ define([
         var getReadOnlyUrl = APP.getRO = function (href) {
             if (!filesOp.isFile(href)) { return; }
             var i = href.indexOf('#') + 1;
-            var parsed = Cryptpad.parsePadUrl(href);;
+            var parsed = Cryptpad.parsePadUrl(href);
             var base = href.slice(0, i);
             var hrefsecret = Cryptpad.getSecrets(parsed.type, parsed.hash);
             if (!hrefsecret.keys) { return; }

From 18d959ef16498e53bf9c7b42004a568a9cc9f4a9 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 17:07:30 +0200
Subject: [PATCH 050/236] handle non-200 status codes

---
 www/common/common-util.js | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/www/common/common-util.js b/www/common/common-util.js
index bbd648f7c..7f735411e 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -101,11 +101,11 @@ define([], function () {
         xhr.open("GET", src, true);
         xhr.responseType = "arraybuffer";
         xhr.onload = function () {
+            if (this.status !== 200) {
+                return CB('XHR_ERROR');
+            }
             return void CB(void 0, new Uint8Array(xhr.response));
         };
-        xhr.onerror = function () {
-            CB('XHR_ERROR');
-        };
         xhr.send(null);
     };
 

From 30f6ef3f85449aac097f4a13ff228ee3d6f6ffd9 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 12 May 2017 17:34:29 +0200
Subject: [PATCH 051/236] handle more response codes, use metadata

---
 www/common/common-util.js |  2 +-
 www/media/main.js         | 14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/www/common/common-util.js b/www/common/common-util.js
index 7f735411e..a5822c743 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -101,7 +101,7 @@ define([], function () {
         xhr.open("GET", src, true);
         xhr.responseType = "arraybuffer";
         xhr.onload = function () {
-            if (this.status !== 200) {
+            if ([200, 304].indexOf(this.status) === -1) {
                 return CB('XHR_ERROR');
             }
             return void CB(void 0, new Uint8Array(xhr.response));
diff --git a/www/media/main.js b/www/media/main.js
index 9e5276019..044fba0c0 100644
--- a/www/media/main.js
+++ b/www/media/main.js
@@ -20,11 +20,6 @@ define([
     Cryptpad.addLoadingScreen();
 
     var andThen = function () {
-        $(window.document).on('decryption', function (e) {
-            var decrypted = e.originalEvent;
-            console.log(decrypted.blob, decrypted.metadata);
-        });
-
         var $bar = $iframe.find('.toolbar-container');
         var secret = Cryptpad.getSecrets();
 
@@ -71,11 +66,16 @@ define([
         $mt.attr('data-crypto-key', 'cryptpad:'+cryptKey);
         $mt.attr('data-type', type);
 
-        window.onMediaMetadata = function (metadata) {
+        $(window.document).on('decryption', function (e) {
+            var decrypted = e.originalEvent;
+            var metadata = decrypted.metadata;
+
+            console.log(metadata);
+            console.log(defaultName);
             if (!metadata || metadata.name !== defaultName) { return; }
             var title = document.title = metadata.name;
             updateTitle(title || defaultName);
-        };
+        });
 
         require(['/common/media-tag.js'], function (MediaTag) {
             var configTb = {

From 601226115b64fb4f3a5287e669a51e3362434d4e Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Fri, 12 May 2017 18:06:29 +0200
Subject: [PATCH 052/236] New anonymous drive

---
 customize.dist/translations/messages.fr.js |  1 +
 customize.dist/translations/messages.js    |  1 +
 www/common/common-codemirror.js            |  2 --
 www/common/cryptpad-common.js              | 12 ++++---
 www/common/userObject.js                   | 36 +++++++++++++++++--
 www/drive/file.css                         |  3 ++
 www/drive/file.less                        |  3 ++
 www/drive/main.js                          | 42 ++++++++++++++++------
 8 files changed, 79 insertions(+), 21 deletions(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index d8e6f73d2..e2bbdd082 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -32,6 +32,7 @@ define(function () {
     out.error = "Erreur";
     out.saved = "Enregistré";
     out.synced = "Tout est enregistré";
+    out.deleted = "Pad supprimé de votre CryptDrive";
 
     out.disconnected = 'Déconnecté';
     out.synchronizing = 'Synchronisation';
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index afdbdc6b2..15f5dfc2b 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -34,6 +34,7 @@ define(function () {
     out.error = "Error";
     out.saved = "Saved";
     out.synced = "Everything is saved";
+    out.deleted = "Pad deleted from your CryptDrive";
 
     out.disconnected = 'Disconnected';
     out.synchronizing = 'Synchronizing';
diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js
index d9dfddaf6..bec2b98e4 100644
--- a/www/common/common-codemirror.js
+++ b/www/common/common-codemirror.js
@@ -149,9 +149,7 @@ define([
                 left: true, // Open to the left of the button
                 isSelect: true,
             };
-            console.log('here');
             var $block = exp.$language = Cryptpad.createDropdown(dropdownConfig);
-            console.log(exp);
             $block.find('a').click(function () {
                 setMode($(this).attr('data-value'), $block);
                 onLocal();
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 6b042df41..f91069286 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -743,13 +743,13 @@ define([
 
     common.updatePinLimit = function (cb) {
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
-        rpc.getFileListSize(cb);
+        rpc.updatePinLimits(cb);
     };
 
     common.getPinLimit = function (cb) {
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
-        rpc.getFileListSize(cb);
-        //cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000);
+        cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000);
+        //rpc.getLimit(cb); TODO
     };
 
     common.isOverPinLimit = function (cb) {
@@ -858,7 +858,8 @@ define([
                 if (callback) {
                     button.click(function() {
                         var href = window.location.href;
-                        common.confirm(Messages.forgetPrompt, function (yes) {
+                        var msg = isLoggedIn() ? Messages.forgetPrompt : Messages.fm_removePermanentlyDialog;
+                        common.confirm(msg, function (yes) {
                             if (!yes) { return; }
                             common.forgetPad(href, function (err) {
                                 if (err) {
@@ -877,7 +878,8 @@ define([
                                 } else {
                                     callback();
                                 }
-                                common.alert(Messages.movedToTrash, undefined, true);
+                                var cMsg = isLoggedIn() ? Messages.movedToTrash : Messages.deleted;
+                                common.alert(cMsg, undefined, true);
                                 return;
                             });
                         });
diff --git a/www/common/userObject.js b/www/common/userObject.js
index 49e46147a..51840dca5 100644
--- a/www/common/userObject.js
+++ b/www/common/userObject.js
@@ -539,6 +539,7 @@ define([
 
         // ADD
         var add = exp.add = function (data, path) {
+            if (!Cryptpad.isLoggedIn()) { return; }
             if (!data || typeof(data) !== "object") { return; }
             var href = data.href;
             var name = data.title;
@@ -596,6 +597,18 @@ define([
 
         // FORGET (move with href not path)
         exp.forget = function (href) {
+            if (!Cryptpad.isLoggedIn()) {
+                // delete permanently
+                var data = getFileData(href);
+                if (data) {
+                    var i = find([FILES_DATA]).indexOf(data);
+                    if (i !== -1) {
+                        exp.removePadAttribute(href);
+                        spliceFileData(i);
+                    }
+                }
+                return;
+            }
             var paths = findFile(href);
             move(paths, [TRASH]);
         };
@@ -603,7 +616,7 @@ define([
         // DELETE
         // Permanently delete multiple files at once using a list of paths
         // NOTE: We have to be careful when removing elements from arrays (trash root, unsorted or template)
-        var removePadAttribute = function (f) {
+        var removePadAttribute = exp.removePadAttribute = function (f) {
             if (typeof(f) !== 'string') {
                 console.error("Can't find pad attribute for an undefined pad");
                 return;
@@ -619,7 +632,7 @@ define([
         };
         var checkDeletedFiles = function () {
             // Nothing in FILES_DATA for workgroups
-            if (workgroup) { return; }
+            if (workgroup || !Cryptpad.isLoggedIn()) { return; }
 
             var filesList = getFiles([ROOT, 'hrefArray', TRASH]);
             var toRemove = [];
@@ -654,6 +667,23 @@ define([
             var hrefPaths = paths.filter(function(x) { return isPathIn(x, ['hrefArray']); });
             var rootPaths = paths.filter(function(x) { return isPathIn(x, [ROOT]); });
             var trashPaths = paths.filter(function(x) { return isPathIn(x, [TRASH]); });
+            var allFilesPaths = paths.filter(function(x) { return isPathIn(x, [FILES_DATA]); });
+
+            if (!Cryptpad.isLoggedIn()) {
+                var toSplice = [];
+                allFilesPaths.forEach(function (path) {
+                    var el = find(path);
+                    toSplice.push(el);
+                });
+                toSplice.forEach(function (el) {
+                    var i = find([FILES_DATA]).indexOf(el);
+                    if (i === -1) { return; }
+                    removePadAttribute(el.href);
+                    console.log(el.href);
+                    spliceFileData(i);
+                });
+                return;
+            }
 
             var hrefs = [];
             hrefPaths.forEach(function (path) {
@@ -882,7 +912,7 @@ define([
                         toClean.push(el);
                         return;
                     }
-                    if (rootFiles.indexOf(el.href) === -1) {
+                    if (Cryptpad.isLoggedIn() && rootFiles.indexOf(el.href) === -1) {
                         debug("An element in filesData was not in ROOT, TEMPLATE or TRASH.", el);
                         var name = el.title || NEW_FILE_NAME;
                         var newName = getAvailableName(root, name);
diff --git a/www/drive/file.css b/www/drive/file.css
index fed050db1..2f353a371 100644
--- a/www/drive/file.css
+++ b/www/drive/file.css
@@ -154,6 +154,9 @@ span.fa-folder-open {
   min-width: 30px;
   cursor: pointer;
 }
+#tree #allfilesTree {
+  margin-top: 0;
+}
 #tree #searchContainer {
   text-align: center;
   padding: 5px 0;
diff --git a/www/drive/file.less b/www/drive/file.less
index fe506ae35..13a8adc6b 100644
--- a/www/drive/file.less
+++ b/www/drive/file.less
@@ -194,6 +194,9 @@ span {
             }
         }
     }
+    #allfilesTree {
+        margin-top: 0;
+    }
     #searchContainer {
         text-align: center;
         padding: 5px 0;
diff --git a/www/drive/main.js b/www/drive/main.js
index bf853b443..27671f54e 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -205,7 +205,6 @@ define([
         var $trashTreeContextMenu = $iframe.find("#trashTreeContextMenu");
         var $trashContextMenu = $iframe.find("#trashContextMenu");
 
-
         // TOOLBAR
 
         /* add a "change username" button */
@@ -227,10 +226,14 @@ define([
         if (AppConfig.enableTemplates) { displayedCategories.push(TEMPLATE); }
         if (isWorkgroup()) { displayedCategories = [ROOT, TRASH, SEARCH]; }
 
+        if (!Cryptpad.isLoggedIn()) {
+            displayedCategories = [FILES_DATA];
+            currentPath = [FILES_DATA];
+        }
+
         if (!APP.readOnly) {
             setEditable(true);
         }
-
         var appStatus = {
             isReady: true,
             _onReady: [],
@@ -1811,14 +1814,16 @@ define([
 
             module.resetTree();
 
-            // in history mode we want to focus the version number input
-            if (!history.isHistoryMode && !APP.mobile()) {
-                var st = $tree.scrollTop() || 0;
-                $tree.find('#searchInput').focus();
-                $tree.scrollTop(st);
+            if (displayedCategories.indexOf(SEARCH) !== -1) {
+                // in history mode we want to focus the version number input
+                if (!history.isHistoryMode && !APP.mobile()) {
+                    var st = $tree.scrollTop() || 0;
+                    $tree.find('#searchInput').focus();
+                    $tree.scrollTop(st);
+                }
+                $tree.find('#searchInput')[0].selectionStart = getSearchCursor();
+                $tree.find('#searchInput')[0].selectionEnd = getSearchCursor();
             }
-            $tree.find('#searchInput')[0].selectionStart = getSearchCursor();
-            $tree.find('#searchInput')[0].selectionEnd = getSearchCursor();
 
             if (!isWorkgroup()) {
                 setLastOpenedFolder(path);
@@ -2310,6 +2315,19 @@ define([
             else if ($(this).hasClass('delete')) {
                 var pathsList = [];
                 paths.forEach(function (p) { pathsList.push(p.path); });
+                if (!Cryptpad.isLoggedIn()) {
+                    console.log(paths);
+                    var msg = Messages._getKey("fm_removeSeveralPermanentlyDialog", [paths.length]);
+                    if (paths.length === 1) {
+                        msg = Messages.fm_removePermanentlyDialog;
+                    }
+                    Cryptpad.confirm(msg, function(res) {
+                        $(ifrw).focus();
+                        if (!res) { return; }
+                        filesOp.delete(pathsList, refresh);
+                    });
+                    return;
+                }
                 moveElements(pathsList, [TRASH], false, refresh);
             }
             else if ($(this).hasClass("properties")) {
@@ -2432,7 +2450,9 @@ define([
         $appContainer.on('keydown', function (e) {
             // "Del"
             if (e.which === 46) {
-                if (filesOp.isPathIn(currentPath, [FILES_DATA])) { return; } // We can't remove elements directly from filesData
+                if (filesOp.isPathIn(currentPath, [FILES_DATA]) && Cryptpad.isLoggedIn()) {
+                    return; // We can't remove elements directly from filesData
+                }
                 var $selected = $iframe.find('.selected');
                 if (!$selected.length) { return; }
                 var paths = [];
@@ -2442,7 +2462,7 @@ define([
                     paths.push($(elmt).data('path'));
                 });
                 // If we are in the trash or anon pad or if we are holding the "shift" key, delete permanently,
-                if (isTrash || e.shiftKey) {
+                if (!Cryptpad.isLoggedIn() || isTrash || e.shiftKey) {
                     var msg = Messages._getKey("fm_removeSeveralPermanentlyDialog", [paths.length]);
                     if (paths.length === 1) {
                         msg = Messages.fm_removePermanentlyDialog;

From fc49715bc00d2226b97a4130f7fc35522901cb46 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Sat, 13 May 2017 12:32:26 +0200
Subject: [PATCH 053/236] document 'enableFeedback' in the server conf

---
 config.example.js | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/config.example.js b/config.example.js
index 1be17e510..a91c384bd 100644
--- a/config.example.js
+++ b/config.example.js
@@ -211,6 +211,15 @@ module.exports = {
      */
     restrictUploads: true,
 
+    /*  clients can use the /settings/ app to opt out of usage feedback
+     *  which informs the server of things like how much each app is being
+     *  used, and whether certain clientside features are supported by
+     *  the client's browser. The intent is to provide feedback to the admin
+     *  such that the service can be improved. Enable this with `true`
+     *  and ignore feedback with `false` or by commenting the attribute
+     */
+    //logFeedback: true,
+
     /* it is recommended that you serve cryptpad over https
      * the filepaths below are used to configure your certificates
      */

From 06f3d0eefe4473a5cabd33b23cdbb49f7dddc158 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 15 May 2017 10:26:52 +0200
Subject: [PATCH 054/236] shim isArray if not exists. correctly report how
 often this occurs

---
 www/common/boot2.js           | 8 ++++++++
 www/common/cryptpad-common.js | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/www/common/boot2.js b/www/common/boot2.js
index 599875a93..d894191e8 100644
--- a/www/common/boot2.js
+++ b/www/common/boot2.js
@@ -10,5 +10,13 @@ define([], function () {
             "json.sortify": "/bower_components/json.sortify/dist/JSON.sortify"
         }
     });
+
+    // most of CryptPad breaks if you don't support isArray
+    if (!Array.isArray) {
+        Array.isArray = function(arg) { // CRYPTPAD_SHIM
+            return Object.prototype.toString.call(arg) === '[object Array]';
+        };
+    }
+
     require([document.querySelector('script[data-bootload]').getAttribute('data-bootload')]);
 });
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index f91069286..e6a48ebe2 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -1269,7 +1269,7 @@ define([
                 feedback("NO_PROXIES");
             }
 
-            if (typeof(Array.isArray) !== 'function') {
+            if (!/CRYPTPAD_SHIM/.test(Array.isArray.toString())) {
                 feedback("NO_ISARRAY");
             }
 

From 9bbd3161ca05c4a2a61425f5c98f04a5174c4d0b Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 15 May 2017 11:11:12 +0200
Subject: [PATCH 055/236] update tests for new API changes

---
 www/assert/main.js | 64 +++++++++++++++++++++++-----------------------
 1 file changed, 32 insertions(+), 32 deletions(-)

diff --git a/www/assert/main.js b/www/assert/main.js
index 7da11f408..ffab3f5a9 100644
--- a/www/assert/main.js
+++ b/www/assert/main.js
@@ -153,50 +153,50 @@ define([
 
     // check that old hashes parse correctly
     assert(function (cb) {
-        var secret = Cryptpad.parseHash('67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy');
-        return cb(secret.channel === "67b8385b07352be53e40746d2be6ccd7" &&
-            secret.key === "XAYSuJYYqa9NfmInyHci7LNy" &&
-            secret.version === 0);
+        var secret = Cryptpad.parsePadUrl('/pad/#67b8385b07352be53e40746d2be6ccd7XAYSuJYYqa9NfmInyHci7LNy');
+        return cb(secret.hashData.channel === "67b8385b07352be53e40746d2be6ccd7" &&
+            secret.hashData.key === "XAYSuJYYqa9NfmInyHci7LNy" &&
+            secret.hashData.version === 0);
     }, "Old hash failed to parse");
 
     // make sure version 1 hashes parse correctly
     assert(function (cb) {
-        var secret = Cryptpad.parseHash('/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI');
-        return cb(secret.version === 1 &&
-            secret.mode === "edit" &&
-            secret.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" &&
-            secret.key === "usn4+9CqVja8Q7RZOGTfRgqI" &&
-            !secret.present);
+        var secret = Cryptpad.parsePadUrl('/pad/#/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI');
+        return cb(secret.hashData.version === 1 &&
+            secret.hashData.mode === "edit" &&
+            secret.hashData.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" &&
+            secret.hashData.key === "usn4+9CqVja8Q7RZOGTfRgqI" &&
+            !secret.hashData.present);
+    }, "version 1 hash (without present mode) failed to parse");
+
+    // test support for present mode in hashes
+    assert(function (cb) {
+        var secret = Cryptpad.parsePadUrl('/pad/#/1/edit/CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G/present');
+        return cb(secret.hashData.version === 1
+            && secret.hashData.mode === "edit"
+            && secret.hashData.channel === "CmN5+YJkrHFS3NSBg-P7Sg"
+            && secret.hashData.key === "DNZ2wcG683GscU4fyOyqA87G"
+            && secret.hashData.present);
     }, "version 1 hash failed to parse");
 
     // test support for present mode in hashes
     assert(function (cb) {
-        var secret = Cryptpad.parseHash('/1/edit/CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G/present');
-        return cb(secret.version === 1
-            && secret.mode === "edit"
-            && secret.channel === "CmN5+YJkrHFS3NSBg-P7Sg"
-            && secret.key === "DNZ2wcG683GscU4fyOyqA87G"
-            && secret.present);
-    }, "version 1 hash failed to parse");
-
-    // test support for present mode in hashes
-    assert(function (cb) {
-        var secret = Cryptpad.parseHash('/1/edit//CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G//present');
-        return cb(secret.version === 1
-            && secret.mode === "edit"
-            && secret.channel === "CmN5+YJkrHFS3NSBg-P7Sg"
-            && secret.key === "DNZ2wcG683GscU4fyOyqA87G"
-            && secret.present);
+        var secret = Cryptpad.parsePadUrl('/pad/#/1/edit//CmN5+YJkrHFS3NSBg-P7Sg/DNZ2wcG683GscU4fyOyqA87G//present');
+        return cb(secret.hashData.version === 1
+            && secret.hashData.mode === "edit"
+            && secret.hashData.channel === "CmN5+YJkrHFS3NSBg-P7Sg"
+            && secret.hashData.key === "DNZ2wcG683GscU4fyOyqA87G"
+            && secret.hashData.present);
     }, "Couldn't handle multiple successive slashes");
 
     // test support for trailing slash
     assert(function (cb) {
-        var secret = Cryptpad.parseHash('/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI/');
-        return cb(secret.version === 1 &&
-            secret.mode === "edit" &&
-            secret.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" &&
-            secret.key === "usn4+9CqVja8Q7RZOGTfRgqI" &&
-            !secret.present);
+        var secret = Cryptpad.parsePadUrl('/pad/#/1/edit/3Ujt4F2Sjnjbis6CoYWpoQ/usn4+9CqVja8Q7RZOGTfRgqI/');
+        return cb(secret.hashData.version === 1 &&
+            secret.hashData.mode === "edit" &&
+            secret.hashData.channel === "3Ujt4F2Sjnjbis6CoYWpoQ" &&
+            secret.hashData.key === "usn4+9CqVja8Q7RZOGTfRgqI" &&
+            !secret.hashData.present);
     }, "test support for trailing slashes in version 1 hash failed to parse");
 
     assert(function (cb) {

From a9b670fdf55eff3177d3a4cfd761ca4cab1c71cf Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 15 May 2017 11:17:46 +0200
Subject: [PATCH 056/236] don't parse trailing slash as part of encryption key
 in old hashes

---
 www/common/common-hash.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index 401291d6c..afb6bca2b 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -55,7 +55,7 @@ Version 1
             if (hash.slice(0,1) !== '/' && hash.length >= 56) {
                 // Old hash
                 parsed.channel = hash.slice(0, 32);
-                parsed.key = hash.slice(32);
+                parsed.key = hash.slice(32, 56);
                 parsed.version = 0;
                 return parsed;
             }

From 591c5a7844c01f32dc86522d5c5c8748c2d36ab9 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 15 May 2017 11:59:36 +0200
Subject: [PATCH 057/236] add TODOs, integrate upload size checks

---
 rpc.js | 49 ++++++++++++++++++++++++++-----------------------
 1 file changed, 26 insertions(+), 23 deletions(-)

diff --git a/rpc.js b/rpc.js
index e729e4802..df9020e6a 100644
--- a/rpc.js
+++ b/rpc.js
@@ -15,7 +15,7 @@ var Store = require("./storage/file");
 
 var DEFAULT_LIMIT = 100;
 
-var isValidChannel = function (chan) {
+var isValidId = function (chan) {
     return /^[a-fA-F0-9]/.test(chan) ||
         [32, 48].indexOf(chan.length) !== -1;
 };
@@ -249,8 +249,16 @@ var getChannelList = function (store, Sessions, publicKey, cb) {
     });
 };
 
-var getUploadSize = function (store, channel, cb) {
-    var path = '';
+var makeFilePath = function (root, id) {
+    if (typeof(id) !== 'string' || id.length <= 2) { return null; }
+    return Path.join(root, id.slice(0, 2), id);
+};
+
+var getUploadSize = function (paths, channel, cb) {
+    var path = makeFilePath(paths.blob, channel);
+    if (!path) {
+        return cb('INVALID_UPLOAD_ID');
+    }
 
     Fs.stat(path, function (err, stats) {
         if (err) { return void cb(err); }
@@ -258,8 +266,8 @@ var getUploadSize = function (store, channel, cb) {
     });
 };
 
-var getFileSize = function (store, channel, cb) {
-    if (!isValidChannel(channel)) { return void cb('INVALID_CHAN'); }
+var getFileSize = function (paths, store, channel, cb) {
+    if (!isValidId(channel)) { return void cb('INVALID_CHAN'); }
 
     if (channel.length === 32) {
         if (typeof(store.getChannelSize) !== 'function') {
@@ -273,14 +281,13 @@ var getFileSize = function (store, channel, cb) {
     }
 
     // 'channel' refers to a file, so you need anoter API
-    getUploadSize(null, channel, function (e, size) {
+    getUploadSize(paths, channel, function (e, size) {
         if (e) { return void cb(e); }
         cb(void 0, size);
     });
 };
 
-var getMultipleFileSize = function (store, channels, cb) {
-
+var getMultipleFileSize = function (paths, store, channels, cb) {
     if (!Array.isArray(channels)) { return cb('INVALID_LIST'); }
     if (typeof(store.getChannelSize) !== 'function') {
         return cb('GET_CHANNEL_SIZE_UNSUPPORTED');
@@ -295,16 +302,12 @@ var getMultipleFileSize = function (store, channels, cb) {
     };
 
     channels.forEach(function (channel) {
-        if (!isValidChannel(channel)) {
-            counts[channel] = -1;
-            return done();
-        }
-        store.getChannelSize(channel, function (e, size) {
+        getFileSize(paths, store, channel, function (e, size) {
             if (e) {
+                console.error(e);
                 counts[channel] = -1;
                 return done();
             }
-
             counts[channel] = size;
             done();
         });
@@ -524,11 +527,6 @@ var safeMkdir = function (path, cb) {
     });
 };
 
-var makeFilePath = function (root, id) {
-    if (typeof(id) !== 'string' || id.length <= 2) { return null; }
-    return Path.join(root, id.slice(0, 2), id);
-};
-
 var makeFileStream = function (root, id, cb) {
     var stub = id.slice(0, 2);
     var full = makeFilePath(root, id);
@@ -552,6 +550,9 @@ var makeFileStream = function (root, id, cb) {
 var upload = function (paths, Sessions, publicKey, content, cb) {
     var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line
 
+    // TODO check that the ongoing upload has not exceeded its declared size
+    // TODO fail if it has...
+
     var session = Sessions[publicKey];
     session.atime = +new Date();
     if (!session.blobstage) {
@@ -650,7 +651,9 @@ your upload is going to be. if that would exceed your limit, return TOO_LARGE
 error.
 
 */
-var upload_status = function (paths, Sessions, publicKey, cb) {
+var upload_status = function (paths, Sessions, size, publicKey, cb) {
+    // TODO validate that size is within tolerance
+
     var filePath = makeFilePath(paths.staging, publicKey);
     if (!filePath) { return void cb('E_INVALID_PATH'); }
     isFile(filePath, function (e, yes) {
@@ -772,7 +775,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                     Respond(e, size);
                 });
             case 'GET_FILE_SIZE':
-                return void getFileSize(ctx.store, msg[1], Respond);
+                return void getFileSize(paths, ctx.store, msg[1], Respond);
             case 'UPDATE_LIMITS':
                 return void updateLimits(config, safeKey, function (e, limit) {
                     if (e) { return void Respond(e); }
@@ -785,7 +788,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                     Respond(void 0, limit);
                 });
             case 'GET_MULTIPLE_FILE_SIZE':
-                return void getMultipleFileSize(ctx.store, msg[1], function (e, dict) {
+                return void getMultipleFileSize(paths, ctx.store, msg[1], function (e, dict) {
                     if (e) { return void Respond(e); }
                     Respond(void 0, dict);
                 });
@@ -798,7 +801,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                 });
             case 'UPLOAD_STATUS':
                 if (!privileged) { return deny(); }
-                return void upload_status(paths, Sessions, safeKey, function (e, stat) {
+                return void upload_status(paths, Sessions, safeKey, msg[1], function (e, stat) {
                     Respond(e, stat);
                 });
             case 'UPLOAD_COMPLETE':

From ad5e18f55831d1288cb389e43d45061b7c1f735b Mon Sep 17 00:00:00 2001
From: Pierre Bondoerffer <pierre@bondoer.fr>
Date: Mon, 15 May 2017 12:05:50 +0200
Subject: [PATCH 058/236] Spanish update

---
 customize.dist/translations/messages.es.js | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js
index 9af57694d..522e79402 100644
--- a/customize.dist/translations/messages.es.js
+++ b/customize.dist/translations/messages.es.js
@@ -404,5 +404,21 @@ define(function () {
     out.history_restoreDone = "Documento restaurado";
     out.fc_sizeInKilobytes = "Talla en Kilobytes";
 
+    // 1.5.0/1.6.0 - Fenrir/Grootslang
+
+    out.deleted = "El pad fue borrado de tu CryptDrive";
+    out.upgrade = "Mejorar";
+    out.upgradeTitle = "Mejora tu cuenta para obtener más espacio";
+    out.MB = "MB";
+    out.pinLimitReached = "Has llegado al limite de espacio";
+    out.pinLimitReachedAlert = "Has llegado al limite de espacio. Nuevos pads no serán movidos a tu CryptDrive.<br>Para resolver este problema, puedes quitar pads de tu CryptDrive (incluso en la papelera) o mejorar tu cuenta para obtener más espacio.";
+    out.pinLimitNotPinned = "Has llegado al limite de espacio.<br>Este pad no estará presente en tu CryptDrive.";
+    out.pinLimitDrive = "Has llegado al limite de espacio.<br>No puedes crear nuevos pads.";
+    out.printTransition = "Activar transiciones";
+    out.history_version = "Versión: ";
+    out.settings_logoutEverywhereTitle = "Cerrar sessión en todas partes";
+    out.settings_logoutEverywhere = "Cerrar todas las otras sessiones";
+    out.settings_logoutEverywhereConfirm = "¿Estás seguro? Tendrás que volver a iniciar sessión con todos tus dispositivos.";
+
     return out;
 });

From 57979f6314d758d2a5608d79da4ead6e0634b143 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 15 May 2017 13:53:43 +0200
Subject: [PATCH 059/236] Display the public key using a href in the settings
 page

---
 www/common/common-hash.js     | 6 ++++++
 www/common/cryptpad-common.js | 1 +
 www/settings/main.js          | 3 ++-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index 401291d6c..ff5e29e85 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -34,6 +34,9 @@ define([
     var getFileHashFromKeys = Hash.getFileHashFromKeys = function (fileKey, cryptKey) {
         return '/1/' + hexToBase64(fileKey) + '/' + Crypto.b64RemoveSlashes(cryptKey) + '/';
     };
+    var getUserHrefFromKeys = Hash.getUserHrefFromKeys = function (username, pubkey) {
+        return window.location.origin + '/user/#/1/' + username + '/' + pubkey.replace(/\//g, '-');
+    };
 
     var fixDuplicateSlashes = function (s) {
         return s.replace(/\/+/g, '/');
@@ -188,6 +191,9 @@ Version 1
                     // version 2 hashes are to be used for encrypted blobs
                     secret.channel = parsed.channel;
                     secret.keys = { fileKeyStr: parsed.key };
+                } else if (parsed.type === "user") {
+                    // version 2 hashes are to be used for encrypted blobs
+                    throw new Error("User hashes can't be opened (yet)");
                 }
             }
         }
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index f91069286..5c1b747e5 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -85,6 +85,7 @@ define([
     common.getEditHashFromKeys = Hash.getEditHashFromKeys;
     common.getViewHashFromKeys = Hash.getViewHashFromKeys;
     common.getFileHashFromKeys = Hash.getFileHashFromKeys;
+    common.getUserHrefFromKeys = Hash.getUserHrefFromKeys;
     common.getSecrets = Hash.getSecrets;
     common.getHashes = Hash.getHashes;
     common.createChannelId = Hash.createChannelId;
diff --git a/www/settings/main.js b/www/settings/main.js
index 7abff2e85..6a14fe819 100644
--- a/www/settings/main.js
+++ b/www/settings/main.js
@@ -49,13 +49,14 @@ define([
 
         var publicKey = obj.edPublic;
         if (publicKey) {
+            var userHref = Cryptpad.getUserHrefFromKeys(accountName, publicKey);
             var $pubLabel = $('<span>', {'class': 'label'})
                 .text(Messages.settings_publicSigningKey + ':');
             var $pubKey = $('<input>', {type: 'text', readonly: true})
                 .css({
                     width: '28em'
                 })
-                .val(publicKey);
+                .val(userHref);
             $div.append('<br>').append($pubLabel).append($pubKey);
         }
 

From 03274c3776ae2f2315483da312678e50c109458c Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 15 May 2017 13:54:03 +0200
Subject: [PATCH 060/236] Display an info message in the anonymous drive

---
 customize.dist/translations/messages.fr.js |  6 +++++
 customize.dist/translations/messages.js    |  8 +++++++
 www/drive/file.css                         |  5 ++++-
 www/drive/file.less                        |  5 ++++-
 www/drive/main.js                          | 26 +++++++++++++++-------
 5 files changed, 40 insertions(+), 10 deletions(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index e2bbdd082..e719a44d9 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -226,10 +226,16 @@ define(function () {
     out.fm_info_template = "Contient tous les fichiers que vous avez sauvés en tant que modèle afin de les réutiliser lors de la création d'un nouveau pad.";
     out.fm_info_trash = 'Les fichiers supprimés dans la corbeille sont également enlevés de "Tous les fichiers" et il est impossible de les récupérer depuis l\'explorateur de fichiers.'; // Same here for "All files" and "out.fm_filesDataName"
     out.fm_info_allFiles = 'Contient tous les fichiers de "Documents", "Fichiers non triés" et "Corbeille". Vous ne pouvez pas supprimer ou déplacer des fichiers depuis cet endroit.'; // Same here
+    out.fm_info_anonymous = 'Vous n\'êtes pas connectés, ces pads risquent donc d\'être supprimés (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">découvrez pourquoi</a>). ' +
+                            '<a href="/register/">Inscrivez-vous</a> ou <a href="/login/">connectez-vous</a> pour les maintenir en vie.';
     out.fm_alert_backupUrl = "Lien de secours pour ce disque.<br>" +
                              "Il est <strong>fortement recommandé</strong> de garder ce lien pour vous-même.<br>" +
                              "Elle vous servira en cas de perte des données de votre navigateur afin de retrouver vos fichiers.<br>" +
                              "Quiconque se trouve en possession de celle-ci peut modifier ou supprimer tous les fichiers de ce gestionnaire.<br>";
+    out.fm_alert_anonymous = "Bonjour ! Vous utilisez actuellement Cryptpad de manière anonyme, ce qui ne pose pas de problème mais vos pads peuvent être supprimés après un certain temps " +
+                             "d'inactivité. Nous avons désactivé certaines fonctionnalités avancées de CryptDrive pour les utilisateurs anonymes afin de rendre clair le fait que ce n'est pas " +
+                             'un endroit sûr pour le stockage des documents. Vous pouvez <a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">en lire plus</a> concernant ' +
+                             'nos raisons pour ces changements et pourquoi vous devriez vraiment <a href="/register/">vous enregistrer</a> et <a href="/login/">vous connecter</a>.';
     out.fm_backup_title = 'Lien de secours';
     out.fm_nameFile = 'Comment souhaitez-vous nommer ce fichier ?';
     // File - Context menu
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 15f5dfc2b..c6ae72ce5 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -228,10 +228,18 @@ define(function () {
     out.fm_info_template = 'Contains all the pads stored as templates and that you can re-use when you create a new pad.';
     out.fm_info_trash = 'Files deleted from the trash are also removed from "All files" and it is impossible to recover them from the file manager.'; // Same here for "All files" and "out.fm_filesDataName"
     out.fm_info_allFiles = 'Contains all the files from "Documents", "Unsorted" and "Trash". You can\'t move or remove files from here.'; // Same here
+    out.fm_info_login = "Log in";
+    out.fm_info_register = "Sign up";
+    out.fm_info_anonymous = 'You are not logged in so these pads may be deleted (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">find out why</a>). ' +
+                            '<a href="/register/">Sign up</a> or <a href="/login/">Log in</a> to keep them alive.';
     out.fm_alert_backupUrl = "Backup link for this drive.<br>" +
                              "It is <strong>highly recommended</strong> that you keep ip for yourself only.<br>" +
                              "You can use it to retrieve all your files in case your browser memory got erased.<br>" +
                              "Anybody with that link can edit or remove all the files in your file manager.<br>";
+    out.fm_alert_anonymous = "Hello there, you are currently using CryptPad anonymously, that's ok but your pads may be deleted after a period of " +
+                             "inactivity. We have disabled advanced features of the drive for anonymous users because we want to be clear that it is " +
+                             'not a safe place to store things. You can <a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">read more</a> about ' +
+                             'why we are doing this and why you really should <a href="/register/">Sign up</a> and <a href="/login/">Log in</a>.';
     out.fm_backup_title = 'Backup link';
     out.fm_nameFile = 'How would you like to name that file?';
     // File - Context menu
diff --git a/www/drive/file.css b/www/drive/file.css
index 2f353a371..7ef0adc5e 100644
--- a/www/drive/file.css
+++ b/www/drive/file.css
@@ -259,6 +259,9 @@ span.fa-folder-open {
   margin-left: 10px;
   float: right;
 }
+#content .info-box.noclose {
+  padding-right: 10px;
+}
 #content li {
   cursor: default;
 }
@@ -462,7 +465,7 @@ span.fa-folder-open {
   height: 100%;
 }
 #driveToolbar button {
-  height: 30px;
+  height: 26px;
 }
 #driveToolbar button.element {
   border-radius: 2px;
diff --git a/www/drive/file.less b/www/drive/file.less
index 13a8adc6b..825d465b4 100644
--- a/www/drive/file.less
+++ b/www/drive/file.less
@@ -303,6 +303,9 @@ span {
             margin-left: 10px;
             float: right;
         }
+        &.noclose {
+            padding-right: 10px;
+        }
     }
     li {
         cursor: default;
@@ -527,7 +530,7 @@ span {
     }
 
     button {
-        height: 30px;
+        height: 26px;
         &.element {
             border-radius: 2px;
             background: @toolbar-button-bg;
diff --git a/www/drive/main.js b/www/drive/main.js
index 27671f54e..af2974767 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -226,9 +226,14 @@ define([
         if (AppConfig.enableTemplates) { displayedCategories.push(TEMPLATE); }
         if (isWorkgroup()) { displayedCategories = [ROOT, TRASH, SEARCH]; }
 
-        if (!Cryptpad.isLoggedIn()) {
+        if (!APP.loggedIn) {
             displayedCategories = [FILES_DATA];
             currentPath = [FILES_DATA];
+            $tree.hide();
+            if (Object.keys(files.root).length && !proxy.anonymousAlert) {
+                Cryptpad.alert(Messages.fm_alert_anonymous, null, true);
+                proxy.anonymousAlert = true;
+            }
         }
 
         if (!APP.readOnly) {
@@ -607,7 +612,6 @@ define([
                     }
                     hasFolder = true;
                     hide.push($menu.find('a.open_ro'));
-                    // TODO: folder properties in the future?
                     hide.push($menu.find('a.properties'));
                 }
                 // If we're in the trash, hide restore and properties for non-root elements
@@ -1292,6 +1296,12 @@ define([
                 default:
                     msg = undefined;
             }
+            if (!APP.loggedIn) {
+                msg = Messages.fm_info_anonymous;
+                $box.html(msg);
+                $box.addClass('noclose');
+                return $box;
+            }
             if (!msg || Cryptpad.getLSAttribute('hide-info-' + path[0]) === '1') {
                 $box.hide();
             } else {
@@ -2200,7 +2210,7 @@ define([
                 .appendTo($d);
             }
 
-            if (Cryptpad.isLoggedIn() && AppConfig.enablePinning) {
+            if (APP.loggedIn && AppConfig.enablePinning) {
                 // check the size of this file...
                 Cryptpad.getFileSize(el, function (e, bytes) {
                     if (e) {
@@ -2315,8 +2325,7 @@ define([
             else if ($(this).hasClass('delete')) {
                 var pathsList = [];
                 paths.forEach(function (p) { pathsList.push(p.path); });
-                if (!Cryptpad.isLoggedIn()) {
-                    console.log(paths);
+                if (!APP.loggedIn) {
                     var msg = Messages._getKey("fm_removeSeveralPermanentlyDialog", [paths.length]);
                     if (paths.length === 1) {
                         msg = Messages.fm_removePermanentlyDialog;
@@ -2450,7 +2459,7 @@ define([
         $appContainer.on('keydown', function (e) {
             // "Del"
             if (e.which === 46) {
-                if (filesOp.isPathIn(currentPath, [FILES_DATA]) && Cryptpad.isLoggedIn()) {
+                if (filesOp.isPathIn(currentPath, [FILES_DATA]) && APP.loggedIn) {
                     return; // We can't remove elements directly from filesData
                 }
                 var $selected = $iframe.find('.selected');
@@ -2462,7 +2471,7 @@ define([
                     paths.push($(elmt).data('path'));
                 });
                 // If we are in the trash or anon pad or if we are holding the "shift" key, delete permanently,
-                if (!Cryptpad.isLoggedIn() || isTrash || e.shiftKey) {
+                if (!APP.loggedIn || isTrash || e.shiftKey) {
                     var msg = Messages._getKey("fm_removeSeveralPermanentlyDialog", [paths.length]);
                     if (paths.length === 1) {
                         msg = Messages.fm_removePermanentlyDialog;
@@ -2616,7 +2625,7 @@ define([
     // don't initialize until the store is ready.
     Cryptpad.ready(function () {
         Cryptpad.reportAppUsage();
-        if (!Cryptpad.isLoggedIn()) { Cryptpad.feedback('ANONYMOUS_DRIVE'); }
+        if (!APP.loggedIn) { Cryptpad.feedback('ANONYMOUS_DRIVE'); }
         APP.$bar = $iframe.find('#toolbar');
 
         var storeObj = Cryptpad.getStore().getProxy && Cryptpad.getStore().getProxy().proxy ? Cryptpad.getStore().getProxy() : undefined;
@@ -2752,6 +2761,7 @@ define([
             };
             var $hist = Cryptpad.createButton('history', true, {histConfig: histConfig});
             $rightside.append($hist);
+            if (!APP.loggedIn) { $hist.hide(); }
 
             if (!readOnly && !APP.loggedIn) {
                 var $backupButton = Cryptpad.createButton('', true).removeClass('fa').removeClass('fa-question');

From 0e5885939326f1c333c49cdb87f35b447af879e4 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 15 May 2017 13:55:40 +0200
Subject: [PATCH 061/236] Fix lint error

---
 www/common/common-hash.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index d79f7c523..e38fa088e 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -34,7 +34,7 @@ define([
     var getFileHashFromKeys = Hash.getFileHashFromKeys = function (fileKey, cryptKey) {
         return '/1/' + hexToBase64(fileKey) + '/' + Crypto.b64RemoveSlashes(cryptKey) + '/';
     };
-    var getUserHrefFromKeys = Hash.getUserHrefFromKeys = function (username, pubkey) {
+    Hash.getUserHrefFromKeys = function (username, pubkey) {
         return window.location.origin + '/user/#/1/' + username + '/' + pubkey.replace(/\//g, '-');
     };
 

From 8172f117a7077d9d8922480452052423b47ea97b Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 15 May 2017 14:21:15 +0200
Subject: [PATCH 062/236] Fix Hash.alert not a function

---
 www/common/common-hash.js | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index e38fa088e..c6bf29ce9 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -1,8 +1,9 @@
 define([
     '/common/common-util.js',
+    '/common/common-interface.js',
     '/bower_components/chainpad-crypto/crypto.js',
     '/bower_components/tweetnacl/nacl-fast.min.js'
-], function (Util, Crypto) {
+], function (Util, UI, Crypto) {
     var Nacl = window.nacl;
 
     var Hash = {};
@@ -176,14 +177,14 @@ Version 1
                         secret.keys = Crypto.createEditCryptor(parsed.key);
                         secret.key = secret.keys.editKeyStr;
                         if (secret.channel.length !== 32 || secret.key.length !== 24) {
-                            Hash.alert("The channel key and/or the encryption key is invalid");
+                            UI.alert("The channel key and/or the encryption key is invalid");
                             throw new Error("The channel key and/or the encryption key is invalid");
                         }
                     }
                     else if (parsed.mode === 'view') {
                         secret.keys = Crypto.createViewCryptor(parsed.key);
                         if (secret.channel.length !== 32) {
-                            Hash.alert("The channel key is invalid");
+                            UI.alert("The channel key is invalid");
                             throw new Error("The channel key is invalid");
                         }
                     }

From 48496416e7c27351cf7a411c6767aa8151376ab9 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 15 May 2017 14:46:17 +0200
Subject: [PATCH 063/236] Use the same font-size for all the toolbar buttons

---
 customize.dist/src/less/toolbar.less   |  1 +
 customize.dist/src/less/variables.less |  1 +
 customize.dist/toolbar.css             |  1 +
 www/drive/file.css                     | 16 +++++++++-------
 www/drive/file.less                    | 20 +++++++++++++-------
 5 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/customize.dist/src/less/toolbar.less b/customize.dist/src/less/toolbar.less
index a199730cd..d3aed088c 100644
--- a/customize.dist/src/less/toolbar.less
+++ b/customize.dist/src/less/toolbar.less
@@ -42,6 +42,7 @@
     }
 
     button {
+        font-size: @toolbar-button-font-size;
         &#shareButton, &.buttonSuccess {
             // Bootstrap 4 colors
             color: #fff;
diff --git a/customize.dist/src/less/variables.less b/customize.dist/src/less/variables.less
index 8a0b4222e..097c76536 100644
--- a/customize.dist/src/less/variables.less
+++ b/customize.dist/src/less/variables.less
@@ -72,6 +72,7 @@
 
 @toolbar-gradient-start: #f5f5f5;
 @toolbar-gradient-end: #DDDDDD;
+@toolbar-button-font-size: 14px;
 
 @topbar-back: #fff;
 @topbar-color: #000;
diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css
index d2385dfc1..96c401534 100644
--- a/customize.dist/toolbar.css
+++ b/customize.dist/toolbar.css
@@ -118,6 +118,7 @@
   float: right;
 }
 .cryptpad-toolbar button {
+  font-size: 14px;
   border: 1px solid transparent;
   border-radius: .25rem;
   color: #292b2c;
diff --git a/www/drive/file.css b/www/drive/file.css
index 7ef0adc5e..32ad48108 100644
--- a/www/drive/file.css
+++ b/www/drive/file.css
@@ -450,7 +450,7 @@ span.fa-folder-open {
 #driveToolbar {
   background: #ddd;
   color: #555;
-  height: 40px;
+  height: 30px;
   display: flex;
   flex-flow: row;
   border-top: 1px solid #ccc;
@@ -458,6 +458,7 @@ span.fa-folder-open {
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
   z-index: 100;
   box-sizing: content-box;
+  padding: 0 6px;
   /* The container <div> - needed to position the dropdown content */
 }
 #driveToolbar .newPadContainer {
@@ -465,24 +466,25 @@ span.fa-folder-open {
   height: 100%;
 }
 #driveToolbar button {
-  height: 26px;
+  height: 24px;
+  font-size: 14px;
 }
 #driveToolbar button.element {
   border-radius: 2px;
   background: #888;
   color: #eee;
-  font-size: 16px;
-  border: none;
+  font-size: 14px;
+  border: 1px solid #888;
   font-weight: bold;
 }
 #driveToolbar button.element:hover {
-  box-shadow: 0px 0px 2px #000;
+  background: #777;
 }
 #driveToolbar button.new {
   padding: 0 5px;
 }
 #driveToolbar .dropdown-bar {
-  margin: 5px 5px;
+  margin: 2px 2px;
   line-height: 1em;
   position: relative;
   display: inline-block;
@@ -516,7 +518,7 @@ span.fa-folder-open {
 #driveToolbar .path {
   display: inline-block;
   height: 100%;
-  line-height: 40px;
+  line-height: 30px;
   cursor: default;
   width: auto;
   overflow: hidden;
diff --git a/www/drive/file.less b/www/drive/file.less
index 825d465b4..a09f02981 100644
--- a/www/drive/file.less
+++ b/www/drive/file.less
@@ -17,10 +17,14 @@
 @toolbar-fg: #555;
 @toolbar-border-col: #ccc;
 @toolbar-button-bg: #888;
+@toolbar-button-border: #888;
+@toolbar-button-bg-hover: #777;
 @toolbar-button-fg: #eee;
 @toolbar-path-bg: #fff;
 @toolbar-path-border: #888;
 
+@button-font-size: 14px;
+
 @size-mobile: 600px;
 
 /* PAGE */
@@ -515,7 +519,7 @@ span {
 #driveToolbar {
     background: @toolbar-bg;
     color: @toolbar-fg;
-    height: 40px;
+    height: 30px;
     display: flex;
     flex-flow: row;
     border-top: 1px solid @toolbar-border-col;
@@ -523,6 +527,7 @@ span {
     box-shadow: 0 2px 4px rgba(0,0,0,0.2);
     z-index: 100;
     box-sizing: content-box;
+    padding: 0 6px;
 
     .newPadContainer {
         display: inline-block;
@@ -530,16 +535,17 @@ span {
     }
 
     button {
-        height: 26px;
+        height: 24px;
+        font-size: @button-font-size;
         &.element {
             border-radius: 2px;
             background: @toolbar-button-bg;
             color: @toolbar-button-fg;
-            font-size: 16px;
-            border: none;
+            font-size: 14px;
+            border: 1px solid @toolbar-button-border;
             font-weight: bold;
             &:hover {
-                box-shadow: 0px 0px 2px #000;
+                background: @toolbar-button-bg-hover;
             }
         }
         &.new {
@@ -548,7 +554,7 @@ span {
     }
     /* The container <div> - needed to position the dropdown content */
     .dropdown-bar {
-        margin: 5px 5px;
+        margin: 2px 2px;
         line-height: 1em;
         position: relative;
         display: inline-block;
@@ -583,7 +589,7 @@ span {
     .path {
         display: inline-block;
         height: 100%;
-        line-height: 40px;
+        line-height: 30px;
         cursor: default;
         width: auto;
         overflow: hidden;

From 0f37d9def7ae5f23d7a806585da3099e748a3123 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 15 May 2017 14:53:51 +0200
Subject: [PATCH 064/236] Change the button font size in the toolbar

---
 customize.dist/src/less/variables.less | 2 +-
 customize.dist/toolbar.css             | 2 +-
 www/drive/file.css                     | 2 +-
 www/drive/file.less                    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/customize.dist/src/less/variables.less b/customize.dist/src/less/variables.less
index 097c76536..8bf6dc502 100644
--- a/customize.dist/src/less/variables.less
+++ b/customize.dist/src/less/variables.less
@@ -72,7 +72,7 @@
 
 @toolbar-gradient-start: #f5f5f5;
 @toolbar-gradient-end: #DDDDDD;
-@toolbar-button-font-size: 14px;
+@toolbar-button-font-size: 12px;
 
 @topbar-back: #fff;
 @topbar-color: #000;
diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css
index 96c401534..d08954236 100644
--- a/customize.dist/toolbar.css
+++ b/customize.dist/toolbar.css
@@ -118,7 +118,7 @@
   float: right;
 }
 .cryptpad-toolbar button {
-  font-size: 14px;
+  font-size: 12px;
   border: 1px solid transparent;
   border-radius: .25rem;
   color: #292b2c;
diff --git a/www/drive/file.css b/www/drive/file.css
index 32ad48108..0868dae98 100644
--- a/www/drive/file.css
+++ b/www/drive/file.css
@@ -467,7 +467,7 @@ span.fa-folder-open {
 }
 #driveToolbar button {
   height: 24px;
-  font-size: 14px;
+  font-size: 12px;
 }
 #driveToolbar button.element {
   border-radius: 2px;
diff --git a/www/drive/file.less b/www/drive/file.less
index a09f02981..138f6eec2 100644
--- a/www/drive/file.less
+++ b/www/drive/file.less
@@ -23,7 +23,7 @@
 @toolbar-path-bg: #fff;
 @toolbar-path-border: #888;
 
-@button-font-size: 14px;
+@button-font-size: 12px;
 
 @size-mobile: 600px;
 

From 716245f8646f939acc2da74e112f3b622de0137b Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 15 May 2017 16:16:50 +0200
Subject: [PATCH 065/236] Make all the buttons look the same

---
 customize.dist/main.css                |  1 +
 customize.dist/src/less/dropdown.less  |  1 +
 customize.dist/src/less/toolbar.less   | 15 ++++++++++++---
 customize.dist/src/less/variables.less |  2 +-
 customize.dist/toolbar.css             | 12 ++++++++++--
 www/drive/file.css                     |  9 ++++++++-
 www/drive/file.less                    | 12 +++++++++---
 www/pad/inner.html                     |  1 +
 8 files changed, 43 insertions(+), 10 deletions(-)

diff --git a/customize.dist/main.css b/customize.dist/main.css
index d54ec6a98..0f2de7ab9 100644
--- a/customize.dist/main.css
+++ b/customize.dist/main.css
@@ -413,6 +413,7 @@
   font-family: FontAwesome;
 }
 .dropdown-bar button .fa-caret-down {
+  margin-right: 0px;
   margin-left: 5px;
 }
 .dropdown-bar .dropdown-bar-content {
diff --git a/customize.dist/src/less/dropdown.less b/customize.dist/src/less/dropdown.less
index 79a7edbec..2d93bba8b 100644
--- a/customize.dist/src/less/dropdown.less
+++ b/customize.dist/src/less/dropdown.less
@@ -18,6 +18,7 @@
 
     button {
         .fa-caret-down{
+            margin-right: 0px;
             margin-left: 5px;
         }
     }
diff --git a/customize.dist/src/less/toolbar.less b/customize.dist/src/less/toolbar.less
index d3aed088c..15ab91911 100644
--- a/customize.dist/src/less/toolbar.less
+++ b/customize.dist/src/less/toolbar.less
@@ -28,7 +28,10 @@
     box-sizing: border-box;
     padding: 0px 6px;
 
-    .fa {font-family: FontAwesome;}
+    .fa {
+        font: normal normal normal 14px/1 FontAwesome;
+        font-family: FontAwesome;
+    }
 
     .unselectable;
 
@@ -42,7 +45,10 @@
     }
 
     button {
-        font-size: @toolbar-button-font-size;
+        font: @toolbar-button-font;
+        * {
+            font: @toolbar-button-font;
+        }
         &#shareButton, &.buttonSuccess {
             // Bootstrap 4 colors
             color: #fff;
@@ -84,7 +90,7 @@
         // Bootstrap 4 colors (btn-secondary)
         border: 1px solid transparent;
         border-radius: .25rem;
-        color: #292b2c;
+        color: #000;
         background-color: #fff;
         border-color: #ccc;
         &:hover {
@@ -166,6 +172,7 @@
         margin: 3px;
         vertical-align: top;
         box-sizing: content-box;
+        text-align: center;
         span {
             display: inline-block;
             width: 4px;
@@ -233,6 +240,7 @@
         padding-right: 5px;
         padding-left: 5px;
         margin: 3px 2px;
+        box-sizing: border-box;
     }
 
     .dropdown-bar-content {
@@ -493,6 +501,7 @@
     margin: 8px;
     line-height: 16px;
     font-size: 16px;
+    text-align: center;
 }
 .cryptpad-readonly {
     margin-right: 5px;
diff --git a/customize.dist/src/less/variables.less b/customize.dist/src/less/variables.less
index 8bf6dc502..43bcb393b 100644
--- a/customize.dist/src/less/variables.less
+++ b/customize.dist/src/less/variables.less
@@ -72,7 +72,7 @@
 
 @toolbar-gradient-start: #f5f5f5;
 @toolbar-gradient-end: #DDDDDD;
-@toolbar-button-font-size: 12px;
+@toolbar-button-font: 12px Ubuntu, Arial, sans-serif;
 
 @topbar-back: #fff;
 @topbar-color: #000;
diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css
index d08954236..3d7e0df0b 100644
--- a/customize.dist/toolbar.css
+++ b/customize.dist/toolbar.css
@@ -7,6 +7,7 @@
   font-family: FontAwesome;
 }
 .dropdown-bar button .fa-caret-down {
+  margin-right: 0px;
   margin-left: 5px;
 }
 .dropdown-bar .dropdown-bar-content {
@@ -112,19 +113,23 @@
   z-index: 9001;
 }
 .cryptpad-toolbar .fa {
+  font: normal normal normal 14px/1 FontAwesome;
   font-family: FontAwesome;
 }
 .cryptpad-toolbar a {
   float: right;
 }
 .cryptpad-toolbar button {
-  font-size: 12px;
+  font: 12px Ubuntu, Arial, sans-serif;
   border: 1px solid transparent;
   border-radius: .25rem;
-  color: #292b2c;
+  color: #000;
   background-color: #fff;
   border-color: #ccc;
 }
+.cryptpad-toolbar button * {
+  font: 12px Ubuntu, Arial, sans-serif;
+}
 .cryptpad-toolbar button#shareButton,
 .cryptpad-toolbar button.buttonSuccess {
   color: #fff;
@@ -240,6 +245,7 @@
   margin: 3px;
   vertical-align: top;
   box-sizing: content-box;
+  text-align: center;
 }
 .cryptpad-toolbar .cryptpad-lag span {
   display: inline-block;
@@ -315,6 +321,7 @@
   padding-right: 5px;
   padding-left: 5px;
   margin: 3px 2px;
+  box-sizing: border-box;
 }
 .cryptpad-toolbar .dropdown-bar-content {
   margin-top: -3px;
@@ -567,6 +574,7 @@
   margin: 8px;
   line-height: 16px;
   font-size: 16px;
+  text-align: center;
 }
 .cryptpad-readonly {
   margin-right: 5px;
diff --git a/www/drive/file.css b/www/drive/file.css
index 0868dae98..946167d43 100644
--- a/www/drive/file.css
+++ b/www/drive/file.css
@@ -467,7 +467,14 @@ span.fa-folder-open {
 }
 #driveToolbar button {
   height: 24px;
-  font-size: 12px;
+  font: 12px Ubuntu, Arial, sans-serif;
+}
+#driveToolbar button span {
+  font: 12px Ubuntu, Arial, sans-serif;
+}
+#driveToolbar button .fa,
+#driveToolbar button.fa {
+  font-family: FontAwesome;
 }
 #driveToolbar button.element {
   border-radius: 2px;
diff --git a/www/drive/file.less b/www/drive/file.less
index 138f6eec2..7ea8ecb97 100644
--- a/www/drive/file.less
+++ b/www/drive/file.less
@@ -1,3 +1,5 @@
+@import "../../customize.dist/src/less/variables.less";
+
 @tree-bg: #fff;
 @tree-fg: #000;
 @tree-lines-col: #888;
@@ -23,8 +25,6 @@
 @toolbar-path-bg: #fff;
 @toolbar-path-border: #888;
 
-@button-font-size: 12px;
-
 @size-mobile: 600px;
 
 /* PAGE */
@@ -536,7 +536,13 @@ span {
 
     button {
         height: 24px;
-        font-size: @button-font-size;
+        font: @toolbar-button-font;
+        span {
+            font: @toolbar-button-font;
+        }
+        .fa, &.fa {
+            font-family: FontAwesome;
+        }
         &.element {
             border-radius: 2px;
             background: @toolbar-button-bg;
diff --git a/www/pad/inner.html b/www/pad/inner.html
index 9d649f85e..c43af938c 100644
--- a/www/pad/inner.html
+++ b/www/pad/inner.html
@@ -12,6 +12,7 @@
     }
     #cke_1_top {
         overflow: visible;
+        padding: 0 6px;
     }
     #cke_1_toolbox {
         display: inline-block;

From 2dd04f76313417aa81ea1ad17e8caeda881f3047 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 15 May 2017 18:03:12 +0200
Subject: [PATCH 066/236] get limits from the server

---
 www/common/cryptpad-common.js | 13 ++++++++++---
 www/common/pinpad.js          |  6 +++---
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index e6a48ebe2..91d000efb 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -743,13 +743,20 @@ define([
 
     common.updatePinLimit = function (cb) {
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
-        rpc.updatePinLimits(cb);
+        rpc.updatePinLimits(function (e, limit) {
+            if (e) { return cb(e); }
+            var MB = common.bytesToMegabytes(limit);
+            cb(e, MB);
+        });
     };
 
     common.getPinLimit = function (cb) {
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
-        cb(void 0, typeof(AppConfig.pinLimit) === 'number'? AppConfig.pinLimit: 1000);
-        //rpc.getLimit(cb); TODO
+        rpc.getLimit(function (e, limit) {
+            if (e) { return cb(e); }
+            var MB = common.bytesToMegabytes(limit);
+            cb(void 0, MB);
+        });
     };
 
     common.isOverPinLimit = function (cb) {
diff --git a/www/common/pinpad.js b/www/common/pinpad.js
index efa915ec7..a7c5c72ee 100644
--- a/www/common/pinpad.js
+++ b/www/common/pinpad.js
@@ -125,7 +125,7 @@ define([
             exp.updatePinLimits = function (cb) {
                 rpc.send('UPDATE_LIMITS', undefined, function (e, response) {
                     if (e) { return void cb(e); }
-                    if (response && typeof response === "number") {
+                    if (response && response.length && typeof(response[0]) === "number") {
                         cb (void 0, response);
                     } else {
                         cb('INVALID_RESPONSE');
@@ -136,8 +136,8 @@ define([
             exp.getLimit = function (cb) {
                 rpc.send('GET_LIMIT', undefined, function (e, response) {
                     if (e) { return void cb(e); }
-                    if (response && typeof response === "number") {
-                        cb (void 0, response);
+                    if (response && response.length && typeof(response[0]) === "number") {
+                        cb (void 0, response[0]);
                     } else {
                         cb('INVALID_RESPONSE');
                     }

From cc893723deb6880663d7fc10c0c7888e3574d5bd Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 15 May 2017 18:10:22 +0200
Subject: [PATCH 067/236] add some TODOs, log uploaded content so we know it's
 working

---
 www/file/main.js | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/www/file/main.js b/www/file/main.js
index e6ab7990c..e8eae01ae 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -44,6 +44,7 @@ define([
 
             chunks.push(box);
             Cryptpad.rpc.send('UPLOAD', enc, function (e, msg) {
+                console.log(box);
                 cb(e, msg);
             });
         };
@@ -93,14 +94,14 @@ define([
             });
         };
 
-        Cryptpad.rpc.send('UPLOAD_STATUS', '', function (e, pending) {
+        Cryptpad.rpc.send('UPLOAD_STATUS', estimate, function (e, pending) {
             if (e) {
                 console.error(e);
-                return void Cryptpad.alert("something went wrong");
+                return void Cryptpad.alert("something went wrong"); // TODO translate
             }
 
             if (pending[0]) {
-                return void Cryptpad.confirm('upload pending, abort?', function (yes) {
+                return void Cryptpad.confirm('upload pending, abort?', function (yes) { // TODO translate
                     if (!yes) { return; }
                     Cryptpad.rpc.send('UPLOAD_CANCEL', '', function (e, res) {
                         if (e) { return void console.error(e); }

From dfe3eac606eac7e8052d22764fb4f678eeba1cba Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 15 May 2017 18:12:10 +0200
Subject: [PATCH 068/236] big rpc refactor:

* support pinning files
* include pinned files in usage calculation
* safer session handling
* fix bugs in limit update code
---
 rpc.js | 171 ++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 97 insertions(+), 74 deletions(-)

diff --git a/rpc.js b/rpc.js
index df9020e6a..bb9e27194 100644
--- a/rpc.js
+++ b/rpc.js
@@ -13,7 +13,7 @@ var RPC = module.exports;
 
 var Store = require("./storage/file");
 
-var DEFAULT_LIMIT = 100;
+var DEFAULT_LIMIT = 50 * 1024 * 1024;
 
 var isValidId = function (chan) {
     return /^[a-fA-F0-9]/.test(chan) ||
@@ -74,12 +74,17 @@ var parseCookie = function (cookie) {
     return c;
 };
 
+var escapeKeyCharacters = function (key) {
+    return key.replace(/\//g, '-');
+};
+
 var beginSession = function (Sessions, key) {
-    if (Sessions[key]) {
-        Sessions[key].atime = +new Date();
-        return Sessions[key];
+    var safeKey = escapeKeyCharacters(key);
+    if (Sessions[safeKey]) {
+        Sessions[safeKey].atime = +new Date();
+        return Sessions[safeKey];
     }
-    var user = Sessions[key] = {};
+    var user = Sessions[safeKey] = {};
     user.atime = +new Date();
     user.tokens = [
         makeToken()
@@ -107,7 +112,7 @@ var expireSessions = function (Sessions) {
 var addTokenForKey = function (Sessions, publicKey, token) {
     if (!Sessions[publicKey]) { throw new Error('undefined user'); }
 
-    var user = Sessions[publicKey];
+    var user = beginSession(Sessions, publicKey);
     user.tokens.push(token);
     user.atime = +new Date();
     if (user.tokens.length > 2) { user.tokens.shift(); }
@@ -129,7 +134,7 @@ var isValidCookie = function (Sessions, publicKey, cookie) {
         return false;
     }
 
-    var user = Sessions[publicKey];
+    var user = beginSession(Sessions, publicKey);
     if (!user) { return false; }
 
     var idx = user.tokens.indexOf(parsed.seq);
@@ -266,15 +271,15 @@ var getUploadSize = function (paths, channel, cb) {
     });
 };
 
-var getFileSize = function (paths, store, channel, cb) {
+var getFileSize = function (paths, msgStore, channel, cb) {
     if (!isValidId(channel)) { return void cb('INVALID_CHAN'); }
 
     if (channel.length === 32) {
-        if (typeof(store.getChannelSize) !== 'function') {
+        if (typeof(msgStore.getChannelSize) !== 'function') {
             return cb('GET_CHANNEL_SIZE_UNSUPPORTED');
         }
 
-        return void store.getChannelSize(channel, function (e, size) {
+        return void msgStore.getChannelSize(channel, function (e, size) {
             if (e) { return void cb(e.code); }
             cb(void 0, size);
         });
@@ -287,9 +292,9 @@ var getFileSize = function (paths, store, channel, cb) {
     });
 };
 
-var getMultipleFileSize = function (paths, store, channels, cb) {
+var getMultipleFileSize = function (paths, msgStore, channels, cb) {
     if (!Array.isArray(channels)) { return cb('INVALID_LIST'); }
-    if (typeof(store.getChannelSize) !== 'function') {
+    if (typeof(msgStore.getChannelSize) !== 'function') {
         return cb('GET_CHANNEL_SIZE_UNSUPPORTED');
     }
 
@@ -302,7 +307,7 @@ var getMultipleFileSize = function (paths, store, channels, cb) {
     };
 
     channels.forEach(function (channel) {
-        getFileSize(paths, store, channel, function (e, size) {
+        getFileSize(paths, msgStore, channel, function (e, size) {
             if (e) {
                 console.error(e);
                 counts[channel] = -1;
@@ -314,7 +319,7 @@ var getMultipleFileSize = function (paths, store, channels, cb) {
     });
 };
 
-var getTotalSize = function (pinStore, messageStore, Sessions, publicKey, cb) {
+var getTotalSize = function (paths, pinStore, msgStore, Sessions, publicKey, cb) {
     var bytes = 0;
 
     return void getChannelList(pinStore, Sessions, publicKey, function (channels) {
@@ -324,7 +329,7 @@ var getTotalSize = function (pinStore, messageStore, Sessions, publicKey, cb) {
         if (!count) { cb(void 0, 0); }
 
         channels.forEach(function (channel) {
-            return messageStore.getChannelSize(channel, function (e, size) {
+            getFileSize(paths, msgStore, channel, function (e, size) {
                 count--;
                 if (!e) { bytes += size; }
                 if (count === 0) { return cb(void 0, bytes); }
@@ -353,18 +358,14 @@ var getHash = function (store, Sessions, publicKey, cb) {
     });
 };
 
-/* var storeMessage = function (store, publicKey, msg, cb) {
-    store.message(publicKey, JSON.stringify(msg), cb);
-}; */
-
 // TODO check if new pinned size exceeds user quota
-var pinChannel = function (store, Sessions, publicKey, channels, cb) {
+var pinChannel = function (pinStore, Sessions, publicKey, channels, cb) {
     if (!channels && channels.filter) {
         // expected array
         return void cb('[TYPE_ERROR] pin expects channel list argument');
     }
 
-    getChannelList(store, Sessions, publicKey, function (pinned) {
+    getChannelList(pinStore, Sessions, publicKey, function (pinned) {
         var session = beginSession(Sessions, publicKey);
 
         // only pin channels which are not already pinned
@@ -373,27 +374,27 @@ var pinChannel = function (store, Sessions, publicKey, channels, cb) {
         });
 
         if (toStore.length === 0) {
-            return void getHash(store, Sessions, publicKey, cb);
+            return void getHash(pinStore, Sessions, publicKey, cb);
         }
 
-        store.message(publicKey, JSON.stringify(['PIN', toStore]),
+        pinStore.message(publicKey, JSON.stringify(['PIN', toStore]),
             function (e) {
             if (e) { return void cb(e); }
             toStore.forEach(function (channel) {
                 session.channels[channel] = true;
             });
-            getHash(store, Sessions, publicKey, cb);
+            getHash(pinStore, Sessions, publicKey, cb);
         });
     });
 };
 
-var unpinChannel = function (store, Sessions, publicKey, channels, cb) {
+var unpinChannel = function (pinStore, Sessions, publicKey, channels, cb) {
     if (!channels && channels.filter) {
         // expected array
         return void cb('[TYPE_ERROR] unpin expects channel list argument');
     }
 
-    getChannelList(store, Sessions, publicKey, function (pinned) {
+    getChannelList(pinStore, Sessions, publicKey, function (pinned) {
         var session = beginSession(Sessions, publicKey);
 
         // only unpin channels which are pinned
@@ -402,35 +403,35 @@ var unpinChannel = function (store, Sessions, publicKey, channels, cb) {
         });
 
         if (toStore.length === 0) {
-            return void getHash(store, Sessions, publicKey, cb);
+            return void getHash(pinStore, Sessions, publicKey, cb);
         }
 
-        store.message(publicKey, JSON.stringify(['UNPIN', toStore]),
+        pinStore.message(publicKey, JSON.stringify(['UNPIN', toStore]),
             function (e) {
             if (e) { return void cb(e); }
             toStore.forEach(function (channel) {
                 delete session.channels[channel];
             });
 
-            getHash(store, Sessions, publicKey, cb);
+            getHash(pinStore, Sessions, publicKey, cb);
         });
     });
 };
 
 // TODO check if new pinned size exceeds user quota
-var resetUserPins = function (store, Sessions, publicKey, channelList, cb) {
+var resetUserPins = function (pinStore, Sessions, publicKey, channelList, cb) {
     var session = beginSession(Sessions, publicKey);
 
     var pins = session.channels = {};
 
-    store.message(publicKey, JSON.stringify(['RESET', channelList]),
+    pinStore.message(publicKey, JSON.stringify(['RESET', channelList]),
         function (e) {
         if (e) { return void cb(e); }
         channelList.forEach(function (channel) {
             pins[channel] = true;
         });
 
-        getHash(store, Sessions, publicKey, function (e, hash) {
+        getHash(pinStore, Sessions, publicKey, function (e, hash) {
             cb(e, hash);
         });
     });
@@ -480,8 +481,8 @@ var updateLimits = function (config, publicKey, cb) {
         }
     };
     var req = Https.request(options, function (response) {
-        if (!('' + req.statusCode).match(/^2\d\d$/)) {
-            return void cb('SERVER ERROR ' + req.statusCode);
+        if (!('' + response.statusCode).match(/^2\d\d$/)) {
+            return void cb('SERVER ERROR ' + response.statusCode);
         }
         var str = '';
 
@@ -514,10 +515,13 @@ var updateLimits = function (config, publicKey, cb) {
 };
 
 var getLimit = function (publicKey, cb) {
-    var limit = limits[publicKey];
+    var unescapedKey = escapeKeyCharacters(publicKey);
+    var limit = limits[unescapedKey];
 
-    cb(void 0, limit && typeof(limit.limit) === "number"?
-        limit.limit : DEFAULT_LIMIT);
+    var toSend = limit && typeof(limit.limit) === "number"?
+        limit.limit : DEFAULT_LIMIT;
+
+    cb(void 0, toSend);
 };
 
 var safeMkdir = function (path, cb) {
@@ -549,22 +553,32 @@ var makeFileStream = function (root, id, cb) {
 
 var upload = function (paths, Sessions, publicKey, content, cb) {
     var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line
+    var len = dec.length;
 
-    // TODO check that the ongoing upload has not exceeded its declared size
-    // TODO fail if it has...
+    var session = beginSession(Sessions, publicKey);
+
+    if (typeof(session.currentUploadSize) !== 'number') {
+        // improperly initialized... maybe they didn't check before uploading?
+        // reject it, just in case
+        return cb('NOT_READY');
+    }
+
+    if (session.currentUploadSize > session.pendingUploadSize) {
+        return cb('TOO_LARGE');
+    }
 
-    var session = Sessions[publicKey];
-    session.atime = +new Date();
     if (!session.blobstage) {
         makeFileStream(paths.staging, publicKey, function (e, stream) {
             if (e) { return void cb(e); }
 
             var blobstage = session.blobstage = stream;
             blobstage.write(dec);
+            session.currentUploadSize += len;
             cb(void 0, dec.length);
         });
     } else {
         session.blobstage.write(dec);
+        session.currentUploadSize += len;
         cb(void 0, dec.length);
     }
 };
@@ -593,14 +607,8 @@ var isFile = function (filePath, cb) {
     });
 };
 
-/*  TODO
-change channel IDs to a different length so that when we pin, we will be able
-to tell that it is not a channel, but a file, just by its length.
-
-also, when your upload is complete, pin the resulting file.
-*/
 var upload_complete = function (paths, Sessions, publicKey, cb) {
-    var session = Sessions[publicKey];
+    var session = beginSession(Sessions, publicKey);
 
     if (session.blobstage && session.blobstage.close) {
         session.blobstage.close();
@@ -639,25 +647,32 @@ var upload_complete = function (paths, Sessions, publicKey, cb) {
                 console.error(e);
                 return cb(e);
             }
-
             cb(void 0, id);
         });
     });
 };
 
-/*  TODO
-when asking about your upload status, also send some information about how big
-your upload is going to be. if that would exceed your limit, return TOO_LARGE
-error.
-
-*/
-var upload_status = function (paths, Sessions, size, publicKey, cb) {
-    // TODO validate that size is within tolerance
+var upload_status = function (paths, pinStore, msgStore, Sessions, publicKey, filesize, cb) {
+    // validate that the provided size is actually a positive number
+    if (typeof(filesize) !== 'number' &&
+        filesize >= 0) { return void cb('E_INVALID_SIZE'); }
 
+    // validate that the provided path is not junk
     var filePath = makeFilePath(paths.staging, publicKey);
     if (!filePath) { return void cb('E_INVALID_PATH'); }
-    isFile(filePath, function (e, yes) {
-        cb(e, yes);
+
+    getLimit(publicKey, function (e, limit) {
+        if (e) { return void cb(e); }
+        getTotalSize(paths, pinStore, msgStore, Sessions, publicKey, function (e, size) {
+            if ((filesize + size) >= limit) { return cb('TOO_LARGE'); }
+            isFile(filePath, function (e, yes) {
+                if (e) {
+                    console.error("uploadError: [%s]", e);
+                    return cb('UNNOWN_ERROR');
+                }
+                cb(e, yes);
+            });
+        });
     });
 };
 
@@ -677,7 +692,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
     var blobPath = paths.blob = keyOrDefaultString('blobPath', './blob');
     var blobStagingPath = paths.staging = keyOrDefaultString('blobStagingPath', './blobstage');
 
-    var store;
+    var pinStore;
 
     var rpc = function (
         ctx /*:{ store: Object }*/,
@@ -725,7 +740,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             return void respond("INVALID_SIGNATURE_OR_PUBLIC_KEY");
         }
 
-        var safeKey = publicKey.replace(/\//g, '-');
+        var safeKey = escapeKeyCharacters(publicKey);
         /*  If you have gotten this far, you have signed the message with the
             public key which you provided.
 
@@ -736,7 +751,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
         msg.shift();
 
         var Respond = function (e, msg) {
-            var token = Sessions[publicKey].tokens.slice(-1)[0];
+            var token = Sessions[safeKey].tokens.slice(-1)[0];
             var cookie = makeCookie(token).join('|');
             respond(e, [cookie].concat(typeof(msg) !== 'undefined' ?msg: []));
         };
@@ -749,33 +764,35 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             Respond('E_ACCESS_DENIED');
         };
 
+        var msgStore = ctx.store;
+
         var handleMessage = function (privileged) {
         switch (msg[0]) {
             case 'COOKIE': return void Respond(void 0);
             case 'RESET':
-                return resetUserPins(store, Sessions, safeKey, msg[1], function (e, hash) {
+                return resetUserPins(pinStore, Sessions, safeKey, msg[1], function (e, hash) {
                     return void Respond(e, hash);
                 });
             case 'PIN': // TODO don't pin if over the limit
                 // if over, send error E_OVER_LIMIT
-                return pinChannel(store, Sessions, safeKey, msg[1], function (e, hash) {
+                return pinChannel(pinStore, Sessions, safeKey, msg[1], function (e, hash) {
                     Respond(e, hash);
                 });
             case 'UNPIN':
-                return unpinChannel(store, Sessions, safeKey, msg[1], function (e, hash) {
+                return unpinChannel(pinStore, Sessions, safeKey, msg[1], function (e, hash) {
                     Respond(e, hash);
                 });
             case 'GET_HASH':
-                return void getHash(store, Sessions, safeKey, function (e, hash) {
+                return void getHash(pinStore, Sessions, safeKey, function (e, hash) {
                     Respond(e, hash);
                 });
             case 'GET_TOTAL_SIZE': // TODO cache this, since it will get called quite a bit
-                return getTotalSize(store, ctx.store, Sessions, safeKey, function (e, size) {
+                return getTotalSize(paths, pinStore, msgStore, Sessions, safeKey, function (e, size) {
                     if (e) { return void Respond(e); }
                     Respond(e, size);
                 });
             case 'GET_FILE_SIZE':
-                return void getFileSize(paths, ctx.store, msg[1], Respond);
+                return void getFileSize(paths, msgStore, msg[1], Respond);
             case 'UPDATE_LIMITS':
                 return void updateLimits(config, safeKey, function (e, limit) {
                     if (e) { return void Respond(e); }
@@ -784,11 +801,10 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             case 'GET_LIMIT':
                 return void getLimit(safeKey, function (e, limit) {
                     if (e) { return void Respond(e); }
-                    limit = limit;
                     Respond(void 0, limit);
                 });
             case 'GET_MULTIPLE_FILE_SIZE':
-                return void getMultipleFileSize(paths, ctx.store, msg[1], function (e, dict) {
+                return void getMultipleFileSize(paths, msgStore, msg[1], function (e, dict) {
                     if (e) { return void Respond(e); }
                     Respond(void 0, dict);
                 });
@@ -801,8 +817,15 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                 });
             case 'UPLOAD_STATUS':
                 if (!privileged) { return deny(); }
-                return void upload_status(paths, Sessions, safeKey, msg[1], function (e, stat) {
-                    Respond(e, stat);
+                var filesize = msg[1];
+                return void upload_status(paths, pinStore, msgStore, Sessions, safeKey, msg[1], function (e, yes) {
+                    if (!e && !yes) {
+                        // no pending uploads, set the new size
+                        var user = beginSession(Sessions, safeKey);
+                        user.pendingUploadSize = filesize;
+                        user.currentUploadSize = 0;
+                    }
+                    Respond(e, yes);
                 });
             case 'UPLOAD_COMPLETE':
                 if (!privileged) { return deny(); }
@@ -830,7 +853,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
         }
 
         // if session has not been authenticated, do so
-        var session = Sessions[publicKey];
+        var session = beginSession(Sessions, safeKey);
         if (typeof(session.privilege) !== 'boolean') {
             return void isPrivilegedUser(publicKey, function (yes) {
                 session.privilege = yes;
@@ -853,7 +876,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
     Store.create({
         filePath: pinPath,
     }, function (s) {
-        store = s;
+        pinStore = s;
 
         safeMkdir(blobPath, function (e) {
             if (e) { throw e; }

From dc2cdb7c08ef1909ab5ff9759a7add3bdbcf699c Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 15 May 2017 18:16:22 +0200
Subject: [PATCH 069/236] Add the usage bar in the settings page

---
 customize.dist/main.css               | 44 +++++++++++++++++++++++-
 customize.dist/src/less/cryptpad.less | 49 ++++++++++++++++++++++++++-
 customize.dist/src/less/toolbar.less  | 37 --------------------
 customize.dist/toolbar.css            | 37 --------------------
 www/common/cryptpad-common.js         | 44 ++++++++++++++++++++++++
 www/drive/file.css                    |  2 +-
 www/drive/file.less                   |  2 +-
 www/drive/main.js                     | 43 +++--------------------
 www/settings/main.js                  | 27 ++++-----------
 9 files changed, 147 insertions(+), 138 deletions(-)

diff --git a/customize.dist/main.css b/customize.dist/main.css
index 0f2de7ab9..6ec0172ea 100644
--- a/customize.dist/main.css
+++ b/customize.dist/main.css
@@ -577,7 +577,7 @@ html.cp,
   font-size: .875em;
   background-color: #fafafa;
   color: #555;
-  font-family: Georgia,Cambria,serif;
+  font-family: Ubuntu,Georgia,Cambria,serif;
   height: 100%;
 }
 .cp {
@@ -1090,6 +1090,48 @@ html.cp,
   color: #FA5858;
   cursor: pointer !important;
 }
+/* Pin limit */
+.limit-container .cryptpad-limit-bar {
+  display: inline-block;
+  height: 26px;
+  width: 200px;
+  margin: 2px;
+  box-sizing: border-box;
+  border: 1px solid #999;
+  background: white;
+  position: relative;
+  text-align: center;
+  line-height: 24px;
+  vertical-align: middle;
+}
+.limit-container .cryptpad-limit-bar .usage {
+  height: 24px;
+  display: inline-block;
+  background: blue;
+  position: absolute;
+  left: 0;
+  z-index: 1;
+}
+.limit-container .cryptpad-limit-bar .usage.normal {
+  background: #5cb85c;
+}
+.limit-container .cryptpad-limit-bar .usage.warning {
+  background: orange;
+}
+.limit-container .cryptpad-limit-bar .usage.above {
+  background: red;
+}
+.limit-container .cryptpad-limit-bar .usageText {
+  position: relative;
+  color: black;
+  text-shadow: 1px 0 2px white, 0 1px 2px white, -1px 0 2px white, 0 -1px 2px white;
+  z-index: 2;
+  font-size: 16px;
+  font-weight: bold;
+}
+.limit-container .upgrade {
+  margin-left: 10px;
+}
 #cors-store {
   display: none;
 }
diff --git a/customize.dist/src/less/cryptpad.less b/customize.dist/src/less/cryptpad.less
index db8af27ce..883e62ce4 100644
--- a/customize.dist/src/less/cryptpad.less
+++ b/customize.dist/src/less/cryptpad.less
@@ -8,12 +8,14 @@
 @import "./topbar.less";
 @import "./footer.less";
 
+@toolbar-green: #5cb85c;
+
 html.cp, .cp body {
     font-size: .875em;
     background-color: @page-white; //@base;
     color: @fore;
 
-    font-family: Georgia,Cambria,serif;
+    font-family: Ubuntu,Georgia,Cambria,serif;
     height: 100%;
 }
 
@@ -536,6 +538,51 @@ noscript {
 }
 }
 
+/* Pin limit */
+.limit-container {
+    .cryptpad-limit-bar {
+        display: inline-block;
+        height: 26px;
+        width: 200px;
+        margin: 2px;
+        box-sizing: border-box;
+        border: 1px solid #999;
+        background: white;
+        position: relative;
+        text-align: center;
+        line-height: 24px;
+        vertical-align: middle;
+        .usage {
+            height: 24px;
+            display: inline-block;
+            background: blue;
+            position: absolute;
+            left: 0;
+            z-index:1;
+            &.normal {
+                background: @toolbar-green;
+            }
+            &.warning {
+                background: orange;
+            }
+            &.above {
+                background: red;
+            }
+        }
+        .usageText {
+            position: relative;
+            color: black;
+            text-shadow: 1px 0 2px white, 0 1px 2px white, -1px 0 2px white, 0 -1px 2px white;
+            z-index: 2;
+            font-size: 16px;
+            font-weight: bold;
+        }
+    }
+    .upgrade {
+        margin-left: 10px;
+    }
+}
+
 // hack for our cross-origin iframe
 #cors-store {
     display: none;
diff --git a/customize.dist/src/less/toolbar.less b/customize.dist/src/less/toolbar.less
index 15ab91911..c216e2835 100644
--- a/customize.dist/src/less/toolbar.less
+++ b/customize.dist/src/less/toolbar.less
@@ -105,43 +105,6 @@
         vertical-align: top;
         margin-left: 10px;
     }
-    .cryptpad-drive-limit {
-        display: inline-block;
-        height: 26px;
-        width: 200px;
-        margin: 2px;
-        box-sizing: border-box;
-        border: 1px solid #999;
-        background: white;
-        position: relative;
-        text-align: center;
-        line-height: 24px;
-        .usage {
-            height: 24px;
-            display: inline-block;
-            background: blue;
-            position: absolute;
-            left: 0;
-            z-index:1;
-            &.normal {
-                background: @toolbar-green;
-            }
-            &.warning {
-                background: orange;
-            }
-            &.above {
-                background: red;
-            }
-        }
-        .usageText {
-            position: relative;
-            color: black;
-            text-shadow: 1px 0 2px white, 0 1px 2px white, -1px 0 2px white, 0 -1px 2px white;
-            z-index: 2;
-            font-size: 16px;
-            font-weight: bold;
-        }
-    }
     .cryptpad-limit {
         box-sizing: border-box;
         height: 26px;
diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css
index 3d7e0df0b..2b80dc69c 100644
--- a/customize.dist/toolbar.css
+++ b/customize.dist/toolbar.css
@@ -183,43 +183,6 @@
   vertical-align: top;
   margin-left: 10px;
 }
-.cryptpad-toolbar .cryptpad-drive-limit {
-  display: inline-block;
-  height: 26px;
-  width: 200px;
-  margin: 2px;
-  box-sizing: border-box;
-  border: 1px solid #999;
-  background: white;
-  position: relative;
-  text-align: center;
-  line-height: 24px;
-}
-.cryptpad-toolbar .cryptpad-drive-limit .usage {
-  height: 24px;
-  display: inline-block;
-  background: blue;
-  position: absolute;
-  left: 0;
-  z-index: 1;
-}
-.cryptpad-toolbar .cryptpad-drive-limit .usage.normal {
-  background: #5cb85c;
-}
-.cryptpad-toolbar .cryptpad-drive-limit .usage.warning {
-  background: orange;
-}
-.cryptpad-toolbar .cryptpad-drive-limit .usage.above {
-  background: red;
-}
-.cryptpad-toolbar .cryptpad-drive-limit .usageText {
-  position: relative;
-  color: black;
-  text-shadow: 1px 0 2px white, 0 1px 2px white, -1px 0 2px white, 0 -1px 2px white;
-  z-index: 2;
-  font-size: 16px;
-  font-weight: bold;
-}
 .cryptpad-toolbar .cryptpad-limit {
   box-sizing: border-box;
   height: 26px;
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index a5ca2907e..c6c396c00 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -772,6 +772,50 @@ define([
         common.getPinnedUsage(todo);
     };
 
+    var LIMIT_REFRESH_RATE = 30000; // milliseconds
+    common.createUsageBar = function (cb) {
+        var todo = function (err, state, data) {
+            var $container = $('<span>', {'class':'limit-container'});
+            if (!data) {
+                return void window.setTimeout(function () {
+                    Cryptpad.isOverPinLimit(todo);
+                }, LIMIT_REFRESH_RATE);
+            }
+            var usage = data.usage;
+            var limit = data.limit;
+            var unit = Messages.MB;
+            var $limit = $('<span>', {'class': 'cryptpad-limit-bar'}).appendTo($container);
+            var quota = usage/limit;
+            var width = Math.floor(Math.min(quota, 1)*200); // the bar is 200px width
+            var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px');
+
+            if (quota >= 0.8) {
+                var origin = encodeURIComponent(window.location.origin);
+                var $upgradeLink = $('<a>', {
+                    href: "https://account.cryptpad.fr/#!on=" + origin,
+                    rel: "noreferrer noopener",
+                    target: "_blank",
+                }).appendTo($container);
+                $('<button>', {
+                    'class': 'upgrade buttonSuccess',
+                    title: Messages.upgradeTitle
+                }).text(Messages.upgrade).appendTo($upgradeLink);
+            }
+
+            if (quota < 0.8) { $usage.addClass('normal'); }
+            else if (quota < 1) { $usage.addClass('warning'); }
+            else { $usage.addClass('above'); }
+            var $text = $('<span>', {'class': 'usageText'});
+            $text.text(usage + ' / ' + limit + ' ' + unit);
+            $limit.append($usage).append($text);
+            window.setTimeout(function () {
+                Cryptpad.isOverPinLimit(todo);
+            }, LIMIT_REFRESH_RATE);
+            cb(err, $container);
+        };
+        Cryptpad.isOverPinLimit(todo);
+    };
+
     common.createButton = function (type, rightside, data, callback) {
         var button;
         var size = "17px";
diff --git a/www/drive/file.css b/www/drive/file.css
index 946167d43..acfdfeeda 100644
--- a/www/drive/file.css
+++ b/www/drive/file.css
@@ -547,7 +547,7 @@ span.fa-folder-open {
 }
 #driveToolbar #contextButtonsContainer {
   float: right;
-  margin: 5px;
+  margin: 2px;
 }
 #driveToolbar #contextButtonsContainer button {
   vertical-align: top;
diff --git a/www/drive/file.less b/www/drive/file.less
index 7ea8ecb97..bf3bb294a 100644
--- a/www/drive/file.less
+++ b/www/drive/file.less
@@ -617,7 +617,7 @@ span {
     }
     #contextButtonsContainer {
         float: right;
-        margin: 5px;
+        margin: 2px;
         button {
             vertical-align: top;
         }
diff --git a/www/drive/main.js b/www/drive/main.js
index af2974767..1b71bc99c 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -37,7 +37,6 @@ define([
         return JSONSortify(obj);
     };
 
-    var LIMIT_REFRESH_RATE = 30000; // milliseconds
     var E_OVER_LIMIT = 'E_OVER_LIMIT';
 
     var SEARCH = "search";
@@ -2703,45 +2702,11 @@ define([
 
             /* add the usage */
             if (AppConfig.enablePinLimit) {
-                var todo = function (err, state, data) {
+                Cryptpad.createUsageBar(function (err, $limitContainer) {
+                    if (err) { return void logError(err); }
                     $leftside.html('');
-                    if (!data) {
-                        return void window.setTimeout(function () {
-                            Cryptpad.isOverPinLimit(todo);
-                        }, LIMIT_REFRESH_RATE);
-                    }
-                    var usage = data.usage;
-                    var limit = data.limit;
-                    var unit = Messages.MB;
-                    var $limit = $('<span>', {'class': 'cryptpad-drive-limit'}).appendTo($leftside);
-                    var quota = usage/limit;
-                    var width = Math.floor(Math.min(quota, 1)*$limit.width());
-                    var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px');
-
-                    if (quota >= 0.8) {
-                        var origin = encodeURIComponent(window.location.origin);
-                        var $upgradeLink = $('<a>', {
-                            href: "https://account.cryptpad.fr/#!on=" + origin,
-                            rel: "noreferrer noopener",
-                            target: "_blank",
-                        }).appendTo($leftside);
-                        $('<button>', {
-                            'class': 'upgrade buttonSuccess',
-                            title: Messages.upgradeTitle
-                        }).text(Messages.upgrade).appendTo($upgradeLink);
-                    }
-
-                    if (quota < 0.8) { $usage.addClass('normal'); }
-                    else if (quota < 1) { $usage.addClass('warning'); }
-                    else { $usage.addClass('above'); }
-                    var $text = $('<span>', {'class': 'usageText'});
-                    $text.text(usage + ' / ' + limit + ' ' + unit);
-                    $limit.append($usage).append($text);
-                    window.setTimeout(function () {
-                        Cryptpad.isOverPinLimit(todo);
-                    }, LIMIT_REFRESH_RATE);
-                };
-                Cryptpad.isOverPinLimit(todo);
+                    $leftside.append($limitContainer);
+                });
             }
 
             /* add a history button */
diff --git a/www/settings/main.js b/www/settings/main.js
index 6a14fe819..dd3f59b4e 100644
--- a/www/settings/main.js
+++ b/www/settings/main.js
@@ -230,26 +230,11 @@ define([
             .text(Messages.settings_usageTitle)
             .append('<br>');
 
-        $('<button>', {
-            'class': 'btn btn-primary', // fa fa-hdd-o ?
-        })
-        .text(Messages.settings_usage)
-        .click(function () {
-            if (!(proxy.edPublic && proxy.edPrivate)) {
-                // suggest that they login/register
-                Cryptpad.alert(Messages.settings_pinningNotAvailable);
-                return;
-            }
-            Cryptpad.getPinnedUsage(function (e, bytes) {
-                if (e) {
-                    Cryptpad.alert(Messages.settings_pinningError);
-                    return;
-                }
-                Cryptpad.alert(Messages._getKey('settings_usageAmount', [Cryptpad.bytesToMegabytes(bytes)]));
-            });
-        })
-        .appendTo($div);
-
+        Cryptpad.createUsageBar(function (err, $bar) {
+            $div.find('.limit-container').remove();
+            $bar.find('.upgrade').addClass('btn btn-success');
+            $div.append($bar);
+        });
         return $div;
     };
 
@@ -335,10 +320,10 @@ define([
             APP.$container.append(createLogoutEverywhere(obj));
         }
         APP.$container.append(createResetTips());
+        APP.$container.append(createUsageButton(obj));
         APP.$container.append(createBackupDrive(obj));
         APP.$container.append(createImportLocalPads(obj));
         APP.$container.append(createResetDrive(obj));
-        APP.$container.append(createUsageButton(obj));
         APP.$container.append(createUserFeedbackToggle(obj));
         obj.proxy.on('change', [], refresh);
         obj.proxy.on('remove', [], refresh);

From 7ee6864ea4dc6ba6f3c40bfe78b927d65bf555e4 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 15 May 2017 18:21:11 +0200
Subject: [PATCH 070/236] Add the user menu in the login and register pages

---
 www/login/index.html    | 1 +
 www/login/main.js       | 8 ++++++++
 www/register/index.html | 1 +
 www/register/main.js    | 8 ++++++++
 4 files changed, 18 insertions(+)

diff --git a/www/login/index.html b/www/login/index.html
index cd39e6395..e01c78a09 100644
--- a/www/login/index.html
+++ b/www/login/index.html
@@ -18,6 +18,7 @@
         </a>
     </span>
 
+    <span id="user-menu" class="right dropdown-bar"></span>
     <span id="language-selector" class="right dropdown-bar"></span>
     <span class="right">
         <a href="/about.html" data-localization="about">About</a>
diff --git a/www/login/main.js b/www/login/main.js
index 7a677cebb..194c824ac 100644
--- a/www/login/main.js
+++ b/www/login/main.js
@@ -13,6 +13,14 @@ define([
         $sel.find('button').addClass('btn').addClass('btn-secondary');
         $sel.show();
 
+        // User admin menu
+        var $userMenu = $('#user-menu');
+        var userMenuCfg = {
+            $initBlock: $userMenu
+        };
+        var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg);
+        $userAdmin.find('button').addClass('btn').addClass('btn-secondary');
+
         $(window).click(function () {
             $('.cryptpad-dropdown').hide();
         });
diff --git a/www/register/index.html b/www/register/index.html
index 8e2a59d48..dd9765423 100644
--- a/www/register/index.html
+++ b/www/register/index.html
@@ -17,6 +17,7 @@
         </a>
     </span>
 
+    <span id="user-menu" class="right dropdown-bar"></span>
     <span id="language-selector" class="right dropdown-bar"></span>
     <span class="right">
         <a href="/about.html" data-localization="about">About</a>
diff --git a/www/register/main.js b/www/register/main.js
index bafe55423..7d14dc02a 100644
--- a/www/register/main.js
+++ b/www/register/main.js
@@ -15,6 +15,14 @@ define([
         $sel.find('button').addClass('btn').addClass('btn-secondary');
         $sel.show();
 
+        // User admin menu
+        var $userMenu = $('#user-menu');
+        var userMenuCfg = {
+            $initBlock: $userMenu
+        };
+        var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg);
+        $userAdmin.find('button').addClass('btn').addClass('btn-secondary');
+
         $(window).click(function () {
             $('.cryptpad-dropdown').hide();
         });

From 87fa28180ab5a07e704e3dec0815abc77aa1accd Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 16 May 2017 10:34:50 +0200
Subject: [PATCH 071/236] Display an upgrade button in the settings page

---
 rpc.js                        |  5 +++--
 www/common/cryptpad-common.js | 18 +++++++++---------
 www/common/pinpad.js          |  4 ++--
 www/settings/main.js          |  3 +--
 4 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/rpc.js b/rpc.js
index bb9e27194..d8bbce9dd 100644
--- a/rpc.js
+++ b/rpc.js
@@ -497,7 +497,8 @@ var updateLimits = function (config, publicKey, cb) {
                 var l;
                 if (publicKey) {
                     var limit = limits[publicKey];
-                    l = limit && typeof limit.limit === "number" ? limit.limit : DEFAULT_LIMIT;
+                    l = limit && typeof limit.limit === "number" ?
+                            [limit.limit, limit.plan] : [DEFAULT_LIMIT, ''];
                 }
                 cb(void 0, l);
             } catch (e) {
@@ -519,7 +520,7 @@ var getLimit = function (publicKey, cb) {
     var limit = limits[unescapedKey];
 
     var toSend = limit && typeof(limit.limit) === "number"?
-        limit.limit : DEFAULT_LIMIT;
+        [limit.limit, limit.plan] : [DEFAULT_LIMIT, ''];
 
     cb(void 0, toSend);
 };
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index b0c8477ba..4472dde7b 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -744,28 +744,28 @@ define([
 
     common.updatePinLimit = function (cb) {
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
-        rpc.updatePinLimits(function (e, limit) {
+        rpc.updatePinLimits(function (e, limit, plan) {
             if (e) { return cb(e); }
             var MB = common.bytesToMegabytes(limit);
-            cb(e, MB);
+            cb(e, MB, plan);
         });
     };
 
     common.getPinLimit = function (cb) {
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
-        rpc.getLimit(function (e, limit) {
+        rpc.getLimit(function (e, limit, plan) {
             if (e) { return cb(e); }
             var MB = common.bytesToMegabytes(limit);
-            cb(void 0, MB);
+            cb(void 0, MB, plan);
         });
     };
 
     common.isOverPinLimit = function (cb) {
         if (!common.isLoggedIn() || !AppConfig.enablePinLimit) { return void cb(null, false); }
         var usage;
-        var andThen = function (e, limit) {
+        var andThen = function (e, limit, plan) {
             if (e) { return void cb(e); }
-            var data = {usage: usage, limit: limit};
+            var data = {usage: usage, limit: limit, plan: plan};
             if (usage > limit) {
                 return void cb (null, true, data);
             }
@@ -780,7 +780,7 @@ define([
     };
 
     var LIMIT_REFRESH_RATE = 30000; // milliseconds
-    common.createUsageBar = function (cb) {
+    common.createUsageBar = function (cb, alwaysDisplayUpgrade) {
         var todo = function (err, state, data) {
             var $container = $('<span>', {'class':'limit-container'});
             if (!data) {
@@ -796,10 +796,10 @@ define([
             var width = Math.floor(Math.min(quota, 1)*200); // the bar is 200px width
             var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px');
 
-            if (quota >= 0.8) {
+            if ((quota >= 0.8 || alwaysDisplayUpgrade) && data.plan !== "power") {
                 var origin = encodeURIComponent(window.location.origin);
                 var $upgradeLink = $('<a>', {
-                    href: "https://account.cryptpad.fr/#!on=" + origin,
+                    href: "https://accounts.cryptpad.fr/#!on=" + origin,
                     rel: "noreferrer noopener",
                     target: "_blank",
                 }).appendTo($container);
diff --git a/www/common/pinpad.js b/www/common/pinpad.js
index a7c5c72ee..5fe0b2b8e 100644
--- a/www/common/pinpad.js
+++ b/www/common/pinpad.js
@@ -126,7 +126,7 @@ define([
                 rpc.send('UPDATE_LIMITS', undefined, function (e, response) {
                     if (e) { return void cb(e); }
                     if (response && response.length && typeof(response[0]) === "number") {
-                        cb (void 0, response);
+                        cb (void 0, response[0], response[1]);
                     } else {
                         cb('INVALID_RESPONSE');
                     }
@@ -137,7 +137,7 @@ define([
                 rpc.send('GET_LIMIT', undefined, function (e, response) {
                     if (e) { return void cb(e); }
                     if (response && response.length && typeof(response[0]) === "number") {
-                        cb (void 0, response[0]);
+                        cb (void 0, response[0], response[1]);
                     } else {
                         cb('INVALID_RESPONSE');
                     }
diff --git a/www/settings/main.js b/www/settings/main.js
index dd3f59b4e..d6791f4e0 100644
--- a/www/settings/main.js
+++ b/www/settings/main.js
@@ -60,7 +60,6 @@ define([
             $div.append('<br>').append($pubLabel).append($pubKey);
         }
 
-
         return $div;
     };
 
@@ -234,7 +233,7 @@ define([
             $div.find('.limit-container').remove();
             $bar.find('.upgrade').addClass('btn btn-success');
             $div.append($bar);
-        });
+        }, true);
         return $div;
     };
 

From 1a7c4d5ebe49bb43b728ed3e1f6fdd0303511038 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 16 May 2017 11:25:37 +0200
Subject: [PATCH 072/236] Store the FS_hash in the user object after the merge

---
 www/common/mergeDrive.js | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/www/common/mergeDrive.js b/www/common/mergeDrive.js
index 4b41e1279..2f4632544 100644
--- a/www/common/mergeDrive.js
+++ b/www/common/mergeDrive.js
@@ -188,6 +188,10 @@ define([
                         newRecentPads.push(data);
                     }
                 });
+                if (!proxy.FS_hashes || !Array.isArray(proxy.FS_hashes)) {
+                    proxy.FS_hashes = [];
+                }
+                proxy.FS_hashes.push(localStorage.FS_hash);
             }
             if (typeof(cb) === "function") { cb(); }
         };

From 834830fc4f160bed3d5e210128e4780be3d86987 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 16 May 2017 11:25:51 +0200
Subject: [PATCH 073/236] Fix the Ctrl key + click to select multiple files

---
 www/drive/main.js | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/www/drive/main.js b/www/drive/main.js
index 1b71bc99c..114c9d3d5 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -2201,12 +2201,15 @@ define([
                 .click(function () { $(this).select(); })
                 .appendTo($d);
             }
-            var roLink = ro ? base + el : getReadOnlyUrl(base + el);
-            if (roLink) {
-                $('<label>', {'for': 'propROLink'}).text(Messages.viewShare).appendTo($d);
-                $('<input>', {'id': 'propROLink', 'readonly': 'readonly', 'value': roLink})
-                .click(function () { $(this).select(); })
-                .appendTo($d);
+            var parsed = Cryptpad.parsePadUrl(el);
+            if (parsed.hashData && parsed.hashData.type === 'pad') {
+                var roLink = ro ? base + el : getReadOnlyUrl(base + el);
+                if (roLink) {
+                    $('<label>', {'for': 'propROLink'}).text(Messages.viewShare).appendTo($d);
+                    $('<input>', {'id': 'propROLink', 'readonly': 'readonly', 'value': roLink})
+                    .click(function () { $(this).select(); })
+                    .appendTo($d);
+                }
             }
 
             if (APP.loggedIn && AppConfig.enablePinning) {
@@ -2440,12 +2443,12 @@ define([
         $appContainer.on('mouseup', function (e) {
             if (sel.down) { return; }
             if (e.which !== 1) { return ; }
-            removeSelected(e);
+            module.hideMenu(e);
+            //removeSelected(e);
         });
         $appContainer.on('click', function (e) {
             if (e.which !== 1) { return ; }
             removeInput();
-            module.hideMenu(e);
             hideNewButton();
         });
         $appContainer.on('drag drop', function (e) {

From 827233dcba4c99e3843ddd8726d93186dc1c6283 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 16 May 2017 14:01:06 +0200
Subject: [PATCH 074/236] new translation keys for file upload

---
 customize.dist/translations/messages.js | 4 ++++
 www/file/main.js                        | 7 ++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index c6ae72ce5..10efcb2df 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -347,6 +347,10 @@ define(function () {
     out.settings_logoutEverywhere = "Log out of all other web sessions";
     out.settings_logoutEverywhereConfirm = "Are you sure? You will need to log in with all your devices.";
 
+    out.upload_serverError = "Server Error: unable to upload your file at this time.";
+    out.upload_uploadPending = "You already have an upload in progress. Cancel it and upload your new file?";
+    out.upload_success = "Your file ({0}) has been successfully uploaded and added to your drive";
+
     // index.html
 
 
diff --git a/www/file/main.js b/www/file/main.js
index e8eae01ae..2f75edb9a 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -89,7 +89,7 @@ define([
                     var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href));
                     Title.updateTitle(title || defaultName);
                     APP.toolbar.title.show();
-                    Cryptpad.alert("successfully uploaded: " + title);
+                    Cryptpad.alert(Messages._getKey('upload_success', [title]));
                 });
             });
         };
@@ -97,15 +97,16 @@ define([
         Cryptpad.rpc.send('UPLOAD_STATUS', estimate, function (e, pending) {
             if (e) {
                 console.error(e);
-                return void Cryptpad.alert("something went wrong"); // TODO translate
+                return void Cryptpad.alert(Messages.upload_serverError);
             }
 
             if (pending[0]) {
-                return void Cryptpad.confirm('upload pending, abort?', function (yes) { // TODO translate
+                return void Cryptpad.confirm(Messages.upload_uploadPending, function (yes) {
                     if (!yes) { return; }
                     Cryptpad.rpc.send('UPLOAD_CANCEL', '', function (e, res) {
                         if (e) { return void console.error(e); }
                         console.log(res);
+                        next(again);
                     });
                 });
             }

From ad6217f06449280ed796fc4570e58d14bbd5e744 Mon Sep 17 00:00:00 2001
From: Pierre Bondoerffer <pierre@bondoer.fr>
Date: Tue, 16 May 2017 14:05:36 +0200
Subject: [PATCH 075/236] file upload spanish keys

---
 customize.dist/translations/messages.es.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js
index 522e79402..2346579fb 100644
--- a/customize.dist/translations/messages.es.js
+++ b/customize.dist/translations/messages.es.js
@@ -419,6 +419,9 @@ define(function () {
     out.settings_logoutEverywhereTitle = "Cerrar sessión en todas partes";
     out.settings_logoutEverywhere = "Cerrar todas las otras sessiones";
     out.settings_logoutEverywhereConfirm = "¿Estás seguro? Tendrás que volver a iniciar sessión con todos tus dispositivos.";
+    out.upload_serverError = "Error: no pudimos subir tu archivo.";
+    out.upload_uploadPending = "Ya tienes una subida en progreso. ¿Cancelar y subir el nuevo archivo?";
+    out.upload_success = "Tu archivo ({0}) ha sido subido con éxito y fue añadido a tu drive.";
 
     return out;
 });

From 8fe0282b7b0d90baca822d35b7e38f91c1d174c1 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 16 May 2017 14:14:30 +0200
Subject: [PATCH 076/236] jshint compliance

---
 www/settings/main.js | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/www/settings/main.js b/www/settings/main.js
index d6791f4e0..546c93749 100644
--- a/www/settings/main.js
+++ b/www/settings/main.js
@@ -222,9 +222,7 @@ define([
         return $div;
     };
 
-    var createUsageButton = function (obj) {
-        var proxy = obj.proxy;
-
+    var createUsageButton = function () {
         var $div = $('<div>', { 'class': 'pinned-usage' })
             .text(Messages.settings_usageTitle)
             .append('<br>');

From afef456b18de789e202457fc9ada49df8a94af75 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 16 May 2017 14:15:42 +0200
Subject: [PATCH 077/236] fix undefined reference

---
 www/common/cryptpad-common.js | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 4472dde7b..f81e37740 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -785,7 +785,7 @@ define([
             var $container = $('<span>', {'class':'limit-container'});
             if (!data) {
                 return void window.setTimeout(function () {
-                    Cryptpad.isOverPinLimit(todo);
+                    common.isOverPinLimit(todo);
                 }, LIMIT_REFRESH_RATE);
             }
             var usage = data.usage;
@@ -816,11 +816,11 @@ define([
             $text.text(usage + ' / ' + limit + ' ' + unit);
             $limit.append($usage).append($text);
             window.setTimeout(function () {
-                Cryptpad.isOverPinLimit(todo);
+                common.isOverPinLimit(todo);
             }, LIMIT_REFRESH_RATE);
             cb(err, $container);
         };
-        Cryptpad.isOverPinLimit(todo);
+        common.isOverPinLimit(todo);
     };
 
     common.createButton = function (type, rightside, data, callback) {

From 81af9225fc3f11d0e04a049a559a7167eb641719 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 16 May 2017 14:32:54 +0200
Subject: [PATCH 078/236] template a Romanian translation

---
 customize.dist/messages.js                 |   3 +-
 customize.dist/translations/messages.ro.js | 357 +++++++++++++++++++++
 2 files changed, 359 insertions(+), 1 deletion(-)
 create mode 100644 customize.dist/translations/messages.ro.js

diff --git a/customize.dist/messages.js b/customize.dist/messages.js
index 813978b52..2dac5b6c9 100644
--- a/customize.dist/messages.js
+++ b/customize.dist/messages.js
@@ -7,7 +7,8 @@ var map = {
     'es': 'Español',
     'pl': 'Polski',
     'de': 'Deutsch',
-    'pt-br': 'Português do Brasil'
+    'pt-br': 'Português do Brasil',
+    'ro': 'Română',
 };
 
 var getStoredLanguage = function () { return localStorage.getItem(LS_LANG); };
diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js
new file mode 100644
index 000000000..4e2134c7c
--- /dev/null
+++ b/customize.dist/translations/messages.ro.js
@@ -0,0 +1,357 @@
+define(function () {
+    var out = {};
+
+    /*
+     *
+     * ro
+     *
+     */
+
+    out.main_title = ""; // "CryptPad: Zero Knowledge, Collaborative Real Time Editing"
+    out.main_slogan = ""; // "Unity is Strength - Collaboration is Key"
+    out.type = ""; // {"pad":"Rich text","code":"Code","poll":"Poll","slide":"Presentation","drive":"Drive","whiteboard":"Whiteboard","file":"File","media":"Media"}
+    out.button_newpad = ""; // "New Rich Text pad"
+    out.button_newcode = ""; // "New Code pad"
+    out.button_newpoll = ""; // "New Poll"
+    out.button_newslide = ""; // "New Presentation"
+    out.button_newwhiteboard = ""; // "New Whiteboard"
+    out.updated_0_common_connectionLost = ""; // "<b>Server Connection Lost</b><br>You're now in read-only mode until the connection is back."
+    out.common_connectionLost = out.updated_0_common_connectionLost; // TODO: Key updated --> make sure the updated key "out.updated_0_common_connectionLost" exists and is translated before that one.
+    out.websocketError = ""; // "Unable to connect to the websocket server..."
+    out.typeError = ""; // "This pad is not compatible with the selected application"
+    out.onLogout = ""; // "You are logged out, <a href=\"/\" target=\"_blank\">click here</a> to log in<br>or press <em>Escape</em> to access your pad in read-only mode."
+    out.wrongApp = ""; // "Unable to display the content of that realtime session in your browser. Please try to reload that page."
+    out.loading = ""; // "Loading..."
+    out.error = ""; // "Error"
+    out.saved = ""; // "Saved"
+    out.synced = ""; // "Everything is saved"
+    out.deleted = ""; // "Pad deleted from your CryptDrive"
+    out.disconnected = ""; // "Disconnected"
+    out.synchronizing = ""; // "Synchronizing"
+    out.reconnecting = ""; // "Reconnecting..."
+    out.lag = ""; // "Lag"
+    out.readonly = ""; // "Read only"
+    out.anonymous = ""; // "Anonymous"
+    out.yourself = ""; // "Yourself"
+    out.anonymousUsers = ""; // "anonymous editors"
+    out.anonymousUser = ""; // "anonymous editor"
+    out.users = ""; // "Users"
+    out.and = ""; // "And"
+    out.viewer = ""; // "viewer"
+    out.viewers = ""; // "viewers"
+    out.editor = ""; // "editor"
+    out.editors = ""; // "editors"
+    out.language = ""; // "Language"
+    out.upgrade = ""; // "Upgrade"
+    out.upgradeTitle = ""; // "Upgrade your account to increase the storage limit"
+    out.MB = ""; // "MB"
+    out.greenLight = ""; // "Everything is working fine"
+    out.orangeLight = ""; // "Your slow connection may impact your experience"
+    out.redLight = ""; // "You are disconnected from the session"
+    out.pinLimitReached = ""; // "You've reached your storage limit"
+    out.pinLimitReachedAlert = ""; // "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>To fix this problem, you can either remove pads from your CryptDrive (including the trash) or subscribe to a premium offer to increase your limit."
+    out.pinLimitNotPinned = ""; // "You've reached your storage limit.<br>This pad is not stored in your CryptDrive."
+    out.pinLimitDrive = ""; // "You've reached your storage limit.<br>You can't create new pads."
+    out.importButtonTitle = ""; // "Import a pad from a local file"
+    out.exportButtonTitle = ""; // "Export this pad to a local file"
+    out.exportPrompt = ""; // "What would you like to name your file?"
+    out.changeNamePrompt = ""; // "Change your name (leave empty to be anonymous): "
+    out.user_rename = ""; // "Change display name"
+    out.user_displayName = ""; // "Display name"
+    out.user_accountName = ""; // "Account name"
+    out.clickToEdit = ""; // "Click to edit"
+    out.forgetButtonTitle = ""; // "Move this pad to the trash"
+    out.forgetPrompt = ""; // "Clicking OK will move this pad to your trash. Are you sure?"
+    out.movedToTrash = ""; // "That pad has been moved to the trash.<br><a href=\"/drive/\">Access my Drive</a>"
+    out.shareButton = ""; // "Share"
+    out.shareSuccess = ""; // "Copied link to clipboard"
+    out.newButton = ""; // "New"
+    out.newButtonTitle = ""; // "Create a new pad"
+    out.saveTemplateButton = ""; // "Save as template"
+    out.saveTemplatePrompt = ""; // "Choose a title for the template"
+    out.templateSaved = ""; // "Template saved!"
+    out.selectTemplate = ""; // "Select a template or press escape"
+    out.presentButtonTitle = ""; // "Enter presentation mode"
+    out.presentSuccess = ""; // "Hit ESC to exit presentation mode"
+    out.backgroundButtonTitle = ""; // "Change the background color in the presentation"
+    out.colorButtonTitle = ""; // "Change the text color in presentation mode"
+    out.printButton = ""; // "Print (enter)"
+    out.printButtonTitle = ""; // "Print your slides or export them as a PDF file"
+    out.printOptions = ""; // "Layout options"
+    out.printSlideNumber = ""; // "Display the slide number"
+    out.printDate = ""; // "Display the date"
+    out.printTitle = ""; // "Display the pad title"
+    out.printCSS = ""; // "Custom style rules (CSS):"
+    out.printTransition = ""; // "Enable transition animations"
+    out.slideOptionsTitle = ""; // "Customize your slides"
+    out.slideOptionsButton = ""; // "Save (enter)"
+    out.editShare = ""; // "Editing link"
+    out.editShareTitle = ""; // "Copy the editing link to clipboard"
+    out.editOpen = ""; // "Open editing link in a new tab"
+    out.editOpenTitle = ""; // "Open this pad in editing mode in a new tab"
+    out.viewShare = ""; // "Read-only link"
+    out.viewShareTitle = ""; // "Copy the read-only link to clipboard"
+    out.viewOpen = ""; // "Open read-only link in a new tab"
+    out.viewOpenTitle = ""; // "Open this pad in read-only mode in a new tab"
+    out.notifyJoined = ""; // "{0} has joined the collaborative session"
+    out.notifyRenamed = ""; // "{0} is now known as {1}"
+    out.notifyLeft = ""; // "{0} has left the collaborative session"
+    out.okButton = ""; // "OK (enter)"
+    out.cancel = ""; // "Cancel"
+    out.cancelButton = ""; // "Cancel (esc)"
+    out.historyButton = ""; // "Display the document history"
+    out.history_next = ""; // "Go to the next version"
+    out.history_prev = ""; // "Go to the previous version"
+    out.history_goTo = ""; // "Go to the selected version"
+    out.history_close = ""; // "Back"
+    out.history_closeTitle = ""; // "Close the history"
+    out.history_restore = ""; // "Restore"
+    out.history_restoreTitle = ""; // "Restore the selected version of the document"
+    out.history_restorePrompt = ""; // "Are you sure you want to replace the current version of the document by the displayed one?"
+    out.history_restoreDone = ""; // "Document restored"
+    out.history_version = ""; // "Version:"
+    out.poll_title = ""; // "Zero Knowledge Date Picker"
+    out.poll_subtitle = ""; // "Zero Knowledge, <em>realtime</em> scheduling"
+    out.poll_p_save = ""; // "Your settings are updated instantly, so you never need to save."
+    out.poll_p_encryption = ""; // "All your input is encrypted so only people who have the link can access it. Even the server cannot see what you change."
+    out.wizardLog = ""; // "Click the button in the top left to return to your poll"
+    out.wizardTitle = ""; // "Use the wizard to create your poll"
+    out.wizardConfirm = ""; // "Are you really ready to add these options to your poll?"
+    out.poll_publish_button = ""; // "Publish"
+    out.poll_admin_button = ""; // "Admin"
+    out.poll_create_user = ""; // "Add a new user"
+    out.poll_create_option = ""; // "Add a new option"
+    out.poll_commit = ""; // "Commit"
+    out.poll_closeWizardButton = ""; // "Close wizard"
+    out.poll_closeWizardButtonTitle = ""; // "Close wizard"
+    out.poll_wizardComputeButton = ""; // "Compute Options"
+    out.poll_wizardClearButton = ""; // "Clear Table"
+    out.poll_wizardDescription = ""; // "Automatically create a number of options by entering any number of dates and times segments"
+    out.poll_wizardAddDateButton = ""; // "+ Dates"
+    out.poll_wizardAddTimeButton = ""; // "+ Times"
+    out.poll_optionPlaceholder = ""; // "Option"
+    out.poll_userPlaceholder = ""; // "Your name"
+    out.poll_removeOption = ""; // "Are you sure you'd like to remove this option?"
+    out.poll_removeUser = ""; // "Are you sure you'd like to remove this user?"
+    out.poll_titleHint = ""; // "Title"
+    out.poll_descriptionHint = ""; // "Describe your poll, and use the 'publish' button when you're done. Anyone with the link can change the description, but this is discouraged."
+    out.canvas_clear = ""; // "Clear"
+    out.canvas_delete = ""; // "Delete selection"
+    out.canvas_disable = ""; // "Disable draw"
+    out.canvas_enable = ""; // "Enable draw"
+    out.canvas_width = ""; // "Width"
+    out.canvas_opacity = ""; // "Opacity"
+    out.fm_rootName = ""; // "Documents"
+    out.fm_trashName = ""; // "Trash"
+    out.fm_unsortedName = ""; // "Unsorted files"
+    out.fm_filesDataName = ""; // "All files"
+    out.fm_templateName = ""; // "Templates"
+    out.fm_searchName = ""; // "Search"
+    out.fm_searchPlaceholder = ""; // "Search..."
+    out.fm_newButton = ""; // "New"
+    out.fm_newButtonTitle = ""; // "Create a new pad or folder"
+    out.fm_newFolder = ""; // "New folder"
+    out.fm_newFile = ""; // "New pad"
+    out.fm_folder = ""; // "Folder"
+    out.fm_folderName = ""; // "Folder name"
+    out.fm_numberOfFolders = ""; // "# of folders"
+    out.fm_numberOfFiles = ""; // "# of files"
+    out.fm_fileName = ""; // "File name"
+    out.fm_title = ""; // "Title"
+    out.fm_type = ""; // "Type"
+    out.fm_lastAccess = ""; // "Last access"
+    out.fm_creation = ""; // "Creation"
+    out.fm_forbidden = ""; // "Forbidden action"
+    out.fm_originalPath = ""; // "Original path"
+    out.fm_openParent = ""; // "Show in folder"
+    out.fm_noname = ""; // "Untitled Document"
+    out.fm_emptyTrashDialog = ""; // "Are you sure you want to empty the trash?"
+    out.fm_removeSeveralPermanentlyDialog = ""; // "Are you sure you want to remove these {0} elements from the trash permanently?"
+    out.fm_removePermanentlyDialog = ""; // "Are you sure you want to remove that element permanently?"
+    out.fm_removeSeveralDialog = ""; // "Are you sure you want to move these {0} elements to the trash?"
+    out.fm_removeDialog = ""; // "Are you sure you want to move {0} to the trash?"
+    out.fm_restoreDialog = ""; // "Are you sure you want to restore {0} to its previous location?"
+    out.fm_unknownFolderError = ""; // "The selected or last visited directory no longer exist. Opening the parent folder..."
+    out.fm_contextMenuError = ""; // "Unable to open the context menu for that element. If the problem persist, try to reload the page."
+    out.fm_selectError = ""; // "Unable to select the targetted element. If the problem persist, try to reload the page."
+    out.fm_categoryError = ""; // "Unable to open the selected category, displaying root."
+    out.fm_info_root = ""; // "Create as many nested folders here as you want to sort your files."
+    out.fm_info_unsorted = ""; // "Contains all the files you've visited that are not yet sorted in \"Documents\" or moved to the \"Trash\"."
+    out.fm_info_template = ""; // "Contains all the pads stored as templates and that you can re-use when you create a new pad."
+    out.fm_info_trash = ""; // "Files deleted from the trash are also removed from \"All files\" and it is impossible to recover them from the file manager."
+    out.fm_info_allFiles = ""; // "Contains all the files from \"Documents\", \"Unsorted\" and \"Trash\". You can't move or remove files from here."
+    out.fm_info_login = ""; // "Log in"
+    out.fm_info_register = ""; // "Sign up"
+    out.fm_info_anonymous = ""; // "You are not logged in so these pads may be deleted (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">find out why</a>). <a href=\"/register/\">Sign up</a> or <a href=\"/login/\">Log in</a> to keep them alive."
+    out.fm_alert_backupUrl = ""; // "Backup link for this drive.<br>It is <strong>highly recommended</strong> that you keep ip for yourself only.<br>You can use it to retrieve all your files in case your browser memory got erased.<br>Anybody with that link can edit or remove all the files in your file manager.<br>"
+    out.fm_alert_anonymous = ""; // "Hello there, you are currently using CryptPad anonymously, that's ok but your pads may be deleted after a period of inactivity. We have disabled advanced features of the drive for anonymous users because we want to be clear that it is not a safe place to store things. You can <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">read more</a> about why we are doing this and why you really should <a href=\"/register/\">Sign up</a> and <a href=\"/login/\">Log in</a>."
+    out.fm_backup_title = ""; // "Backup link"
+    out.fm_nameFile = ""; // "How would you like to name that file?"
+    out.fc_newfolder = ""; // "New folder"
+    out.fc_rename = ""; // "Rename"
+    out.fc_open = ""; // "Open"
+    out.fc_open_ro = ""; // "Open (read-only)"
+    out.fc_delete = ""; // "Delete"
+    out.fc_restore = ""; // "Restore"
+    out.fc_remove = ""; // "Delete permanently"
+    out.fc_empty = ""; // "Empty the trash"
+    out.fc_prop = ""; // "Properties"
+    out.fc_sizeInKilobytes = ""; // "Size in Kilobytes"
+    out.fo_moveUnsortedError = ""; // "You can't move a folder to the list of unsorted pads"
+    out.fo_existingNameError = ""; // "Name already used in that directory. Please choose another one."
+    out.fo_moveFolderToChildError = ""; // "You can't move a folder into one of its descendants"
+    out.fo_unableToRestore = ""; // "Unable to restore that file to its original location. You can try to move it to a new location."
+    out.fo_unavailableName = ""; // "A file or a folder with the same name already exist at the new location. Rename the element and try again."
+    out.login_login = ""; // "Log in"
+    out.login_makeAPad = ""; // "Create a pad anonymously"
+    out.login_nologin = ""; // "Browse local pads"
+    out.login_register = ""; // "Sign up"
+    out.logoutButton = ""; // "Log out"
+    out.settingsButton = ""; // "Settings"
+    out.login_username = ""; // "Username"
+    out.login_password = ""; // "Password"
+    out.login_confirm = ""; // "Confirm your password"
+    out.login_remember = ""; // "Remember me"
+    out.login_hashing = ""; // "Hashing your password, this might take some time."
+    out.login_hello = ""; // "Hello {0},"
+    out.login_helloNoName = ""; // "Hello,"
+    out.login_accessDrive = ""; // "Access your drive"
+    out.login_orNoLogin = ""; // "or"
+    out.login_noSuchUser = ""; // "Invalid username or password. Try again, or sign up"
+    out.login_invalUser = ""; // "Username required"
+    out.login_invalPass = ""; // "Password required"
+    out.login_unhandledError = ""; // "An unexpected error occurred :("
+    out.register_importRecent = ""; // "Import pad history (Recommended)"
+    out.register_acceptTerms = ""; // "I accept <a href='/terms.html'>the terms of service</a>"
+    out.register_passwordsDontMatch = ""; // "Passwords do not match!"
+    out.register_mustAcceptTerms = ""; // "You must accept the terms of service."
+    out.register_mustRememberPass = ""; // "We cannot reset your password if you forget it. It's very important that you remember it! Please check the checkbox to confirm."
+    out.register_header = ""; // "Welcome to CryptPad"
+    out.register_explanation = ""; // "<p>Lets go over a couple things first</p><ul><li>Your password is your secret key which encrypts all of your pads. If you lose it there is no way we can recover your data.</li><li>You can import pads which were recently viewed in your browser so you have them in your account.</li><li>If you are using a shared computer, you need to log out when you are done, closing the tab is not enough.</li></ul>"
+    out.register_writtenPassword = ""; // "I have written down my username and password, proceed"
+    out.register_cancel = ""; // "Go back"
+    out.register_warning = ""; // "Zero Knowledge means that we can't recover your data if you lose your password."
+    out.register_alreadyRegistered = ""; // "This user already exists, do you want to log in?"
+    out.settings_title = ""; // "Settings"
+    out.settings_save = ""; // "Save"
+    out.settings_backupTitle = ""; // "Backup or restore all your data"
+    out.settings_backup = ""; // "Backup"
+    out.settings_restore = ""; // "Restore"
+    out.settings_resetTitle = ""; // "Clean your drive"
+    out.settings_reset = ""; // "Remove all the files and folders from your CryptDrive"
+    out.settings_resetPrompt = ""; // "This action will remove all the pads from your drive.<br>Are you sure you want to continue?<br>Type “<em>I love CryptPad</em>” to confirm."
+    out.settings_resetDone = ""; // "Your drive is now empty!"
+    out.settings_resetError = ""; // "Incorrect verification text. Your CryptDrive has not been changed."
+    out.settings_resetTips = ""; // "Tips in CryptDrive"
+    out.settings_resetTipsButton = ""; // "Reset the available tips in CryptDrive"
+    out.settings_resetTipsDone = ""; // "All the tips are now visible again."
+    out.settings_importTitle = ""; // "Import this browser's recent pads in my CryptDrive"
+    out.settings_import = ""; // "Import"
+    out.settings_importConfirm = ""; // "Are you sure you want to import recent pads from this browser to your user account's CryptDrive?"
+    out.settings_importDone = ""; // "Import completed"
+    out.settings_userFeedbackHint1 = ""; // "CryptPad provides some very basic feedback to the server, to let us know how to improve your experience."
+    out.settings_userFeedbackHint2 = ""; // "Your pad's content will never be shared with the server."
+    out.settings_userFeedback = ""; // "Enable user feedback"
+    out.settings_anonymous = ""; // "You are not logged in. Settings here are specific to this browser."
+    out.settings_publicSigningKey = ""; // "Public Signing Key"
+    out.settings_usage = ""; // "Usage"
+    out.settings_usageTitle = ""; // "See the total size of your pinned pads in MB"
+    out.settings_pinningNotAvailable = ""; // "Pinned pads are only available to registered users."
+    out.settings_pinningError = ""; // "Something went wrong"
+    out.settings_usageAmount = ""; // "Your pinned pads occupy {0}MB"
+    out.settings_logoutEverywhereTitle = ""; // "Log out everywhere"
+    out.settings_logoutEverywhere = ""; // "Log out of all other web sessions"
+    out.settings_logoutEverywhereConfirm = ""; // "Are you sure? You will need to log in with all your devices."
+    out.upload_serverError = ""; // "Server Error: unable to upload your file at this time."
+    out.upload_uploadPending = ""; // "You already have an upload in progress. Cancel it and upload your new file?"
+    out.upload_success = ""; // "Your file ({0}) has been successfully uploaded and added to your drive"
+    out.main_p2 = ""; // "This project uses the <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, and the <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> realtime engine."
+    out.main_howitworks_p1 = ""; // "CryptPad uses a variant of the <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> algorithm which is able to find distributed consensus using a <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, a construct popularized by <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. This way the algorithm can avoid the need for a central server to resolve Operational Transform Edit Conflicts and without the need for resolving conflicts, the server can be kept unaware of the content which is being edited on the pad."
+    out.main_about_p2 = ""; // "If you have any questions or comments, you can <a href=\"https://twitter.com/cryptpad\">tweet us</a>, open an issue <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"our issue tracker\">on github</a>, come say hi on irc (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), or <a href=\"mailto:research@xwiki.com\">send us an email</a>."
+    out.main_info = ""; // "<h1>Collaborate in Confidence</h1><br> Grow your ideas together with shared documents while <strong>Zero Knowledge</strong> technology secures your privacy; even from us."
+    out.main_howitworks = ""; // "How It Works"
+    out.main_zeroKnowledge = ""; // "Zero Knowledge"
+    out.main_zeroKnowledge_p = ""; // "You don't have to trust that we <em>won't</em> look at your pads, with CryptPad's revolutionary Zero Knowledge Technology we <em>can't</em>. Learn more about how we protect your <a href=\"/privacy.html\" title='Privacy'>Privacy and Security</a>."
+    out.main_writeItDown = ""; // "Write it down"
+    out.main_writeItDown_p = ""; // "The greatest projects come from the smallest ideas. Take down the moments of inspiration and unexpected ideas because you never know which one might be a breakthrough."
+    out.main_share = ""; // "Share the link, share the pad"
+    out.main_share_p = ""; // "Grow your ideas together: conduct efficient meetings, collaborate on TODO lists and make quick presentations with all your friends and all your devices."
+    out.main_organize = ""; // "Get organized"
+    out.main_organize_p = ""; // "With CryptPad Drive, you can keep your sights on what's important. Folders allow you to keep track of your projects and have a global vision of where things are going."
+    out.tryIt = ""; // "Try it out!"
+    out.main_richText = ""; // "Rich Text editor"
+    out.main_richText_p = ""; // "Edit rich text pads collaboratively with our realtime Zero Knowledge <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application."
+    out.main_code = ""; // "Code editor"
+    out.main_code_p = ""; // "Edit code from your software collaboratively with our realtime Zero Knowledge <a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application."
+    out.main_slide = ""; // "Slide editor"
+    out.main_slide_p = ""; // "Create your presentations using the Markdown syntax, and display them in your browser."
+    out.main_poll = ""; // "Polls"
+    out.main_poll_p = ""; // "Plan your meeting or your event, or vote for the best solution regarding your problem."
+    out.main_drive = ""; // "CryptDrive"
+    out.footer_applications = ""; // "Applications"
+    out.footer_contact = ""; // "Contact"
+    out.footer_aboutUs = ""; // "About us"
+    out.about = ""; // "About"
+    out.privacy = ""; // "Privacy"
+    out.contact = ""; // "Contact"
+    out.terms = ""; // "ToS"
+    out.blog = ""; // "Blog"
+    out.policy_title = ""; // "CryptPad Privacy Policy"
+    out.policy_whatweknow = ""; // "What we know about you"
+    out.policy_whatweknow_p1 = ""; // "As an application that is hosted on the web, CryptPad has access to metadata exposed by the HTTP protocol. This includes your IP address, and various other HTTP headers that can be used to identify your particular browser. You can see what information your browser is sharing by visiting <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>."
+    out.policy_whatweknow_p2 = ""; // "We use <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"open source analytics platform\">Kibana</a>, an open source analytics platform, to learn more about our users. Kibana tells us about how you found CryptPad, via direct entry, through a search engine, or via a referral from another web service like Reddit or Twitter."
+    out.policy_howweuse = ""; // "How we use what we learn"
+    out.policy_howweuse_p1 = ""; // "We use this information to make better decisions about promoting CryptPad, by evaluating which of our past efforts were successful. Information about your location lets us know whether we should consider providing better support for languages other than English."
+    out.policy_howweuse_p2 = ""; // "Information about your browser (whether it's a desktop or mobile operating system) helps us make decisions when prioritizing feature improvements. Our development team is small, and we try to make choices that will improve as many users' experience as possible."
+    out.policy_whatwetell = ""; // "What we tell others about you"
+    out.policy_whatwetell_p1 = ""; // "We do not furnish to third parties the information that we gather or that you provide to us unless we are legally required to do so."
+    out.policy_links = ""; // "Links to other sites"
+    out.policy_links_p1 = ""; // "This site contains links to other sites, including those produced by other organizations. We are not responsible for the privacy practices or the contents of any outside sites. As a general rule, links to outside sites are launched in a new browser window, to make clear that you are leaving CryptPad.fr."
+    out.policy_ads = ""; // "Advertisement"
+    out.policy_ads_p1 = ""; // "We do not display any online advertising, though we may link to the bodies which are financing our research."
+    out.policy_choices = ""; // "Choices you have"
+    out.policy_choices_open = ""; // "Our code is open source, so you always have the option of hosting your own instance of CryptPad."
+    out.policy_choices_vpn = ""; // "If you want to use our hosted instance, but don't want to expose your IP address, you can protect your IP using the <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, or a <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>."
+    out.policy_choices_ads = ""; // "If you just want to block our analytics platform, you can use adblocking tools like <a href=\"https://www.eff.org/privacybadger\" title=\"download privacy badger\" target=\"_blank\" rel=\"noopener noreferrer\">Privacy Badger</a>."
+    out.tos_title = ""; // "CryptPad Terms of Service"
+    out.tos_legal = ""; // "Please don't be malicious, abusive, or do anything illegal."
+    out.tos_availability = ""; // "We hope you find this service useful, but availability or performance cannot be guaranteed. Please export your data regularly."
+    out.tos_e2ee = ""; // "CryptPad contents can be read or modified by anyone who can guess or otherwise obtain the pad's fragment identifier. We recommend that you use end-to-end-encrypted (e2ee) messaging technology to share links, and assume no liability in the event that such a link is leaked."
+    out.tos_logs = ""; // "Metadata provided by your browser to the server may be logged for the purpose of maintaining the service."
+    out.tos_3rdparties = ""; // "We do not provide individualized data to third parties unless required to by law."
+    out.bottom_france = ""; // "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Made with <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> in <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" alt=\"France\" /></a>"
+    out.bottom_support = ""; // "<a href=\"http://labs.xwiki.com/\" title=\"XWiki Labs\" target=\"_blank\" rel=\"noopener noreferrer\">An <img src=\"/customize/logo-xwiki2.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/> Labs Project </a> with the support of <a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>"
+    out.header_france = ""; // "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">With <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> from <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" title=\"France\" alt=\"France\"/> by <img src=\"/customize/logo-xwiki.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/></a>"
+    out.header_support = ""; // "<a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>"
+    out.header_logoTitle = ""; // "Go to the main page"
+    out.initialState = ""; // "<span style=\"font-size:16px;\"><p>This is&nbsp;<strong>CryptPad</strong>, the Zero Knowledge realtime collaborative editor. Everything is saved as you type.<br>Share the link to this pad to edit with friends or use the <span style=\"background-color:#5cb85c;color:#ffffff;\">&nbsp;Share&nbsp;</span> button to share a <em>read-only link</em>&nbsp;which allows viewing but not editing.</p><p><span style=\"color:#808080;\"><em>Go ahead, just start typing...</em></span></p></span><p>&nbsp;<br></p>"
+    out.codeInitialState = ""; // "/*\n   This is the CryptPad Zero Knowledge collaborative code editor.\n   What you type here is encrypted so only people who have the link can access it.\n   You can choose the programming language to highlight and the UI color scheme in the upper right.\n*/"
+    out.slideInitialState = ""; // "# CryptSlide\n* This is a zero knowledge realtime collaborative editor.\n* What you type here is encrypted so only people who have the link can access it.\n* Even the server cannot see what you type.\n* What you see here, what you hear here, when you leave here, let it stay here.\n\n---\n# How to use\n1. Write your slides content using markdown syntax\n  - Learn more about markdown syntax [here](http://www.markdowntutorial.com/)\n2. Separate your slides with ---\n3. Click on the \"Play\" button to see the result  - Your slides are updated in realtime"
+    out.driveReadmeTitle = ""; // "What is CryptDrive?"
+    out.readme_welcome = ""; // "Welcome to CryptPad !"
+    out.readme_p1 = ""; // "Welcome to CryptPad, this is where you can take note of things alone and with friends."
+    out.readme_p2 = ""; // "This pad will give you a quick walk through of how you can use CryptPad to take notes, keep them organized and work together on them."
+    out.readme_cat1 = ""; // "Get to know your CryptDrive"
+    out.readme_cat1_l1 = ""; // "Make a pad: In your CryptDrive, click {0} then {1} and you can make a pad."
+    out.readme_cat1_l2 = ""; // "Open Pads from your CryptDrive: double-click on a pad icon to open it."
+    out.readme_cat1_l3 = ""; // "Organize your pads: When you are logged in, every pad you access will be shown as in the {0} section of your drive."
+    out.readme_cat1_l3_l1 = ""; // "You can click and drag files into folders in the {0} section of your drive and make new folders."
+    out.readme_cat1_l3_l2 = ""; // "Remember to try right clicking on icons because there are often additional menus."
+    out.readme_cat1_l4 = ""; // "Put old pads in the trash: You can click and drag your pads into the {0} the same way you drag them into folders."
+    out.readme_cat2 = ""; // "Make pads like a pro"
+    out.edit = ""; // "edit"
+    out.view = ""; // "view"
+    out.readme_cat2_l1 = ""; // "The {0} button in your pad allows you to give access to collaborators to either {1} or to {2} the pad."
+    out.readme_cat2_l2 = ""; // "Change the title of the pad by clicking on the pencil"
+    out.readme_cat3 = ""; // "Discover CryptPad apps"
+    out.readme_cat3_l1 = ""; // "With CryptPad code editor, you can collaborate on code like Javascript and markdown like HTML and Markdown"
+    out.readme_cat3_l2 = ""; // "With CryptPad slide editor, you can make quick presentations using Markdown"
+    out.readme_cat3_l3 = ""; // "With CryptPoll you can take quick votes, especially for scheduling meetings which fit with everybody's calendar"
+    out.tips = ""; // {"lag":"The green icon in the upper right shows the quality of your internet connection to the CryptPad server.","shortcuts":"`ctrl+b`, `ctrl+i` and `ctrl+u` are quick shortcuts for bold, italic and underline.","indent":"In numbered and bulleted lists, you can use tab or shift+tab to quickly increase or decrease indentation.","title":"You can set the title of your pad by clicking the top center.","store":"Every time you visit a pad, if you're logged in it will be saved to your CryptDrive.","marker":"You can highlight text in a pad using the \"marker\" item in the styles dropdown menu."}
+    out.feedback_about = ""; // "If you're reading this, you were probably curious why CryptPad is requesting web pages when you perform certain actions"
+    out.feedback_privacy = ""; // "We care about your privacy, and at the same time we want CryptPad to be very easy to use.  We use this file to figure out which UI features matter to our users, by requesting it along with a parameter specifying which action was taken."
+    out.feedback_optout = ""; // "If you would like to opt out, visit <a href='/settings/'>your user settings page</a>, where you'll find a checkbox to enable or disable user feedback"
+
+
+    return out;
+});

From 953e7155f08809a546baccac1c876894ec1b7378 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 16 May 2017 14:41:40 +0200
Subject: [PATCH 079/236] Send only the hostname to the accounts server

---
 www/common/cryptpad-common.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 4472dde7b..00fb7bd09 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -797,7 +797,7 @@ define([
             var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px');
 
             if ((quota >= 0.8 || alwaysDisplayUpgrade) && data.plan !== "power") {
-                var origin = encodeURIComponent(window.location.origin);
+                var origin = encodeURIComponent(window.location.hostname);
                 var $upgradeLink = $('<a>', {
                     href: "https://accounts.cryptpad.fr/#!on=" + origin,
                     rel: "noreferrer noopener",

From c381e853841055b9e7f77fda51a79f7ae0327d31 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 16 May 2017 15:11:20 +0200
Subject: [PATCH 080/236] correctly identify users' limits by unescaped public
 key

---
 rpc.js | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/rpc.js b/rpc.js
index d8bbce9dd..1b92d57a8 100644
--- a/rpc.js
+++ b/rpc.js
@@ -78,6 +78,10 @@ var escapeKeyCharacters = function (key) {
     return key.replace(/\//g, '-');
 };
 
+var unescapeKeyCharacters = function (key) {
+    return key.replace(/\-/g, '/');
+};
+
 var beginSession = function (Sessions, key) {
     var safeKey = escapeKeyCharacters(key);
     if (Sessions[safeKey]) {
@@ -516,7 +520,7 @@ var updateLimits = function (config, publicKey, cb) {
 };
 
 var getLimit = function (publicKey, cb) {
-    var unescapedKey = escapeKeyCharacters(publicKey);
+    var unescapedKey = unescapeKeyCharacters(publicKey);
     var limit = limits[unescapedKey];
 
     var toSend = limit && typeof(limit.limit) === "number"?

From 24eb928ef87033c4de07abedfbc213e857208730 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 16 May 2017 17:07:53 +0200
Subject: [PATCH 081/236] simplify rpc function signatures

---
 rpc.js | 97 ++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 54 insertions(+), 43 deletions(-)

diff --git a/rpc.js b/rpc.js
index 1b92d57a8..9b7636827 100644
--- a/rpc.js
+++ b/rpc.js
@@ -192,7 +192,8 @@ var checkSignature = function (signedMsg, signature, publicKey) {
     return Nacl.sign.detached.verify(signedBuffer, signatureBuffer, pubBuffer);
 };
 
-var loadUserPins = function (store, Sessions, publicKey, cb) {
+var loadUserPins = function (Env, Sessions, publicKey, cb) {
+    var pinStore = Env.pinStore;
     var session = beginSession(Sessions, publicKey);
 
     if (session.channels) {
@@ -210,7 +211,7 @@ var loadUserPins = function (store, Sessions, publicKey, cb) {
         pins[channel] = false;
     };
 
-    store.getMessages(publicKey, function (msg) {
+    pinStore.getMessages(publicKey, function (msg) {
         // handle messages...
         var parsed;
         try {
@@ -252,8 +253,8 @@ var truthyKeys = function (O) {
     });
 };
 
-var getChannelList = function (store, Sessions, publicKey, cb) {
-    loadUserPins(store, Sessions, publicKey, function (pins) {
+var getChannelList = function (Env, Sessions, publicKey, cb) {
+    loadUserPins(Env, Sessions, publicKey, function (pins) {
         cb(truthyKeys(pins));
     });
 };
@@ -263,7 +264,8 @@ var makeFilePath = function (root, id) {
     return Path.join(root, id.slice(0, 2), id);
 };
 
-var getUploadSize = function (paths, channel, cb) {
+var getUploadSize = function (Env, channel, cb) {
+    var paths = Env.paths;
     var path = makeFilePath(paths.blob, channel);
     if (!path) {
         return cb('INVALID_UPLOAD_ID');
@@ -275,7 +277,7 @@ var getUploadSize = function (paths, channel, cb) {
     });
 };
 
-var getFileSize = function (paths, msgStore, channel, cb) {
+var getFileSize = function (Env, msgStore, channel, cb) {
     if (!isValidId(channel)) { return void cb('INVALID_CHAN'); }
 
     if (channel.length === 32) {
@@ -290,13 +292,13 @@ var getFileSize = function (paths, msgStore, channel, cb) {
     }
 
     // 'channel' refers to a file, so you need anoter API
-    getUploadSize(paths, channel, function (e, size) {
+    getUploadSize(Env, channel, function (e, size) {
         if (e) { return void cb(e); }
         cb(void 0, size);
     });
 };
 
-var getMultipleFileSize = function (paths, msgStore, channels, cb) {
+var getMultipleFileSize = function (Env, msgStore, channels, cb) {
     if (!Array.isArray(channels)) { return cb('INVALID_LIST'); }
     if (typeof(msgStore.getChannelSize) !== 'function') {
         return cb('GET_CHANNEL_SIZE_UNSUPPORTED');
@@ -311,7 +313,7 @@ var getMultipleFileSize = function (paths, msgStore, channels, cb) {
     };
 
     channels.forEach(function (channel) {
-        getFileSize(paths, msgStore, channel, function (e, size) {
+        getFileSize(Env, msgStore, channel, function (e, size) {
             if (e) {
                 console.error(e);
                 counts[channel] = -1;
@@ -323,17 +325,17 @@ var getMultipleFileSize = function (paths, msgStore, channels, cb) {
     });
 };
 
-var getTotalSize = function (paths, pinStore, msgStore, Sessions, publicKey, cb) {
+var getTotalSize = function (Env, msgStore, Sessions, publicKey, cb) {
     var bytes = 0;
 
-    return void getChannelList(pinStore, Sessions, publicKey, function (channels) {
+    return void getChannelList(Env, Sessions, publicKey, function (channels) {
         if (!channels) { cb('NO_ARRAY'); } // unexpected
 
         var count = channels.length;
         if (!count) { cb(void 0, 0); }
 
         channels.forEach(function (channel) {
-            getFileSize(paths, msgStore, channel, function (e, size) {
+            getFileSize(Env, msgStore, channel, function (e, size) {
                 count--;
                 if (!e) { bytes += size; }
                 if (count === 0) { return cb(void 0, bytes); }
@@ -356,20 +358,22 @@ var hashChannelList = function (A) {
     return hash;
 };
 
-var getHash = function (store, Sessions, publicKey, cb) {
-    getChannelList(store, Sessions, publicKey, function (channels) {
+var getHash = function (Env, Sessions, publicKey, cb) {
+    getChannelList(Env, Sessions, publicKey, function (channels) {
         cb(void 0, hashChannelList(channels));
     });
 };
 
 // TODO check if new pinned size exceeds user quota
-var pinChannel = function (pinStore, Sessions, publicKey, channels, cb) {
+var pinChannel = function (Env, Sessions, publicKey, channels, cb) {
+    var pinStore = Env.pinStore;
+
     if (!channels && channels.filter) {
         // expected array
         return void cb('[TYPE_ERROR] pin expects channel list argument');
     }
 
-    getChannelList(pinStore, Sessions, publicKey, function (pinned) {
+    getChannelList(Env, Sessions, publicKey, function (pinned) {
         var session = beginSession(Sessions, publicKey);
 
         // only pin channels which are not already pinned
@@ -378,7 +382,7 @@ var pinChannel = function (pinStore, Sessions, publicKey, channels, cb) {
         });
 
         if (toStore.length === 0) {
-            return void getHash(pinStore, Sessions, publicKey, cb);
+            return void getHash(Env, Sessions, publicKey, cb);
         }
 
         pinStore.message(publicKey, JSON.stringify(['PIN', toStore]),
@@ -387,12 +391,13 @@ var pinChannel = function (pinStore, Sessions, publicKey, channels, cb) {
             toStore.forEach(function (channel) {
                 session.channels[channel] = true;
             });
-            getHash(pinStore, Sessions, publicKey, cb);
+            getHash(Env, Sessions, publicKey, cb);
         });
     });
 };
 
-var unpinChannel = function (pinStore, Sessions, publicKey, channels, cb) {
+var unpinChannel = function (Env, Sessions, publicKey, channels, cb) {
+    var pinStore = Env.pinStore;
     if (!channels && channels.filter) {
         // expected array
         return void cb('[TYPE_ERROR] unpin expects channel list argument');
@@ -407,7 +412,7 @@ var unpinChannel = function (pinStore, Sessions, publicKey, channels, cb) {
         });
 
         if (toStore.length === 0) {
-            return void getHash(pinStore, Sessions, publicKey, cb);
+            return void getHash(Env, Sessions, publicKey, cb);
         }
 
         pinStore.message(publicKey, JSON.stringify(['UNPIN', toStore]),
@@ -417,13 +422,14 @@ var unpinChannel = function (pinStore, Sessions, publicKey, channels, cb) {
                 delete session.channels[channel];
             });
 
-            getHash(pinStore, Sessions, publicKey, cb);
+            getHash(Env, Sessions, publicKey, cb);
         });
     });
 };
 
 // TODO check if new pinned size exceeds user quota
-var resetUserPins = function (pinStore, Sessions, publicKey, channelList, cb) {
+var resetUserPins = function (Env, Sessions, publicKey, channelList, cb) {
+    var pinStore = Env.pinStore;
     var session = beginSession(Sessions, publicKey);
 
     var pins = session.channels = {};
@@ -435,7 +441,7 @@ var resetUserPins = function (pinStore, Sessions, publicKey, channelList, cb) {
             pins[channel] = true;
         });
 
-        getHash(pinStore, Sessions, publicKey, function (e, hash) {
+        getHash(Env, Sessions, publicKey, function (e, hash) {
             cb(e, hash);
         });
     });
@@ -556,7 +562,8 @@ var makeFileStream = function (root, id, cb) {
     });
 };
 
-var upload = function (paths, Sessions, publicKey, content, cb) {
+var upload = function (Env, Sessions, publicKey, content, cb) {
+    var paths = Env.paths;
     var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line
     var len = dec.length;
 
@@ -588,7 +595,8 @@ var upload = function (paths, Sessions, publicKey, content, cb) {
     }
 };
 
-var upload_cancel = function (paths, Sessions, publicKey, cb) {
+var upload_cancel = function (Env, Sessions, publicKey, cb) {
+    var paths = Env.paths;
     var path = makeFilePath(paths.staging, publicKey);
     if (!path) {
         console.log(paths.staging, publicKey);
@@ -612,7 +620,8 @@ var isFile = function (filePath, cb) {
     });
 };
 
-var upload_complete = function (paths, Sessions, publicKey, cb) {
+var upload_complete = function (Env, Sessions, publicKey, cb) {
+    var paths = Env.paths;
     var session = beginSession(Sessions, publicKey);
 
     if (session.blobstage && session.blobstage.close) {
@@ -657,7 +666,9 @@ var upload_complete = function (paths, Sessions, publicKey, cb) {
     });
 };
 
-var upload_status = function (paths, pinStore, msgStore, Sessions, publicKey, filesize, cb) {
+var upload_status = function (Env, msgStore, Sessions, publicKey, filesize, cb) {
+    var paths = Env.paths;
+
     // validate that the provided size is actually a positive number
     if (typeof(filesize) !== 'number' &&
         filesize >= 0) { return void cb('E_INVALID_SIZE'); }
@@ -668,7 +679,7 @@ var upload_status = function (paths, pinStore, msgStore, Sessions, publicKey, fi
 
     getLimit(publicKey, function (e, limit) {
         if (e) { return void cb(e); }
-        getTotalSize(paths, pinStore, msgStore, Sessions, publicKey, function (e, size) {
+        getTotalSize(Env, msgStore, Sessions, publicKey, function (e, size) {
             if ((filesize + size) >= limit) { return cb('TOO_LARGE'); }
             isFile(filePath, function (e, yes) {
                 if (e) {
@@ -692,13 +703,13 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
         return typeof(config[key]) === 'string'? config[key]: def;
     };
 
-    var paths = {};
+    var Env = {};
+
+    var paths = Env.paths = {};
     var pinPath = paths.pin = keyOrDefaultString('pinPath', './pins');
     var blobPath = paths.blob = keyOrDefaultString('blobPath', './blob');
     var blobStagingPath = paths.staging = keyOrDefaultString('blobStagingPath', './blobstage');
 
-    var pinStore;
-
     var rpc = function (
         ctx /*:{ store: Object }*/,
         data /*:Array<Array<any>>*/,
@@ -775,29 +786,29 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
         switch (msg[0]) {
             case 'COOKIE': return void Respond(void 0);
             case 'RESET':
-                return resetUserPins(pinStore, Sessions, safeKey, msg[1], function (e, hash) {
+                return resetUserPins(Env, Sessions, safeKey, msg[1], function (e, hash) {
                     return void Respond(e, hash);
                 });
             case 'PIN': // TODO don't pin if over the limit
                 // if over, send error E_OVER_LIMIT
-                return pinChannel(pinStore, Sessions, safeKey, msg[1], function (e, hash) {
+                return pinChannel(Env, Sessions, safeKey, msg[1], function (e, hash) {
                     Respond(e, hash);
                 });
             case 'UNPIN':
-                return unpinChannel(pinStore, Sessions, safeKey, msg[1], function (e, hash) {
+                return unpinChannel(Env, Sessions, safeKey, msg[1], function (e, hash) {
                     Respond(e, hash);
                 });
             case 'GET_HASH':
-                return void getHash(pinStore, Sessions, safeKey, function (e, hash) {
+                return void getHash(Env, Sessions, safeKey, function (e, hash) {
                     Respond(e, hash);
                 });
             case 'GET_TOTAL_SIZE': // TODO cache this, since it will get called quite a bit
-                return getTotalSize(paths, pinStore, msgStore, Sessions, safeKey, function (e, size) {
+                return getTotalSize(Env, msgStore, Sessions, safeKey, function (e, size) {
                     if (e) { return void Respond(e); }
                     Respond(e, size);
                 });
             case 'GET_FILE_SIZE':
-                return void getFileSize(paths, msgStore, msg[1], Respond);
+                return void getFileSize(Env, msgStore, msg[1], Respond);
             case 'UPDATE_LIMITS':
                 return void updateLimits(config, safeKey, function (e, limit) {
                     if (e) { return void Respond(e); }
@@ -809,7 +820,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                     Respond(void 0, limit);
                 });
             case 'GET_MULTIPLE_FILE_SIZE':
-                return void getMultipleFileSize(paths, msgStore, msg[1], function (e, dict) {
+                return void getMultipleFileSize(Env, msgStore, msg[1], function (e, dict) {
                     if (e) { return void Respond(e); }
                     Respond(void 0, dict);
                 });
@@ -817,13 +828,13 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             // restricted to privileged users...
             case 'UPLOAD':
                 if (!privileged) { return deny(); }
-                return void upload(paths, Sessions, safeKey, msg[1], function (e, len) {
+                return void upload(Env, Sessions, safeKey, msg[1], function (e, len) {
                     Respond(e, len);
                 });
             case 'UPLOAD_STATUS':
                 if (!privileged) { return deny(); }
                 var filesize = msg[1];
-                return void upload_status(paths, pinStore, msgStore, Sessions, safeKey, msg[1], function (e, yes) {
+                return void upload_status(Env, msgStore, Sessions, safeKey, msg[1], function (e, yes) {
                     if (!e && !yes) {
                         // no pending uploads, set the new size
                         var user = beginSession(Sessions, safeKey);
@@ -834,12 +845,12 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                 });
             case 'UPLOAD_COMPLETE':
                 if (!privileged) { return deny(); }
-                return void upload_complete(paths, Sessions, safeKey, function (e, hash) {
+                return void upload_complete(Env, Sessions, safeKey, function (e, hash) {
                     Respond(e, hash);
                 });
             case 'UPLOAD_CANCEL':
                 if (!privileged) { return deny(); }
-                return void upload_cancel(paths, Sessions, safeKey, function (e) {
+                return void upload_cancel(Env, Sessions, safeKey, function (e) {
                     Respond(e);
                 });
             default:
@@ -881,7 +892,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
     Store.create({
         filePath: pinPath,
     }, function (s) {
-        pinStore = s;
+        Env.pinStore = s;
 
         safeMkdir(blobPath, function (e) {
             if (e) { throw e; }

From 98828730b49c4ad41b011d9780f44c6b1e80f5d3 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 16 May 2017 18:08:59 +0200
Subject: [PATCH 082/236] refactor more

---
 rpc.js | 98 ++++++++++++++++++++++++++++++----------------------------
 1 file changed, 50 insertions(+), 48 deletions(-)

diff --git a/rpc.js b/rpc.js
index 9b7636827..3902245a7 100644
--- a/rpc.js
+++ b/rpc.js
@@ -192,9 +192,9 @@ var checkSignature = function (signedMsg, signature, publicKey) {
     return Nacl.sign.detached.verify(signedBuffer, signatureBuffer, pubBuffer);
 };
 
-var loadUserPins = function (Env, Sessions, publicKey, cb) {
+var loadUserPins = function (Env, publicKey, cb) {
     var pinStore = Env.pinStore;
-    var session = beginSession(Sessions, publicKey);
+    var session = beginSession(Env.Sessions, publicKey);
 
     if (session.channels) {
         return cb(session.channels);
@@ -253,8 +253,8 @@ var truthyKeys = function (O) {
     });
 };
 
-var getChannelList = function (Env, Sessions, publicKey, cb) {
-    loadUserPins(Env, Sessions, publicKey, function (pins) {
+var getChannelList = function (Env, publicKey, cb) {
+    loadUserPins(Env, publicKey, function (pins) {
         cb(truthyKeys(pins));
     });
 };
@@ -277,15 +277,15 @@ var getUploadSize = function (Env, channel, cb) {
     });
 };
 
-var getFileSize = function (Env, msgStore, channel, cb) {
+var getFileSize = function (Env, channel, cb) {
     if (!isValidId(channel)) { return void cb('INVALID_CHAN'); }
 
     if (channel.length === 32) {
-        if (typeof(msgStore.getChannelSize) !== 'function') {
+        if (typeof(Env.msgStore.getChannelSize) !== 'function') {
             return cb('GET_CHANNEL_SIZE_UNSUPPORTED');
         }
 
-        return void msgStore.getChannelSize(channel, function (e, size) {
+        return void Env.msgStore.getChannelSize(channel, function (e, size) {
             if (e) { return void cb(e.code); }
             cb(void 0, size);
         });
@@ -298,7 +298,8 @@ var getFileSize = function (Env, msgStore, channel, cb) {
     });
 };
 
-var getMultipleFileSize = function (Env, msgStore, channels, cb) {
+var getMultipleFileSize = function (Env, channels, cb) {
+    var msgStore = Env.msgStore;
     if (!Array.isArray(channels)) { return cb('INVALID_LIST'); }
     if (typeof(msgStore.getChannelSize) !== 'function') {
         return cb('GET_CHANNEL_SIZE_UNSUPPORTED');
@@ -313,7 +314,7 @@ var getMultipleFileSize = function (Env, msgStore, channels, cb) {
     };
 
     channels.forEach(function (channel) {
-        getFileSize(Env, msgStore, channel, function (e, size) {
+        getFileSize(Env, channel, function (e, size) {
             if (e) {
                 console.error(e);
                 counts[channel] = -1;
@@ -325,17 +326,18 @@ var getMultipleFileSize = function (Env, msgStore, channels, cb) {
     });
 };
 
-var getTotalSize = function (Env, msgStore, Sessions, publicKey, cb) {
+var getTotalSize = function (Env, publicKey, cb) {
     var bytes = 0;
+    //var msgStore = Env.msgStore;
 
-    return void getChannelList(Env, Sessions, publicKey, function (channels) {
+    return void getChannelList(Env, publicKey, function (channels) {
         if (!channels) { cb('NO_ARRAY'); } // unexpected
 
         var count = channels.length;
         if (!count) { cb(void 0, 0); }
 
         channels.forEach(function (channel) {
-            getFileSize(Env, msgStore, channel, function (e, size) {
+            getFileSize(Env, channel, function (e, size) {
                 count--;
                 if (!e) { bytes += size; }
                 if (count === 0) { return cb(void 0, bytes); }
@@ -358,14 +360,14 @@ var hashChannelList = function (A) {
     return hash;
 };
 
-var getHash = function (Env, Sessions, publicKey, cb) {
-    getChannelList(Env, Sessions, publicKey, function (channels) {
+var getHash = function (Env, publicKey, cb) {
+    getChannelList(Env, publicKey, function (channels) {
         cb(void 0, hashChannelList(channels));
     });
 };
 
 // TODO check if new pinned size exceeds user quota
-var pinChannel = function (Env, Sessions, publicKey, channels, cb) {
+var pinChannel = function (Env, publicKey, channels, cb) {
     var pinStore = Env.pinStore;
 
     if (!channels && channels.filter) {
@@ -373,8 +375,8 @@ var pinChannel = function (Env, Sessions, publicKey, channels, cb) {
         return void cb('[TYPE_ERROR] pin expects channel list argument');
     }
 
-    getChannelList(Env, Sessions, publicKey, function (pinned) {
-        var session = beginSession(Sessions, publicKey);
+    getChannelList(Env, publicKey, function (pinned) {
+        var session = beginSession(Env.Sessions, publicKey);
 
         // only pin channels which are not already pinned
         var toStore = channels.filter(function (channel) {
@@ -382,7 +384,7 @@ var pinChannel = function (Env, Sessions, publicKey, channels, cb) {
         });
 
         if (toStore.length === 0) {
-            return void getHash(Env, Sessions, publicKey, cb);
+            return void getHash(Env, publicKey, cb);
         }
 
         pinStore.message(publicKey, JSON.stringify(['PIN', toStore]),
@@ -391,20 +393,20 @@ var pinChannel = function (Env, Sessions, publicKey, channels, cb) {
             toStore.forEach(function (channel) {
                 session.channels[channel] = true;
             });
-            getHash(Env, Sessions, publicKey, cb);
+            getHash(Env, publicKey, cb);
         });
     });
 };
 
-var unpinChannel = function (Env, Sessions, publicKey, channels, cb) {
+var unpinChannel = function (Env, publicKey, channels, cb) {
     var pinStore = Env.pinStore;
     if (!channels && channels.filter) {
         // expected array
         return void cb('[TYPE_ERROR] unpin expects channel list argument');
     }
 
-    getChannelList(pinStore, Sessions, publicKey, function (pinned) {
-        var session = beginSession(Sessions, publicKey);
+    getChannelList(Env, publicKey, function (pinned) {
+        var session = beginSession(Env.Sessions, publicKey);
 
         // only unpin channels which are pinned
         var toStore = channels.filter(function (channel) {
@@ -412,7 +414,7 @@ var unpinChannel = function (Env, Sessions, publicKey, channels, cb) {
         });
 
         if (toStore.length === 0) {
-            return void getHash(Env, Sessions, publicKey, cb);
+            return void getHash(Env, publicKey, cb);
         }
 
         pinStore.message(publicKey, JSON.stringify(['UNPIN', toStore]),
@@ -422,15 +424,15 @@ var unpinChannel = function (Env, Sessions, publicKey, channels, cb) {
                 delete session.channels[channel];
             });
 
-            getHash(Env, Sessions, publicKey, cb);
+            getHash(Env, publicKey, cb);
         });
     });
 };
 
 // TODO check if new pinned size exceeds user quota
-var resetUserPins = function (Env, Sessions, publicKey, channelList, cb) {
+var resetUserPins = function (Env, publicKey, channelList, cb) {
     var pinStore = Env.pinStore;
-    var session = beginSession(Sessions, publicKey);
+    var session = beginSession(Env.Sessions, publicKey);
 
     var pins = session.channels = {};
 
@@ -441,7 +443,7 @@ var resetUserPins = function (Env, Sessions, publicKey, channelList, cb) {
             pins[channel] = true;
         });
 
-        getHash(Env, Sessions, publicKey, function (e, hash) {
+        getHash(Env, publicKey, function (e, hash) {
             cb(e, hash);
         });
     });
@@ -562,12 +564,12 @@ var makeFileStream = function (root, id, cb) {
     });
 };
 
-var upload = function (Env, Sessions, publicKey, content, cb) {
+var upload = function (Env, publicKey, content, cb) {
     var paths = Env.paths;
     var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line
     var len = dec.length;
 
-    var session = beginSession(Sessions, publicKey);
+    var session = beginSession(Env.Sessions, publicKey);
 
     if (typeof(session.currentUploadSize) !== 'number') {
         // improperly initialized... maybe they didn't check before uploading?
@@ -595,7 +597,7 @@ var upload = function (Env, Sessions, publicKey, content, cb) {
     }
 };
 
-var upload_cancel = function (Env, Sessions, publicKey, cb) {
+var upload_cancel = function (Env, publicKey, cb) {
     var paths = Env.paths;
     var path = makeFilePath(paths.staging, publicKey);
     if (!path) {
@@ -620,9 +622,9 @@ var isFile = function (filePath, cb) {
     });
 };
 
-var upload_complete = function (Env, Sessions, publicKey, cb) {
+var upload_complete = function (Env, publicKey, cb) {
     var paths = Env.paths;
-    var session = beginSession(Sessions, publicKey);
+    var session = beginSession(Env.Sessions, publicKey);
 
     if (session.blobstage && session.blobstage.close) {
         session.blobstage.close();
@@ -666,8 +668,9 @@ var upload_complete = function (Env, Sessions, publicKey, cb) {
     });
 };
 
-var upload_status = function (Env, msgStore, Sessions, publicKey, filesize, cb) {
+var upload_status = function (Env, publicKey, filesize, cb) {
     var paths = Env.paths;
+    //var msgStore = Env.msgStore;
 
     // validate that the provided size is actually a positive number
     if (typeof(filesize) !== 'number' &&
@@ -679,7 +682,7 @@ var upload_status = function (Env, msgStore, Sessions, publicKey, filesize, cb)
 
     getLimit(publicKey, function (e, limit) {
         if (e) { return void cb(e); }
-        getTotalSize(Env, msgStore, Sessions, publicKey, function (e, size) {
+        getTotalSize(Env, publicKey, function (e, size) {
             if ((filesize + size) >= limit) { return cb('TOO_LARGE'); }
             isFile(filePath, function (e, yes) {
                 if (e) {
@@ -697,13 +700,12 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
     // load pin-store...
     console.log('loading rpc module...');
 
-    var Sessions = {};
-
     var keyOrDefaultString = function (key, def) {
         return typeof(config[key]) === 'string'? config[key]: def;
     };
 
     var Env = {};
+    var Sessions = Env.Sessions = {};
 
     var paths = Env.paths = {};
     var pinPath = paths.pin = keyOrDefaultString('pinPath', './pins');
@@ -780,35 +782,35 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             Respond('E_ACCESS_DENIED');
         };
 
-        var msgStore = ctx.store;
+        if (!Env.msgStore) { Env.msgStore = ctx.store; }
 
         var handleMessage = function (privileged) {
         switch (msg[0]) {
             case 'COOKIE': return void Respond(void 0);
             case 'RESET':
-                return resetUserPins(Env, Sessions, safeKey, msg[1], function (e, hash) {
+                return resetUserPins(Env, safeKey, msg[1], function (e, hash) {
                     return void Respond(e, hash);
                 });
             case 'PIN': // TODO don't pin if over the limit
                 // if over, send error E_OVER_LIMIT
-                return pinChannel(Env, Sessions, safeKey, msg[1], function (e, hash) {
+                return pinChannel(Env, safeKey, msg[1], function (e, hash) {
                     Respond(e, hash);
                 });
             case 'UNPIN':
-                return unpinChannel(Env, Sessions, safeKey, msg[1], function (e, hash) {
+                return unpinChannel(Env, safeKey, msg[1], function (e, hash) {
                     Respond(e, hash);
                 });
             case 'GET_HASH':
-                return void getHash(Env, Sessions, safeKey, function (e, hash) {
+                return void getHash(Env, safeKey, function (e, hash) {
                     Respond(e, hash);
                 });
             case 'GET_TOTAL_SIZE': // TODO cache this, since it will get called quite a bit
-                return getTotalSize(Env, msgStore, Sessions, safeKey, function (e, size) {
+                return getTotalSize(Env, safeKey, function (e, size) {
                     if (e) { return void Respond(e); }
                     Respond(e, size);
                 });
             case 'GET_FILE_SIZE':
-                return void getFileSize(Env, msgStore, msg[1], Respond);
+                return void getFileSize(Env, msg[1], Respond);
             case 'UPDATE_LIMITS':
                 return void updateLimits(config, safeKey, function (e, limit) {
                     if (e) { return void Respond(e); }
@@ -820,7 +822,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                     Respond(void 0, limit);
                 });
             case 'GET_MULTIPLE_FILE_SIZE':
-                return void getMultipleFileSize(Env, msgStore, msg[1], function (e, dict) {
+                return void getMultipleFileSize(Env, msg[1], function (e, dict) {
                     if (e) { return void Respond(e); }
                     Respond(void 0, dict);
                 });
@@ -828,13 +830,13 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             // restricted to privileged users...
             case 'UPLOAD':
                 if (!privileged) { return deny(); }
-                return void upload(Env, Sessions, safeKey, msg[1], function (e, len) {
+                return void upload(Env, safeKey, msg[1], function (e, len) {
                     Respond(e, len);
                 });
             case 'UPLOAD_STATUS':
                 if (!privileged) { return deny(); }
                 var filesize = msg[1];
-                return void upload_status(Env, msgStore, Sessions, safeKey, msg[1], function (e, yes) {
+                return void upload_status(Env, safeKey, msg[1], function (e, yes) {
                     if (!e && !yes) {
                         // no pending uploads, set the new size
                         var user = beginSession(Sessions, safeKey);
@@ -845,12 +847,12 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                 });
             case 'UPLOAD_COMPLETE':
                 if (!privileged) { return deny(); }
-                return void upload_complete(Env, Sessions, safeKey, function (e, hash) {
+                return void upload_complete(Env, safeKey, function (e, hash) {
                     Respond(e, hash);
                 });
             case 'UPLOAD_CANCEL':
                 if (!privileged) { return deny(); }
-                return void upload_cancel(Env, Sessions, safeKey, function (e) {
+                return void upload_cancel(Env, safeKey, function (e) {
                     Respond(e);
                 });
             default:

From 6b7aeb91218bbcb135660ea856824023be13ef7a Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Wed, 17 May 2017 15:48:09 +0200
Subject: [PATCH 083/236] Fix the text example

---
 www/common/common-hash.js | 5 +++--
 www/examples/text/main.js | 9 +++++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index c6bf29ce9..c8536b347 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -113,12 +113,13 @@ Version 1
             return ret;
         }
 
-        var hash = href.replace(patt, function (a, domain, type) {
+        href.replace(patt, function (a, domain, type) {
             ret.domain = domain;
             ret.type = type;
             return '';
         });
-        ret.hash = hash.replace(/#/g, '');
+        var idx = href.indexOf('/#');
+        ret.hash = href.slice(idx + 2);
         ret.hashData = parseTypeHash(ret.type, ret.hash);
         return ret;
     };
diff --git a/www/examples/text/main.js b/www/examples/text/main.js
index eed9ff300..e4637b681 100644
--- a/www/examples/text/main.js
+++ b/www/examples/text/main.js
@@ -8,6 +8,9 @@ define([
 ], function ($, Config, Realtime, Crypto, TextPatcher, Cryptpad) {
 
     var secret = Cryptpad.getSecrets();
+    if (!secret.keys) {
+        secret.keys = secret.key;
+    }
 
     var module = window.APP = {
         TextPatcher: TextPatcher
@@ -19,8 +22,9 @@ define([
     var config = module.config = {
         initialState: '',
         websocketURL: Config.websocketURL,
+        validateKey: secret.keys.validateKey || undefined,
         channel: secret.channel,
-        crypto: Crypto.createEncryptor(secret.key),
+        crypto: Crypto.createEncryptor(secret.keys),
     };
 
     var setEditable = function (bool) { $textarea.attr('disabled', !bool); };
@@ -29,7 +33,8 @@ define([
     setEditable(false);
 
     config.onInit = function (info) {
-        window.location.hash = info.channel + secret.key;
+        var editHash = Cryptpad.getEditHashFromKeys(info.channel, secret.keys);
+        Cryptpad.replaceHash(editHash);
         $(window).on('hashchange', function() {
             window.location.reload();
         });

From b72415b56bf158c3aee07790d8be32815c1c006c Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 18 May 2017 10:13:08 +0200
Subject: [PATCH 084/236] Fix old hashes not working with the new parser

---
 www/common/common-hash.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index c8536b347..9e72bcdeb 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -167,8 +167,8 @@ Version 1
             // new hash system : #/{hashVersion}/{b64ChanKey}/{cryptKey}
             if (parsed.version === 0) {
                 // Old hash
-                secret.channel = hash.slice(0, 32);
-                secret.key = hash.slice(32);
+                secret.channel = parsed.channel;
+                secret.key = parsed.key;
             }
             else if (parsed.version === 1) {
                 // New hash

From 56bcdff89081eb7f7fa504e20786ea645525d97b Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 18 May 2017 12:16:26 +0200
Subject: [PATCH 085/236] Add a preview of the markdown content in the code
 editor

---
 www/code/inner.html             |  75 +++++++++++++++++-------
 www/code/main.js                |  49 ++++++++++++++--
 www/common/common-codemirror.js |   8 ++-
 www/drive/main.js               |   5 +-
 www/slide/main.js               |  11 ++++
 www/slide/slide.js              | 101 +++-----------------------------
 6 files changed, 123 insertions(+), 126 deletions(-)

diff --git a/www/code/inner.html b/www/code/inner.html
index cec96bbac..8dd02548a 100644
--- a/www/code/inner.html
+++ b/www/code/inner.html
@@ -32,32 +32,63 @@
     <script src="/bower_components/codemirror/addon/fold/comment-fold.js"></script>
     <script src="/bower_components/codemirror/addon/display/placeholder.js"></script>
     <style>
-      html, body{
-          height: 100%;
-          width: 100%;
-          padding: 0px;
-          margin: 0px;
-          overflow: hidden;
-          box-sizing: border-box;
-          position: relative;
-      }
-      body {
-          display: flex;
-          flex-flow: column;
-      }
-      .CodeMirror {
-        height: 100%;
-      }
-      .CodeMirror-focused .cm-matchhighlight {
-        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==);
-        background-position: bottom;
-        background-repeat: repeat-x;
-      }
+        html, body{
+            height: 100%;
+            width: 100%;
+            padding: 0px;
+            margin: 0px;
+            overflow: hidden;
+            box-sizing: border-box;
+            position: relative;
+        }
+        body {
+            display: flex;
+            flex-flow: column;
+            max-height: 100%;
+            min-height: auto;
+        }
+        .CodeMirror {
+            display: inline-block;
+            height: 100%;
+            width: 50%;
+            min-width: 20%;
+            max-width: 80%;
+            resize: horizontal;
+        }
+        .CodeMirror-focused .cm-matchhighlight {
+            background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==);
+            background-position: bottom;
+            background-repeat: repeat-x;
+        }
+        #editorContainer {
+            flex: 1;
+            display: flex;
+            flex-flow: row;
+            height: 100%;
+            overflow: hidden;
+        }
+        #previewContainer {
+            flex: 1;
+            padding: 5px 20px;
+            overflow: auto;
+            display: inline-block;
+            height: 100%;
+            border: 1px solid black;
+            box-sizing: border-box;
+            font-family: Calibri,Ubuntu,sans-serif;
+        }
+        #preview {
+            max-width: 40vw;
+            margin: auto;
+        }
     </style>
 </head>
 <body>
   <div id="cme_toolbox" class="toolbar-container"></div>
-  <textarea id="editor1" name="editor1"></textarea>
+  <div id="editorContainer">
+    <textarea id="editor1" name="editor1"></textarea>
+    <div id="previewContainer"><div id="preview"></div></div>
+  </div>
 </body>
 </html>
 
diff --git a/www/code/main.js b/www/code/main.js
index 85cd26db3..04e20141a 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -8,7 +8,9 @@ define([
     '/bower_components/chainpad-json-validator/json-ot.js',
     '/common/cryptpad-common.js',
     '/common/cryptget.js',
-], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad, Cryptget) {
+    '/common/diffMarked.js',
+], function ($, Crypto, Realtime, TextPatcher, Toolbar, JSONSortify, JsonOT, Cryptpad,
+             Cryptget, DiffMd) {
     var Messages = Cryptpad.Messages;
 
     var module = window.APP = {
@@ -25,6 +27,18 @@ define([
 
         var toolbar;
         var editor;
+        var $iframe = $('#pad-iframe').contents();
+        var $preview = $iframe.find('#preview');
+        $preview.click(function (e) {
+            if (!e.target) { return; }
+            var $t = $(e.target);
+            if ($t.is('a') || $t.parents('a').length) {
+                e.preventDefault();
+                var $a = $t.is('a') ? $t : $t.parents('a').first();
+                var href = $a.attr('href');
+                window.open(href);
+            }
+        });
 
         var secret = Cryptpad.getSecrets();
         var readOnly = secret.keys && !secret.keys.editKeyStr;
@@ -102,6 +116,8 @@ define([
 
                 editor.save();
 
+                DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
+
                 var textValue = canonicalize(CodeMirror.$textarea.val());
                 var shjson = stringifyInner(textValue);
 
@@ -112,7 +128,15 @@ define([
                 }
             };
 
-
+            var onModeChanged = function (mode) {
+            if (mode === "markdown") {
+                    APP.$previewButton.show();
+                    $preview.show();
+                    return;
+                }
+                APP.$previewButton.hide();
+                $preview.hide();
+            };
 
             config.onInit = function (info) {
                 UserList = Cryptpad.createUserList(info, config.onLocal, Cryptget, Cryptpad);
@@ -193,8 +217,19 @@ define([
                 var $forgetPad = Cryptpad.createButton('forget', true, {}, forgetCb);
                 $rightside.append($forgetPad);
 
+                var $previewButton = APP.$previewButton = Cryptpad.createButton(null, true);
+                $previewButton.removeClass('fa-question').addClass('fa-eye');
+                $previewButton.attr('title', 'TODO Preview'); //TODO
+                $previewButton.click(function () {
+                    if (CodeMirror.highlightMode !== 'markdown') {
+                        return void $preview.hide();
+                    }
+                    $preview.toggle();
+                });
+                $rightside.append($previewButton);
+
                 if (!readOnly) {
-                    CodeMirror.configureLanguage(CodeMirror.configureTheme);
+                    CodeMirror.configureLanguage(CodeMirror.configureTheme, onModeChanged);
                 }
                 else {
                     CodeMirror.configureTheme();
@@ -231,12 +266,12 @@ define([
                     newDoc = hjson.content;
 
                     if (hjson.highlightMode) {
-                        CodeMirror.setMode(hjson.highlightMode);
+                        CodeMirror.setMode(hjson.highlightMode, onModeChanged);
                     }
                 }
 
                 if (!CodeMirror.highlightMode) {
-                    CodeMirror.setMode('javascript');
+                    CodeMirror.setMode('markdown', onModeChanged);
                     console.log("%s => %s", CodeMirror.highlightMode, CodeMirror.$language.val());
                 }
 
@@ -274,9 +309,11 @@ define([
                 var hjson = JSON.parse(shjson);
                 var remoteDoc = hjson.content;
 
+                DiffMd.apply(DiffMd.render(remoteDoc), $preview);
+
                 var highlightMode = hjson.highlightMode;
                 if (highlightMode && highlightMode !== module.highlightMode) {
-                    CodeMirror.setMode(highlightMode);
+                    CodeMirror.setMode(highlightMode, onModeChanged);
                 }
 
                 CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher);
diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js
index bec2b98e4..4bc38cc46 100644
--- a/www/common/common-codemirror.js
+++ b/www/common/common-codemirror.js
@@ -46,10 +46,11 @@ define([
         });
         editor.setValue(Messages.codeInitialState);
 
-        var setMode = exp.setMode = function (mode) {
+        var setMode = exp.setMode = function (mode, cb) {
             exp.highlightMode = mode;
             if (mode === 'text') {
                 editor.setOption('mode', 'text');
+                if (cb) { cb('text'); }
                 return;
             }
             CMeditor.autoLoadMode(editor, mode);
@@ -58,6 +59,7 @@ define([
                 var name = exp.$language.find('a[data-value="' + mode + '"]').text() || 'Mode';
                 exp.$language.setValue(name);
             }
+            if(cb) { cb(mode); }
         };
 
         var setTheme = exp.setTheme = (function () {
@@ -131,7 +133,7 @@ define([
             return text.trim();
         };
 
-        exp.configureLanguage = function (cb) {
+        exp.configureLanguage = function (cb, onModeChanged) {
             var options = [];
             Modes.list.forEach(function (l) {
                 options.push({
@@ -151,7 +153,7 @@ define([
             };
             var $block = exp.$language = Cryptpad.createDropdown(dropdownConfig);
             $block.find('a').click(function () {
-                setMode($(this).attr('data-value'), $block);
+                setMode($(this).attr('data-value'), onModeChanged);
                 onLocal();
             });
 
diff --git a/www/drive/main.js b/www/drive/main.js
index 114c9d3d5..a85c86e47 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -2357,9 +2357,12 @@ define([
             e.stopPropagation();
             var path = $(this).data('path');
             var onCreated = function (err, info) {
-                if (err && err === E_OVER_LIMIT) {
+                if (err === E_OVER_LIMIT) {
                     return void Cryptpad.alert(Messages.pinLimitDrive, null, true);
                 }
+                if (err) {
+                    return void console.error("Unable to create the file", err);
+                }
                 module.newFolder = info.newPath;
                 refresh();
             };
diff --git a/www/slide/main.js b/www/slide/main.js
index c8463e5a6..6f04f96d0 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -79,6 +79,17 @@ define([
             var $print = $pad.contents().find('#print');
             var slideOptions = {};
 
+            $content.click(function (e) {
+                if (!e.target) { return; }
+                var $t = $(e.target);
+                if ($t.is('a') || $t.parents('a').length) {
+                    e.preventDefault();
+                    var $a = $t.is('a') ? $t : $t.parents('a').first();
+                    var href = $a.attr('href');
+                    window.open(href);
+                }
+            });
+
             Slide.setModal(APP, $modal, $content, $pad, ifrw, slideOptions, initialState);
 
             var enterPresentationMode = function (shouldLog) {
diff --git a/www/slide/slide.js b/www/slide/slide.js
index c7a8adf5e..108a8848a 100644
--- a/www/slide/slide.js
+++ b/www/slide/slide.js
@@ -1,15 +1,11 @@
 define([
     'jquery',
-    '/bower_components/marked/marked.min.js',
-    '/bower_components/diff-dom/diffDOM.js'
-],function ($, Marked) {
-    var DiffDOM = window.diffDOM;
-
-    var renderer = new Marked.Renderer();
-
+    '/common/diffMarked.js',
+],function ($, DiffMd) {
+    // Tasks list
     var checkedTaskItemPtn = /^\s*\[x\]\s*/;
     var uncheckedTaskItemPtn = /^\s*\[ \]\s*/;
-    renderer.listitem = function (text) {
+    DiffMd.renderer.listitem = function (text) {
         var isCheckedTaskItem = checkedTaskItemPtn.test(text);
         var isUncheckedTaskItem = uncheckedTaskItemPtn.test(text);
         if (isCheckedTaskItem) {
@@ -24,10 +20,6 @@ define([
         return '<li'+ cls + '>' + text + '</li>\n';
     };
 
-    Marked.setOptions({
-        renderer: renderer
-    });
-
     var Slide = {
         index: 0,
         lastIndex: 0,
@@ -63,78 +55,6 @@ define([
         }
     };
 
-    var forbiddenTags = Slide.forbiddenTags = [
-        'SCRIPT',
-        'IFRAME',
-        'OBJECT',
-        'APPLET',
-        'VIDEO',
-        'AUDIO',
-    ];
-    var unsafeTag = function (info) {
-        if (['addAttribute', 'modifyAttribute'].indexOf(info.diff.action) !== -1) {
-            if (/^on/.test(info.diff.name)) {
-                console.log("Rejecting forbidden element attribute with name", info.diff.name);
-                return true;
-            }
-        }
-        if (['addElement', 'replaceElement'].indexOf(info.diff.action) !== -1) {
-            var msg = "Rejecting forbidden tag of type (%s)";
-            if (info.diff.element && forbiddenTags.indexOf(info.diff.element.nodeName) !== -1) {
-                console.log(msg, info.diff.element.nodeName);
-                return true;
-            } else if (info.diff.newValue && forbiddenTags.indexOf(info.diff.newValue.nodeName) !== -1) {
-                console.log("Replacing restricted element type (%s) with PRE", info.diff.newValue.nodeName);
-                info.diff.newValue.nodeName = 'PRE';
-            }
-        }
-    };
-
-    var domFromHTML = Slide.domFromHTML = function (html) {
-        return new DOMParser().parseFromString(html, "text/html");
-    };
-
-    var DD = new DiffDOM({
-        preDiffApply: function (info) {
-            if (unsafeTag(info)) { return true; }
-        }
-    });
-
-    var makeDiff = function (A, B) {
-        var Err;
-        var Els = [A, B].map(function (frag) {
-            if (typeof(frag) === 'object') {
-                if (!frag || (frag && !frag.body)) {
-                    Err = "No body";
-                    return;
-                }
-                var els = frag.body.querySelectorAll('#content');
-                if (els.length) {
-                    return els[0];
-                }
-            }
-            Err = 'No candidate found';
-        });
-        if (Err) { return Err; }
-        var patch = DD.diff(Els[0], Els[1]);
-        return patch;
-    };
-
-    var slice = function (coll) {
-        return Array.prototype.slice.call(coll);
-    };
-
-    /*  remove listeners from the DOM */
-    var removeListeners = function (root) {
-        slice(root.attributes).map(function (attr) {
-            if (/^on/.test(attr.name)) {
-                root.attributes.removeNamedItem(attr.name);
-            }
-        });
-        // all the way down
-        slice(root.children).forEach(removeListeners);
-    };
-
     var updateFontSize = Slide.updateFontSize = function() {
         // 20vh
         // 20 * 16 / 9vw
@@ -157,17 +77,10 @@ define([
         if (typeof(Slide.content) !== 'string') { return; }
 
         var c = Slide.content;
-        var m = '<span class="slide-container"><span class="'+slideClass+'">'+Marked(c).replace(separatorReg, '</span></span><span class="slide-container"><span class="'+slideClass+'">')+'</span></span>';
+        var m = '<span class="slide-container"><span class="'+slideClass+'">'+DiffMd.render(c).replace(separatorReg, '</span></span><span class="slide-container"><span class="'+slideClass+'">')+'</span></span>';
 
-        var Dom = domFromHTML('<div id="content">' + m + '</div>');
-        removeListeners(Dom.body);
-        var patch = makeDiff(domFromHTML($content[0].outerHTML), Dom);
+        DiffMd.apply(m, $content);
 
-        if (typeof(patch) === 'string') {
-            $content.html(m);
-        } else {
-            DD.apply($content[0], patch);
-        }
         var length = getNumberOfSlides();
         $modal.find('style.slideStyle').remove();
         if (options.style && Slide.shown) {
@@ -185,7 +98,7 @@ define([
             }
         });
         $content.removeClass('transition');
-        if (options.transition) {
+        if (options.transition || typeof(options.transition) === "undefined") {
             $content.addClass('transition');
         }
         //$content.find('.' + slideClass).hide();

From 7befaccd88ba38240620041600cd4c69563a3de3 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 12:36:12 +0200
Subject: [PATCH 086/236] move more rpc calls into pinpad

---
 www/common/cryptpad-common.js | 15 +++++++++++++++
 www/common/pinpad.js          | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 2504efea8..14f0a8b66 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -779,6 +779,21 @@ define([
         common.getPinnedUsage(todo);
     };
 
+    common.uploadComplete = function (cb) {
+        if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
+        rpc.uploadComplete(cb);
+    };
+
+    common.uploadStatus = function (size, cb) {
+        if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
+        rpc.uploadStatus(size, cb);
+    };
+
+    common.uploadCancel = function (cb) {
+        if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
+        rpc.uploadCancel(cb);
+    };
+
     var LIMIT_REFRESH_RATE = 30000; // milliseconds
     common.createUsageBar = function (cb, alwaysDisplayUpgrade) {
         var todo = function (err, state, data) {
diff --git a/www/common/pinpad.js b/www/common/pinpad.js
index 5fe0b2b8e..c0b057cf8 100644
--- a/www/common/pinpad.js
+++ b/www/common/pinpad.js
@@ -144,6 +144,40 @@ define([
                 });
             };
 
+            exp.uploadComplete = function (cb) {
+                rpc.send('UPLOAD_COMPLETE', null, function (e, res) {
+                    if (e) { return void cb(e); }
+                    var id = res[0];
+                    if (typeof(id) !== 'string') {
+                        return void cb('INVALID_ID');
+                    }
+                    cb(void 0, id);
+                });
+            };
+
+            exp.uploadStatus = function (size, cb) {
+                if (typeof(size) !== 'number') {
+                    return void window.setTimeout(function () {
+                        cb('INVALID_SIZE');
+                    });
+                }
+                rpc.send('UPLOAD_STATUS', size, function (e, res) {
+                    if (e) { return void cb(e); }
+                    var pending = res[0];
+                    if (typeof(pending) !== 'boolean') {
+                        return void cb('INVALID_RESPONSE');
+                    }
+                    cb(void 0, pending);
+                });
+            };
+
+            exp.uploadCancel = function (cb) {
+                rpc.send('UPLOAD_CANCEL', void 0, function (e, res) {
+                    if (e) { return void cb(e); }
+                    cb();
+                });
+            };
+
             cb(e, exp);
         });
     };

From 80479fdc902e7a16c45f09db13e93a8969c3ec69 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 12:44:16 +0200
Subject: [PATCH 087/236] use rpc calls from cryptpad common

---
 www/file/main.js | 31 +++++++++++++------------------
 1 file changed, 13 insertions(+), 18 deletions(-)

diff --git a/www/file/main.js b/www/file/main.js
index 2f75edb9a..41b8230e3 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -65,9 +65,8 @@ define([
             }
 
             // if not box then done
-            Cryptpad.rpc.send('UPLOAD_COMPLETE', '', function (e, res) {
+            Cryptpad.uploadComplete(function (e, id) {
                 if (e) { return void console.error(e); }
-                var id = res[0];
                 var uri = ['', 'blob', id.slice(0,2), id].join('/');
                 console.log("encrypted blob is now available as %s", uri);
 
@@ -78,32 +77,28 @@ define([
 
                 APP.toolbar.addElement(['fileshare'], {});
 
-                // check if the uploaded file can be decrypted
-                var newU8 = FileCrypto.joinChunks(chunks);
-                FileCrypto.decrypt(newU8, key, function (e, res) {
-                    if (e) { return console.error(e); }
-                    var title = document.title = res.metadata.name;
-                    myFile = res.content;
-                    myDataType = res.metadata.type;
-
-                    var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href));
-                    Title.updateTitle(title || defaultName);
-                    APP.toolbar.title.show();
-                    Cryptpad.alert(Messages._getKey('upload_success', [title]));
-                });
+                var title = document.title = metadata.name;
+                myFile = blob;
+                myDataType = metadata.type;
+                var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href));
+                Title.updateTitle(title || defaultName);
+                APP.toolbar.title.show();
+                console.log(title);
+                Cryptpad.alert(Messages._getKey('upload_success', [title]));
             });
         };
 
-        Cryptpad.rpc.send('UPLOAD_STATUS', estimate, function (e, pending) {
+        Cryptpad.uploadStatus(estimate, function (e, pending) {
             if (e) {
                 console.error(e);
                 return void Cryptpad.alert(Messages.upload_serverError);
             }
 
-            if (pending[0]) {
+            if (pending) {
+                // TODO queue uploads... ?
                 return void Cryptpad.confirm(Messages.upload_uploadPending, function (yes) {
                     if (!yes) { return; }
-                    Cryptpad.rpc.send('UPLOAD_CANCEL', '', function (e, res) {
+                    Cryptpad.uploadCancel(function (e, res) {
                         if (e) { return void console.error(e); }
                         console.log(res);
                         next(again);

From df1433b53fbaecf0318e98cd3e0fe01d55d3c26f Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 12:45:40 +0200
Subject: [PATCH 088/236] don't pin if users don't have space.

better validation of rpc calls
---
 rpc.js | 248 +++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 153 insertions(+), 95 deletions(-)

diff --git a/rpc.js b/rpc.js
index 3902245a7..e2f62230b 100644
--- a/rpc.js
+++ b/rpc.js
@@ -366,15 +366,105 @@ var getHash = function (Env, publicKey, cb) {
     });
 };
 
-// TODO check if new pinned size exceeds user quota
-var pinChannel = function (Env, publicKey, channels, cb) {
-    var pinStore = Env.pinStore;
+// The limits object contains storage limits for all the publicKey that have paid
+// To each key is associated an object containing the 'limit' value and a 'note' explaining that limit
+var limits = {};
+var updateLimits = function (config, publicKey, cb) {
+    if (typeof cb !== "function") { cb = function () {}; }
 
+    var defaultLimit = typeof(config.defaultStorageLimit) === 'number'?
+        config.defaultStorageLimit: DEFAULT_LIMIT;
+
+    var body = JSON.stringify({
+        domain: config.domain,
+        subdomain: config.subdomain
+    });
+    var options = {
+        host: 'accounts.cryptpad.fr',
+        path: '/api/getauthorized',
+        method: 'POST',
+        headers: {
+            "Content-Type": "application/json",
+            "Content-Length": Buffer.byteLength(body)
+        }
+    };
+    var req = Https.request(options, function (response) {
+        if (!('' + response.statusCode).match(/^2\d\d$/)) {
+            return void cb('SERVER ERROR ' + response.statusCode);
+        }
+        var str = '';
+
+        response.on('data', function (chunk) {
+            str += chunk;
+        });
+
+        response.on('end', function () {
+            try {
+                var json = JSON.parse(str);
+                limits = json;
+                var l;
+                if (publicKey) {
+                    var limit = limits[publicKey];
+                    l = limit && typeof limit.limit === "number" ?
+                            [limit.limit, limit.plan] : [defaultLimit, ''];
+                }
+                cb(void 0, l);
+            } catch (e) {
+                cb(e);
+            }
+        });
+    });
+
+    req.on('error', function (e) {
+        if (!config.domain) { return cb(); }
+        cb(e);
+    });
+
+    req.end(body);
+};
+
+var getLimit = function (Env, publicKey, cb) {
+    var unescapedKey = unescapeKeyCharacters(publicKey);
+    var limit = limits[unescapedKey];
+    var defaultLimit = typeof(Env.defaultStorageLimit) === 'number'?
+        Env.defaultStorageLimit: DEFAULT_LIMIT;
+
+    var toSend = limit && typeof(limit.limit) === "number"?
+        [limit.limit, limit.plan] : [defaultLimit, ''];
+
+    cb(void 0, toSend);
+};
+
+var getFreeSpace = function (Env, publicKey, cb) {
+    getLimit(Env, publicKey, function (e, limit) {
+        if (e) { return void cb(e); }
+        getTotalSize(Env, publicKey, function (e, size) {
+            if (e) { return void cb(e); }
+
+            var rem = limit[0] - size;
+            if (typeof(rem) !== 'number') {
+                return void cb('invalid_response');
+            }
+            cb(void 0, rem);
+        });
+    });
+};
+
+var sumChannelSizes = function (sizes) {
+    return Object.keys(sizes).map(function (id) { return sizes[id]; })
+        .filter(function (x) {
+            // only allow positive numbers
+            return !(typeof(x) !== 'number' || x <= 0);
+        })
+        .reduce(function (a, b) { return a + b; });
+};
+
+var pinChannel = function (Env, publicKey, channels, cb) {
     if (!channels && channels.filter) {
-        // expected array
         return void cb('[TYPE_ERROR] pin expects channel list argument');
     }
 
+    // get channel list ensures your session has a cached channel list
     getChannelList(Env, publicKey, function (pinned) {
         var session = beginSession(Env.Sessions, publicKey);
 
@@ -387,13 +477,26 @@ var pinChannel = function (Env, publicKey, channels, cb) {
             return void getHash(Env, publicKey, cb);
         }
 
-        pinStore.message(publicKey, JSON.stringify(['PIN', toStore]),
-            function (e) {
+        getMultipleFileSize(Env, toStore, function (e, sizes) {
             if (e) { return void cb(e); }
-            toStore.forEach(function (channel) {
-                session.channels[channel] = true;
+            var pinSize = sumChannelSizes(sizes);
+
+            getFreeSpace(Env, publicKey, function (e, free) {
+                if (e) {
+                    console.error(e);
+                    return void cb(e);
+                }
+                if (pinSize > free) { return void cb('E_OVER_LIMIT'); }
+
+                Env.pinStore.message(publicKey, JSON.stringify(['PIN', toStore]),
+                    function (e) {
+                    if (e) { return void cb(e); }
+                    toStore.forEach(function (channel) {
+                        session.channels[channel] = true;
+                    });
+                    getHash(Env, publicKey, cb);
+                });
             });
-            getHash(Env, publicKey, cb);
         });
     });
 };
@@ -429,22 +532,41 @@ var unpinChannel = function (Env, publicKey, channels, cb) {
     });
 };
 
-// TODO check if new pinned size exceeds user quota
 var resetUserPins = function (Env, publicKey, channelList, cb) {
+    if (!Array.isArray(channelList)) { return void cb('INVALID_PIN_LIST'); }
     var pinStore = Env.pinStore;
     var session = beginSession(Env.Sessions, publicKey);
 
+    if (!channelList.length) {
+        return void getHash(Env, publicKey, function (e, hash) {
+            if (e) { return cb(e); }
+            cb(void 0, hash);
+        });
+    }
+
     var pins = session.channels = {};
 
-    pinStore.message(publicKey, JSON.stringify(['RESET', channelList]),
-        function (e) {
+    getMultipleFileSize(Env, channelList, function (e, sizes) {
         if (e) { return void cb(e); }
-        channelList.forEach(function (channel) {
-            pins[channel] = true;
-        });
+        var pinSize = sumChannelSizes(sizes);
 
-        getHash(Env, publicKey, function (e, hash) {
-            cb(e, hash);
+        getFreeSpace(Env, publicKey, function (e, free) {
+            if (e) {
+                console.error(e);
+                return void cb(e);
+            }
+            if (pinSize > free) { return void(cb('E_OVER_LIMIT')); }
+            pinStore.message(publicKey, JSON.stringify(['RESET', channelList]),
+                function (e) {
+                if (e) { return void cb(e); }
+                channelList.forEach(function (channel) {
+                    pins[channel] = true;
+                });
+
+                getHash(Env, publicKey, function (e, hash) {
+                    cb(e, hash);
+                });
+            });
         });
     });
 };
@@ -472,71 +594,6 @@ var isPrivilegedUser = function (publicKey, cb) {
         cb(list.indexOf(publicKey) !== -1);
     });
 };
-
-// The limits object contains storage limits for all the publicKey that have paid
-// To each key is associated an object containing the 'limit' value and a 'note' explaining that limit
-var limits = {};
-var updateLimits = function (config, publicKey, cb) {
-    if (typeof cb !== "function") { cb = function () {}; }
-
-    var body = JSON.stringify({
-        domain: config.domain,
-        subdomain: config.subdomain
-    });
-    var options = {
-        host: 'accounts.cryptpad.fr',
-        path: '/api/getauthorized',
-        method: 'POST',
-        headers: {
-            "Content-Type": "application/json",
-            "Content-Length": Buffer.byteLength(body)
-        }
-    };
-    var req = Https.request(options, function (response) {
-        if (!('' + response.statusCode).match(/^2\d\d$/)) {
-            return void cb('SERVER ERROR ' + response.statusCode);
-        }
-        var str = '';
-
-        response.on('data', function (chunk) {
-            str += chunk;
-        });
-
-        response.on('end', function () {
-            try {
-                var json = JSON.parse(str);
-                limits = json;
-                var l;
-                if (publicKey) {
-                    var limit = limits[publicKey];
-                    l = limit && typeof limit.limit === "number" ?
-                            [limit.limit, limit.plan] : [DEFAULT_LIMIT, ''];
-                }
-                cb(void 0, l);
-            } catch (e) {
-                cb(e);
-            }
-        });
-    });
-
-    req.on('error', function (e) {
-        if (!config.domain) { return cb(); }
-        cb(e);
-    });
-
-    req.end(body);
-};
-
-var getLimit = function (publicKey, cb) {
-    var unescapedKey = unescapeKeyCharacters(publicKey);
-    var limit = limits[unescapedKey];
-
-    var toSend = limit && typeof(limit.limit) === "number"?
-        [limit.limit, limit.plan] : [DEFAULT_LIMIT, ''];
-
-    cb(void 0, toSend);
-};
-
 var safeMkdir = function (path, cb) {
     Fs.mkdir(path, function (e) {
         if (!e || e.code === 'EEXIST') { return void cb(); }
@@ -680,17 +737,15 @@ var upload_status = function (Env, publicKey, filesize, cb) {
     var filePath = makeFilePath(paths.staging, publicKey);
     if (!filePath) { return void cb('E_INVALID_PATH'); }
 
-    getLimit(publicKey, function (e, limit) {
+    getFreeSpace(Env, publicKey, function (e, free) {
         if (e) { return void cb(e); }
-        getTotalSize(Env, publicKey, function (e, size) {
-            if ((filesize + size) >= limit) { return cb('TOO_LARGE'); }
-            isFile(filePath, function (e, yes) {
-                if (e) {
-                    console.error("uploadError: [%s]", e);
-                    return cb('UNNOWN_ERROR');
-                }
-                cb(e, yes);
-            });
+        if (filesize >= free) { return cb('TOO_LARGE'); }
+        isFile(filePath, function (e, yes) {
+            if (e) {
+                console.error("uploadError: [%s]", e);
+                return cb('UNNOWN_ERROR');
+            }
+            cb(e, yes);
         });
     });
 };
@@ -705,6 +760,10 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
     };
 
     var Env = {};
+    Env.defaultStorageLimit = config.defaultStorageLimit;
+
+    Env.maxUploadSize = config.maxUploadSize || (20 * 1024 * 1024);
+
     var Sessions = Env.Sessions = {};
 
     var paths = Env.paths = {};
@@ -791,8 +850,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                 return resetUserPins(Env, safeKey, msg[1], function (e, hash) {
                     return void Respond(e, hash);
                 });
-            case 'PIN': // TODO don't pin if over the limit
-                // if over, send error E_OVER_LIMIT
+            case 'PIN':
                 return pinChannel(Env, safeKey, msg[1], function (e, hash) {
                     Respond(e, hash);
                 });
@@ -817,7 +875,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
                     Respond(void 0, limit);
                 });
             case 'GET_LIMIT':
-                return void getLimit(safeKey, function (e, limit) {
+                return void getLimit(Env, safeKey, function (e, limit) {
                     if (e) { return void Respond(e); }
                     Respond(void 0, limit);
                 });

From 4debec39bb8ca6e4948d9cc836372c3dcbd0d085 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 12:58:49 +0200
Subject: [PATCH 089/236] update footer with next release codename and
 corrected matrix link

---
 customize.dist/about.html                | 4 ++--
 customize.dist/contact.html              | 4 ++--
 customize.dist/index.html                | 4 ++--
 customize.dist/privacy.html              | 4 ++--
 customize.dist/src/fragments/footer.html | 4 ++--
 customize.dist/terms.html                | 4 ++--
 www/settings/index.html                  | 4 ++--
 7 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/customize.dist/about.html b/customize.dist/about.html
index b0b719033..044343a24 100644
--- a/customize.dist/about.html
+++ b/customize.dist/about.html
@@ -106,7 +106,7 @@
                     <div class="col">
                         <ul class="list-unstyled">
                             <li class="title" data-localization="footer_contact"><li>
-                            <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
+                            <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
                             <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li>
                             <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li>
                             <li><a href="/contact.html">Email</a></li>
@@ -114,7 +114,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div>
+            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/contact.html b/customize.dist/contact.html
index aa81fac60..70dbf9083 100644
--- a/customize.dist/contact.html
+++ b/customize.dist/contact.html
@@ -103,7 +103,7 @@
                     <div class="col">
                         <ul class="list-unstyled">
                             <li class="title" data-localization="footer_contact"><li>
-                            <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
+                            <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
                             <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li>
                             <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li>
                             <li><a href="/contact.html">Email</a></li>
@@ -111,7 +111,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div>
+            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/index.html b/customize.dist/index.html
index d246d84d0..420d3664a 100644
--- a/customize.dist/index.html
+++ b/customize.dist/index.html
@@ -225,7 +225,7 @@
                     <div class="col">
                         <ul class="list-unstyled">
                             <li class="title" data-localization="footer_contact"><li>
-                            <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
+                            <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
                             <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li>
                             <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li>
                             <li><a href="/contact.html">Email</a></li>
@@ -233,7 +233,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div>
+            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/privacy.html b/customize.dist/privacy.html
index 00a266236..345bac0f1 100644
--- a/customize.dist/privacy.html
+++ b/customize.dist/privacy.html
@@ -124,7 +124,7 @@
                     <div class="col">
                         <ul class="list-unstyled">
                             <li class="title" data-localization="footer_contact"><li>
-                            <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
+                            <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
                             <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li>
                             <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li>
                             <li><a href="/contact.html">Email</a></li>
@@ -132,7 +132,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div>
+            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/src/fragments/footer.html b/customize.dist/src/fragments/footer.html
index 4cf4b101d..68f4c4610 100644
--- a/customize.dist/src/fragments/footer.html
+++ b/customize.dist/src/fragments/footer.html
@@ -31,7 +31,7 @@
                     <div class="col">
                         <ul class="list-unstyled">
                             <li class="title" data-localization="footer_contact"><li>
-                            <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
+                            <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
                             <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li>
                             <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li>
                             <li><a href="/contact.html">Email</a></li>
@@ -39,5 +39,5 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div>
+            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
     </footer>
diff --git a/customize.dist/terms.html b/customize.dist/terms.html
index 68eb51599..e652f6aa4 100644
--- a/customize.dist/terms.html
+++ b/customize.dist/terms.html
@@ -107,7 +107,7 @@
                     <div class="col">
                         <ul class="list-unstyled">
                             <li class="title" data-localization="footer_contact"><li>
-                            <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
+                            <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
                             <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li>
                             <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li>
                             <li><a href="/contact.html">Email</a></li>
@@ -115,7 +115,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div>
+            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/www/settings/index.html b/www/settings/index.html
index 752d04468..3fde61f4a 100644
--- a/www/settings/index.html
+++ b/www/settings/index.html
@@ -97,7 +97,7 @@
                     <div class="col">
                         <ul class="list-unstyled">
                             <li class="title" data-localization="footer_contact"><li>
-                            <li><a href="https://riot.im/app/#/room/!cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
+                            <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
                             <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li>
                             <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li>
                             <li><a href="/contact.html">Email</a></li>
@@ -105,7 +105,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Grootslang)</div>
+            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
     </footer>
 
 </body>

From d13dde856a7f4e400d64611f5efea64a9d446934 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 18 May 2017 14:26:56 +0200
Subject: [PATCH 090/236] Add the markdown renderer file and change code's
 default content

---
 customize.dist/translations/messages.fr.js |   9 +-
 customize.dist/translations/messages.js    |   9 +-
 www/common/diffMarked.js                   | 109 +++++++++++++++++++++
 3 files changed, 117 insertions(+), 10 deletions(-)
 create mode 100644 www/common/diffMarked.js

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index e719a44d9..24fff7a37 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -436,11 +436,10 @@ define(function () {
     ].join('');
 
     out.codeInitialState = [
-        '/*\n',
-        '   Voici l\'éditeur de code collaboratif et Zero Knowledge de CryptPad.\n',
-        '   Ce que vous tapez ici est chiffré de manière que seules les personnes avec le lien peuvent y accéder.\n',
-        '   Vous pouvez choisir le langage de programmation pour la coloration syntaxique, ainsi que le thème de couleurs, dans le coin supérieur droit.\n',
-        '*/'
+        '# Éditeur de code collaboratif et Zero Knowledge de CryptPad\n',
+        '\n',
+        '* Ce que vous tapez ici est chiffré de manière que seules les personnes avec le lien peuvent y accéder.\n',
+        '* Vous pouvez choisir le langage de programmation pour la coloration syntaxique, ainsi que le thème de couleurs, dans le coin supérieur droit.'
     ].join('');
 
     out.slideInitialState = [
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 10efcb2df..c357cb557 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -450,11 +450,10 @@ define(function () {
     ].join('');
 
     out.codeInitialState = [
-        '/*\n',
-        '   This is the CryptPad Zero Knowledge collaborative code editor.\n',
-        '   What you type here is encrypted so only people who have the link can access it.\n',
-        '   You can choose the programming language to highlight and the UI color scheme in the upper right.\n',
-        '*/'
+        '# CryptPad\'s Zero Knowledge collaborative code editor\n',
+        '\n',
+        '* What you type here is encrypted so only people who have the link can access it.\n',
+        '*  You can choose the programming language to highlight and the UI color scheme in the upper right.'
     ].join('');
 
     out.slideInitialState = [
diff --git a/www/common/diffMarked.js b/www/common/diffMarked.js
new file mode 100644
index 000000000..b3cc5fe1e
--- /dev/null
+++ b/www/common/diffMarked.js
@@ -0,0 +1,109 @@
+define([
+    'jquery',
+    '/bower_components/marked/marked.min.js',
+    '/bower_components/diff-dom/diffDOM.js'
+],function ($, Marked) {
+    var DiffMd = {}
+
+    var DiffDOM = window.diffDOM;
+    var renderer = DiffMd.renderer = new Marked.Renderer();
+
+    Marked.setOptions({
+        renderer: renderer
+    });
+
+    DiffMd.render = function (md) {
+        return Marked(md);
+    };
+
+    var forbiddenTags = [
+        'SCRIPT',
+        'IFRAME',
+        'OBJECT',
+        'APPLET',
+        'VIDEO',
+        'AUDIO',
+    ];
+    var unsafeTag = function (info) {
+        if (['addAttribute', 'modifyAttribute'].indexOf(info.diff.action) !== -1) {
+            if (/^on/.test(info.diff.name)) {
+                console.log("Rejecting forbidden element attribute with name", info.diff.name);
+                return true;
+            }
+        }
+        if (['addElement', 'replaceElement'].indexOf(info.diff.action) !== -1) {
+            var msg = "Rejecting forbidden tag of type (%s)";
+            if (info.diff.element && forbiddenTags.indexOf(info.diff.element.nodeName) !== -1) {
+                console.log(msg, info.diff.element.nodeName);
+                return true;
+            } else if (info.diff.newValue && forbiddenTags.indexOf(info.diff.newValue.nodeName) !== -1) {
+                console.log("Replacing restricted element type (%s) with PRE", info.diff.newValue.nodeName);
+                info.diff.newValue.nodeName = 'PRE';
+            }
+        }
+    };
+
+    var slice = function (coll) {
+        return Array.prototype.slice.call(coll);
+    };
+
+    /*  remove listeners from the DOM */
+    var removeListeners = function (root) {
+        slice(root.attributes).map(function (attr) {
+            if (/^on/.test(attr.name)) {
+                root.attributes.removeNamedItem(attr.name);
+            }
+        });
+        // all the way down
+        slice(root.children).forEach(removeListeners);
+    };
+
+    var domFromHTML = function (html) {
+        var Dom = new DOMParser().parseFromString(html, "text/html");
+        removeListeners(Dom.body);
+        return Dom;
+    };
+
+    var DD = new DiffDOM({
+        preDiffApply: function (info) {
+            if (unsafeTag(info)) { return true; }
+        }
+    });
+
+    var makeDiff = function (A, B, id) {
+        var Err;
+        var Els = [A, B].map(function (frag) {
+            if (typeof(frag) === 'object') {
+                if (!frag || (frag && !frag.body)) {
+                    Err = "No body";
+                    return;
+                }
+                var els = frag.body.querySelectorAll('#'+id);
+                if (els.length) {
+                    return els[0];
+                }
+            }
+            Err = 'No candidate found';
+        });
+        if (Err) { return Err; }
+        var patch = DD.diff(Els[0], Els[1]);
+        return patch;
+    };
+
+    var apply = DiffMd.apply = function (newHtml, $content) {
+        var id = $content.attr('id');
+        if (!id) { throw new Error("The element must have a valid id"); }
+        var $div = $('<div>', {id: id}).append(newHtml);
+        var Dom = domFromHTML($('<div>').append($div).html());
+        var oldDom = domFromHTML($content[0].outerHTML);
+        var patch = makeDiff(oldDom, Dom, id);
+        if (typeof(patch) === 'string') {
+            throw new Error(patch);
+        } else {
+            DD.apply($content[0], patch);
+        }
+    };
+
+    return DiffMd;
+});
+

From 3ba94a1ba24ad8709a200abcf8451bdeac2c67a1 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 14:54:02 +0200
Subject: [PATCH 091/236] correctly set release version number

---
 customize.dist/about.html                | 2 +-
 customize.dist/contact.html              | 2 +-
 customize.dist/index.html                | 2 +-
 customize.dist/privacy.html              | 2 +-
 customize.dist/src/fragments/footer.html | 2 +-
 customize.dist/terms.html                | 2 +-
 package.json                             | 2 +-
 www/settings/index.html                  | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/customize.dist/about.html b/customize.dist/about.html
index 044343a24..954a3fb6f 100644
--- a/customize.dist/about.html
+++ b/customize.dist/about.html
@@ -114,7 +114,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
+            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/contact.html b/customize.dist/contact.html
index 70dbf9083..5d43d15a5 100644
--- a/customize.dist/contact.html
+++ b/customize.dist/contact.html
@@ -111,7 +111,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
+            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/index.html b/customize.dist/index.html
index 420d3664a..a1b1fe56b 100644
--- a/customize.dist/index.html
+++ b/customize.dist/index.html
@@ -233,7 +233,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
+            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/privacy.html b/customize.dist/privacy.html
index 345bac0f1..35bab1958 100644
--- a/customize.dist/privacy.html
+++ b/customize.dist/privacy.html
@@ -132,7 +132,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
+            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/src/fragments/footer.html b/customize.dist/src/fragments/footer.html
index 68f4c4610..55b332a0f 100644
--- a/customize.dist/src/fragments/footer.html
+++ b/customize.dist/src/fragments/footer.html
@@ -39,5 +39,5 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
+            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
     </footer>
diff --git a/customize.dist/terms.html b/customize.dist/terms.html
index e652f6aa4..2504b1147 100644
--- a/customize.dist/terms.html
+++ b/customize.dist/terms.html
@@ -115,7 +115,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
+            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
     </footer>
 
 </body>
diff --git a/package.json b/package.json
index 75a4fbb11..dd089605c 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "cryptpad",
   "description": "realtime collaborative visual editor with zero knowlege server",
-  "version": "1.8.0",
+  "version": "1.7.0",
   "dependencies": {
     "chainpad-server": "^1.0.1",
     "express": "~4.10.1",
diff --git a/www/settings/index.html b/www/settings/index.html
index 3fde61f4a..f6ab459c9 100644
--- a/www/settings/index.html
+++ b/www/settings/index.html
@@ -105,7 +105,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.6.0 (Hodag)</div>
+            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
     </footer>
 
 </body>

From d187945e94afc229eb211287291f1a10c7348e95 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 14:55:16 +0200
Subject: [PATCH 092/236] jshint compliance

---
 www/common/common-hash.js | 6 +++---
 www/common/diffMarked.js  | 4 ++--
 www/common/pinpad.js      | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/www/common/common-hash.js b/www/common/common-hash.js
index 9e72bcdeb..5de76ab99 100644
--- a/www/common/common-hash.js
+++ b/www/common/common-hash.js
@@ -103,10 +103,10 @@ Version 1
         if (!href) { return ret; }
         if (href.slice(-1) !== '/') { href += '/'; }
 
-
+        var idx;
 
         if (!/^https*:\/\//.test(href)) {
-            var idx = href.indexOf('/#');
+            idx = href.indexOf('/#');
             ret.type = href.slice(1, idx);
             ret.hash = href.slice(idx + 2);
             ret.hashData = parseTypeHash(ret.type, ret.hash);
@@ -118,7 +118,7 @@ Version 1
             ret.type = type;
             return '';
         });
-        var idx = href.indexOf('/#');
+        idx = href.indexOf('/#');
         ret.hash = href.slice(idx + 2);
         ret.hashData = parseTypeHash(ret.type, ret.hash);
         return ret;
diff --git a/www/common/diffMarked.js b/www/common/diffMarked.js
index b3cc5fe1e..2de647e86 100644
--- a/www/common/diffMarked.js
+++ b/www/common/diffMarked.js
@@ -3,7 +3,7 @@ define([
     '/bower_components/marked/marked.min.js',
     '/bower_components/diff-dom/diffDOM.js'
 ],function ($, Marked) {
-    var DiffMd = {}
+    var DiffMd = {};
 
     var DiffDOM = window.diffDOM;
     var renderer = DiffMd.renderer = new Marked.Renderer();
@@ -90,7 +90,7 @@ define([
         return patch;
     };
 
-    var apply = DiffMd.apply = function (newHtml, $content) {
+    DiffMd.apply = function (newHtml, $content) {
         var id = $content.attr('id');
         if (!id) { throw new Error("The element must have a valid id"); }
         var $div = $('<div>', {id: id}).append(newHtml);
diff --git a/www/common/pinpad.js b/www/common/pinpad.js
index c0b057cf8..b14a5bac0 100644
--- a/www/common/pinpad.js
+++ b/www/common/pinpad.js
@@ -172,7 +172,7 @@ define([
             };
 
             exp.uploadCancel = function (cb) {
-                rpc.send('UPLOAD_CANCEL', void 0, function (e, res) {
+                rpc.send('UPLOAD_CANCEL', void 0, function (e) {
                     if (e) { return void cb(e); }
                     cb();
                 });

From 0bd4caeb7e83e7399affe107c07ba2f259eabb99 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 18 May 2017 14:57:04 +0200
Subject: [PATCH 093/236] Add the task list code to the markdown renderer

---
 www/code/inner.html      |  5 +++++
 www/code/main.js         | 48 ++++++++++++++++++++++++----------------
 www/common/diffMarked.js | 20 ++++++++++++++++-
 www/slide/slide.js       | 17 --------------
 4 files changed, 53 insertions(+), 37 deletions(-)

diff --git a/www/code/inner.html b/www/code/inner.html
index 8dd02548a..36d5911ee 100644
--- a/www/code/inner.html
+++ b/www/code/inner.html
@@ -55,6 +55,11 @@
             max-width: 80%;
             resize: horizontal;
         }
+        .CodeMirror.fullPage {
+            min-width: 100%;
+            max-width: 100%;
+            resize: none;
+        }
         .CodeMirror-focused .cm-matchhighlight {
             background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==);
             background-position: bottom;
diff --git a/www/code/main.js b/www/code/main.js
index 04e20141a..a1261b8ce 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -13,14 +13,14 @@ define([
              Cryptget, DiffMd) {
     var Messages = Cryptpad.Messages;
 
-    var module = window.APP = {
+    var APP = window.APP = {
         Cryptpad: Cryptpad,
     };
 
     $(function () {
         Cryptpad.addLoadingScreen();
 
-        var ifrw = module.ifrw = $('#pad-iframe')[0].contentWindow;
+        var ifrw = APP.ifrw = $('#pad-iframe')[0].contentWindow;
         var stringify = function (obj) {
             return JSONSortify(obj);
         };
@@ -28,6 +28,7 @@ define([
         var toolbar;
         var editor;
         var $iframe = $('#pad-iframe').contents();
+        var $previewContainer = $iframe.find('#previewContainer');
         var $preview = $iframe.find('#preview');
         $preview.click(function (e) {
             if (!e.target) { return; }
@@ -58,7 +59,7 @@ define([
 
             var isHistoryMode = false;
 
-            var setEditable = module.setEditable = function (bool) {
+            var setEditable = APP.setEditable = function (bool) {
                 if (readOnly && bool) { return; }
                 editor.setOption('readOnly', !bool);
             };
@@ -121,21 +122,24 @@ define([
                 var textValue = canonicalize(CodeMirror.$textarea.val());
                 var shjson = stringifyInner(textValue);
 
-                module.patchText(shjson);
+                APP.patchText(shjson);
 
-                if (module.realtime.getUserDoc() !== shjson) {
+                if (APP.realtime.getUserDoc() !== shjson) {
                     console.error("realtime.getUserDoc() !== shjson");
                 }
             };
 
             var onModeChanged = function (mode) {
-            if (mode === "markdown") {
+                var $codeMirror = $iframe.find('.CodeMirror');
+                if (mode === "markdown") {
                     APP.$previewButton.show();
-                    $preview.show();
+                    $previewContainer.show();
+                    $codeMirror.removeClass('fullPage');
                     return;
                 }
                 APP.$previewButton.hide();
-                $preview.hide();
+                $previewContainer.hide();
+                $codeMirror.addClass('fullPage');
             };
 
             config.onInit = function (info) {
@@ -161,7 +165,7 @@ define([
                     network: info.network,
                     $container: $bar
                 };
-                toolbar = module.toolbar = Toolbar.create(configTb);
+                toolbar = APP.toolbar = Toolbar.create(configTb);
 
                 Title.setToolbar(toolbar);
                 CodeMirror.init(config.onLocal, Title, toolbar);
@@ -221,10 +225,16 @@ define([
                 $previewButton.removeClass('fa-question').addClass('fa-eye');
                 $previewButton.attr('title', 'TODO Preview'); //TODO
                 $previewButton.click(function () {
+                    var $codeMirror = $iframe.find('.CodeMirror');
                     if (CodeMirror.highlightMode !== 'markdown') {
-                        return void $preview.hide();
+                        $previewContainer.show();
+                    }
+                    $previewContainer.toggle();
+                    if ($previewContainer.is(':visible')) {
+                        $codeMirror.removeClass('fullPage');
+                    } else {
+                        $codeMirror.addClass('fullPage');
                     }
-                    $preview.toggle();
                 });
                 $rightside.append($previewButton);
 
@@ -240,15 +250,15 @@ define([
             };
 
             config.onReady = function (info) {
-                if (module.realtime !== info.realtime) {
-                    var realtime = module.realtime = info.realtime;
-                    module.patchText = TextPatcher.create({
+                if (APP.realtime !== info.realtime) {
+                    var realtime = APP.realtime = info.realtime;
+                    APP.patchText = TextPatcher.create({
                         realtime: realtime,
                         //logging: true
                     });
                 }
 
-                var userDoc = module.realtime.getUserDoc();
+                var userDoc = APP.realtime.getUserDoc();
 
                 var isNew = false;
                 if (userDoc === "" || userDoc === "{}") { isNew = true; }
@@ -301,7 +311,7 @@ define([
                 if (isHistoryMode) { return; }
 
                 var oldDoc = canonicalize(CodeMirror.$textarea.val());
-                var shjson = module.realtime.getUserDoc();
+                var shjson = APP.realtime.getUserDoc();
 
                 // Update the user list (metadata) from the hyperjson
                 Metadata.update(shjson);
@@ -312,7 +322,7 @@ define([
                 DiffMd.apply(DiffMd.render(remoteDoc), $preview);
 
                 var highlightMode = hjson.highlightMode;
-                if (highlightMode && highlightMode !== module.highlightMode) {
+                if (highlightMode && highlightMode !== APP.highlightMode) {
                     CodeMirror.setMode(highlightMode, onModeChanged);
                 }
 
@@ -324,7 +334,7 @@ define([
                     if (shjson2 !== shjson) {
                         console.error("shjson2 !== shjson");
                         TextPatcher.log(shjson, TextPatcher.diff(shjson, shjson2));
-                        module.patchText(shjson2);
+                        APP.patchText(shjson2);
                     }
                 }
                 if (oldDoc !== remoteDoc) { Cryptpad.notify(); }
@@ -351,7 +361,7 @@ define([
 
             config.onError = onConnectError;
 
-            module.realtime = Realtime.start(config);
+            APP.realtime = Realtime.start(config);
 
             editor.on('change', onLocal);
 
diff --git a/www/common/diffMarked.js b/www/common/diffMarked.js
index b3cc5fe1e..c73dfd072 100644
--- a/www/common/diffMarked.js
+++ b/www/common/diffMarked.js
@@ -6,7 +6,7 @@ define([
     var DiffMd = {}
 
     var DiffDOM = window.diffDOM;
-    var renderer = DiffMd.renderer = new Marked.Renderer();
+    var renderer = new Marked.Renderer();
 
     Marked.setOptions({
         renderer: renderer
@@ -16,6 +16,24 @@ define([
         return Marked(md);
     };
 
+    // Tasks list
+    var checkedTaskItemPtn = /^\s*\[x\]\s*/;
+    var uncheckedTaskItemPtn = /^\s*\[ \]\s*/;
+    renderer.listitem = function (text) {
+        var isCheckedTaskItem = checkedTaskItemPtn.test(text);
+        var isUncheckedTaskItem = uncheckedTaskItemPtn.test(text);
+        if (isCheckedTaskItem) {
+            text = text.replace(checkedTaskItemPtn,
+                '<i class="fa fa-check-square" aria-hidden="true"></i>&nbsp;') + '\n';
+        }
+        if (isUncheckedTaskItem) {
+            text = text.replace(uncheckedTaskItemPtn,
+                '<i class="fa fa-square-o" aria-hidden="true"></i>&nbsp;') + '\n';
+        }
+        var cls = (isCheckedTaskItem || isUncheckedTaskItem) ? ' class="todo-list-item"' : '';
+        return '<li'+ cls + '>' + text + '</li>\n';
+    };
+
     var forbiddenTags = [
         'SCRIPT',
         'IFRAME',
diff --git a/www/slide/slide.js b/www/slide/slide.js
index 108a8848a..9f919ecfa 100644
--- a/www/slide/slide.js
+++ b/www/slide/slide.js
@@ -2,23 +2,6 @@ define([
     'jquery',
     '/common/diffMarked.js',
 ],function ($, DiffMd) {
-    // Tasks list
-    var checkedTaskItemPtn = /^\s*\[x\]\s*/;
-    var uncheckedTaskItemPtn = /^\s*\[ \]\s*/;
-    DiffMd.renderer.listitem = function (text) {
-        var isCheckedTaskItem = checkedTaskItemPtn.test(text);
-        var isUncheckedTaskItem = uncheckedTaskItemPtn.test(text);
-        if (isCheckedTaskItem) {
-            text = text.replace(checkedTaskItemPtn,
-                '<i class="fa fa-check-square" aria-hidden="true"></i>&nbsp;') + '\n';
-        }
-        if (isUncheckedTaskItem) {
-            text = text.replace(uncheckedTaskItemPtn,
-                '<i class="fa fa-square-o" aria-hidden="true"></i>&nbsp;') + '\n';
-        }
-        var cls = (isCheckedTaskItem || isUncheckedTaskItem) ? ' class="todo-list-item"' : '';
-        return '<li'+ cls + '>' + text + '</li>\n';
-    };
 
     var Slide = {
         index: 0,

From 620f4dc5126f2ffc6ddaa1e66e0821420ba398a7 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 18 May 2017 15:05:37 +0200
Subject: [PATCH 094/236] Add translations for the markdown preview button
 title

---
 customize.dist/translations/messages.fr.js | 2 ++
 customize.dist/translations/messages.js    | 2 ++
 www/code/main.js                           | 6 ++++--
 www/common/common-codemirror.js            | 5 +++--
 4 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 24fff7a37..1c204e38c 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -95,6 +95,8 @@ define(function () {
     out.templateSaved = "Modèle enregistré !";
     out.selectTemplate = "Sélectionner un modèle ou appuyer sur Échap";
 
+    out.previewButtonTitle = "Afficher ou cacher la prévisualisation de Markdown";
+
     out.presentButtonTitle = "Entrer en mode présentation";
     out.presentSuccess = 'Appuyer sur Échap pour quitter le mode présentation';
 
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index c357cb557..4b2c9f78e 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -97,6 +97,8 @@ define(function () {
     out.templateSaved = "Template saved!";
     out.selectTemplate = "Select a template or press escape";
 
+    out.previewButtonTitle = "Display or hide the Markdown preview mode";
+
     out.presentButtonTitle = "Enter presentation mode";
     out.presentSuccess = 'Hit ESC to exit presentation mode';
 
diff --git a/www/code/main.js b/www/code/main.js
index a1261b8ce..6c9fbd0e1 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -223,7 +223,7 @@ define([
 
                 var $previewButton = APP.$previewButton = Cryptpad.createButton(null, true);
                 $previewButton.removeClass('fa-question').addClass('fa-eye');
-                $previewButton.attr('title', 'TODO Preview'); //TODO
+                $previewButton.attr('title', Messages.previewButtonTitle);
                 $previewButton.click(function () {
                     var $codeMirror = $iframe.find('.CodeMirror');
                     if (CodeMirror.highlightMode !== 'markdown') {
@@ -239,7 +239,9 @@ define([
                 $rightside.append($previewButton);
 
                 if (!readOnly) {
-                    CodeMirror.configureLanguage(CodeMirror.configureTheme, onModeChanged);
+                    CodeMirror.configureTheme(function () {
+                        CodeMirror.configureLanguage(null, onModeChanged);
+                    });
                 }
                 else {
                     CodeMirror.configureTheme();
diff --git a/www/common/common-codemirror.js b/www/common/common-codemirror.js
index 4bc38cc46..429e9bd9a 100644
--- a/www/common/common-codemirror.js
+++ b/www/common/common-codemirror.js
@@ -158,10 +158,10 @@ define([
             });
 
             if ($rightside) { $rightside.append($block); }
-            cb();
+            if (cb) { cb(); }
         };
 
-        exp.configureTheme = function () {
+        exp.configureTheme = function (cb) {
             /*  Remember the user's last choice of theme using localStorage */
             var themeKey = 'CRYPTPAD_CODE_THEME';
             var lastTheme = localStorage.getItem(themeKey) || 'default';
@@ -195,6 +195,7 @@ define([
             });
 
             if ($rightside) { $rightside.append($block); }
+            if (cb) { cb(); }
         };
 
         exp.exportText = function () {

From 164342920e1cea9710f72a5a45bd5bc5ee2bb05a Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 15:39:24 +0200
Subject: [PATCH 095/236] fix inverted condition

---
 www/common/cryptpad-common.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 14f0a8b66..ac2a6f875 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -1336,7 +1336,7 @@ define([
                 feedback("NO_PROXIES");
             }
 
-            if (!/CRYPTPAD_SHIM/.test(Array.isArray.toString())) {
+            if (/CRYPTPAD_SHIM/.test(Array.isArray.toString())) {
                 feedback("NO_ISARRAY");
             }
 

From 21f9e31e75f0644172c718cd86bd75361c7ee284 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 18 May 2017 15:56:35 +0200
Subject: [PATCH 096/236] Add a placeholder for the user app

---
 customize.dist/src/build.js                |   5 +-
 customize.dist/translations/messages.fr.js |   2 +
 customize.dist/translations/messages.js    |   2 +
 www/user/index.html                        | 112 +++++++++++++++++++++
 www/user/main.css                          |  14 +++
 www/user/main.js                           |  63 ++++++++++++
 6 files changed, 197 insertions(+), 1 deletion(-)
 create mode 100644 www/user/index.html
 create mode 100644 www/user/main.css
 create mode 100644 www/user/main.js

diff --git a/customize.dist/src/build.js b/customize.dist/src/build.js
index c5c5c8d77..fbcc34942 100644
--- a/customize.dist/src/build.js
+++ b/customize.dist/src/build.js
@@ -60,7 +60,10 @@ var fragments = {};
 });
 
 // build static pages
-['../www/settings/index'].forEach(function (page) {
+[
+    '../www/settings/index',
+    '../www/user/index'
+].forEach(function (page) {
     var source = swap(template, {
        topbar: fragments.topbar,
        fork: fragments.fork,
diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 1c204e38c..26cfc3129 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -52,6 +52,8 @@ define(function () {
 
     out.language = "Langue";
 
+    out.comingSoon = "Bientôt disponible...";
+
     out.upgrade = "Améliorer";
     out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage";
     out.MB = "Mo";
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 4b2c9f78e..dcafe6283 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -54,6 +54,8 @@ define(function () {
 
     out.language = "Language";
 
+    out.comingSoon = "Coming soon...";
+
     out.upgrade = "Upgrade";
     out.upgradeTitle = "Upgrade your account to increase the storage limit";
     out.MB = "MB";
diff --git a/www/user/index.html b/www/user/index.html
new file mode 100644
index 000000000..f6ab459c9
--- /dev/null
+++ b/www/user/index.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html>
+<html class="cp">
+<!-- If this file is not called customize.dist/src/template.html, it is generated -->
+<head>
+    <title data-localization="main_title">Cryptpad: Zero Knowledge, Collaborative Real Time Editing</title>
+    <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
+    <link rel="stylesheet" type="text/css" href="/customize/main.css" />
+    <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css">
+    <link rel="icon" type="image/png" href="/customize/main-favicon.png" id="favicon"/>
+    <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css">
+        <link rel="stylesheet" type="text/css" href="main.css" />
+    <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script>
+
+</head>
+<body class="html">
+    <div id="cryptpadTopBar">
+    <span>
+        <a class="gotoMain" href="/">
+            <img src="/customize/cryptofist_mini.png" class="cryptpad-logo" alt="" /> CryptPad
+        </a>
+    </span>
+
+    <!--<span class="slogan" data-localization="main_slogan"></span>-->
+
+    <span id="user-menu" class="right dropdown-bar"></span>
+    <span id="language-selector" class="right dropdown-bar"></span>
+    <span class="link right">
+        <a href="/about.html" data-localization="about">About</a>
+    </span>
+    <span class="link right">
+        <a href="/privacy.html" data-localization="privacy">Privacy</a>
+    </span>
+    <span class="link right">
+        <a href="/terms.html" data-localization="terms">ToS</a>
+    </span>
+    <span class="link right">
+        <a href="/contact.html" data-localization="contact">Contact</a>
+    </span>
+    <span class="link right">
+        <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a>
+    </span>
+</div>
+
+
+    <noscript>
+    <div id="noscriptContainer">
+        <div class="mainOverlay"></div>
+        <div id="noscript">
+          <p>
+            <strong>OOPS</strong> In order to do encryption in your browser, Javascript is really <strong>really</strong> required.
+          </p>
+          <hr>
+          <p>
+            <strong>OUPS</strong> Afin de pouvoir réaliser le chiffrement dans votre navigateur, Javascript est <strong>vraiment</strong> nécessaire.
+          </p>
+        </div>
+    </div>
+</noscript>
+
+
+    <div id="mainBlock" class="hidden">
+        <div id="container"></div>
+
+    </div>
+
+        <footer>
+        <div class="container">
+            <div class="row">
+                    <div class="col">
+                        <ul class="list-unstyled">
+                            <li class="title">CryptPad</li>
+                            <li><a href="/about.html" data-localization="about"></a></li>
+                            <li><a href="/terms.html" data-localization="terms"></a></li>
+                            <li><a href="/privacy.html" data-localization="privacy"></a></li>
+                        </ul>
+                    </div>
+                    <div class="col">
+                        <ul class="list-unstyled">
+                            <li class="title" data-localization="footer_applications"><li>
+                            <li><a href="/pad/" data-localization="main_richText"></a></li>
+                            <li><a href="/code/" data-localization="main_code"></a></li>
+                            <li><a href="/slide/" data-localization="main_slide"></a></li>
+                            <li><a href="/poll/" data-localization="main_poll"></a></li>
+                            <li><a href="/drive/" data-localization="main_drive"></a></li>
+                        </ul>
+                    </div>
+                    <div class="col">
+                        <ul class="list-unstyled">
+                            <li class="title" data-localization="footer_aboutUs"><li>
+                            <li><a href="https://blog.cryptpad.fr" target="_blank" data-localization="blog" rel="noopener noreferrer">Blog</a></li>
+                            <li><a href="https://labs.xwiki.com" target="_blank" rel="noopener noreferrer">XWiki Labs</a></li>
+                            <li><a href="http://www.xwiki.com" target="_blank" rel="noopener noreferrer">XWiki SAS</a></li>
+                            <li><a href="https://www.open-paas.org/" target="_blank" rel="noopener noreferrer">OpenPaaS</a></li>
+                        </ul>
+                    </div>
+                    <div class="col">
+                        <ul class="list-unstyled">
+                            <li class="title" data-localization="footer_contact"><li>
+                            <li><a href="https://riot.im/app/#/room/#cryptpad:matrix.org" target="_blank" rel="noopener noreferrer">Chat</a></li>
+                            <li><a href="https://twitter.com/cryptpad" target="_blank" rel="noopener noreferrer">Twitter</a></li>
+                            <li><a href="https://github.com/xwiki-labs/cryptpad" target="_blank" rel="noopener noreferrer">GitHub</a></li>
+                            <li><a href="/contact.html">Email</a></li>
+                        </ul>
+                    </div>
+            </div>
+        </div>
+            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
+    </footer>
+
+</body>
+</html>
diff --git a/www/user/main.css b/www/user/main.css
new file mode 100644
index 000000000..5cfc2ce85
--- /dev/null
+++ b/www/user/main.css
@@ -0,0 +1,14 @@
+.cp #mainBlock {
+  z-index: 1;
+  width: 1000px;
+  max-width: 90%;
+  margin: auto;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.cp #mainBlock #container {
+    text-align: center;
+    font-size: 25px;
+}
+
diff --git a/www/user/main.js b/www/user/main.js
new file mode 100644
index 000000000..82f16682b
--- /dev/null
+++ b/www/user/main.js
@@ -0,0 +1,63 @@
+define([
+    'jquery',
+    '/common/cryptpad-common.js',
+], function ($, Cryptpad) {
+
+    var APP = window.APP = {
+        Cryptpad: Cryptpad,
+        _onRefresh: []
+    };
+
+    var Messages = Cryptpad.Messages;
+
+    var comingSoon = function () {
+        var $div = $('<div>', { 'class': 'coming-soon' })
+            .text(Messages.comingSoon)
+            .append('<br>');
+            console.log($div);
+        return $div;
+    };
+
+    var andThen = function () {
+        console.log(APP.$container);
+        APP.$container.append(comingSoon());
+    };
+
+    $(function () {
+        var $main = $('#mainBlock');
+        // Language selector
+        var $sel = $('#language-selector');
+        Cryptpad.createLanguageSelector(undefined, $sel);
+        $sel.find('button').addClass('btn').addClass('btn-secondary');
+        $sel.show();
+
+        // User admin menu
+        var $userMenu = $('#user-menu');
+        var userMenuCfg = {
+            $initBlock: $userMenu
+        };
+        var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg);
+        $userAdmin.find('button').addClass('btn').addClass('btn-secondary');
+
+        $(window).click(function () {
+            $('.cryptpad-dropdown').hide();
+        });
+
+        // main block is hidden in case javascript is disabled
+        $main.removeClass('hidden');
+
+        APP.$container = $('#container');
+
+        Cryptpad.ready(function () {
+            //if (!Cryptpad.getUserHash()) { return redirectToMain(); }
+
+            //var storeObj = Cryptpad.getStore().getProxy && Cryptpad.getStore().getProxy().proxy
+            //               ? Cryptpad.getStore().getProxy() : undefined;
+
+            //andThen(storeObj);
+            andThen();
+            Cryptpad.reportAppUsage();
+        });
+    });
+
+});

From d324a054f2009d05212ff11963e26ba55ea3bd82 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 17:57:42 +0200
Subject: [PATCH 097/236] add progress bar to file upload

---
 www/file/inner.html | 38 +++++++++++++++++++++++++++++++++++---
 www/file/main.js    | 30 ++++++++++++++++++++++++++++--
 2 files changed, 63 insertions(+), 5 deletions(-)

diff --git a/www/file/inner.html b/www/file/inner.html
index 2f82b3461..482fb4955 100644
--- a/www/file/inner.html
+++ b/www/file/inner.html
@@ -31,10 +31,28 @@
         z-index: -1;
     }
 
+    #upload-form {
+        padding: 0px;
+        margin: 0px;
+
+        position: relative;
+        width: 50vh;
+        height: 50vh;
+        display: block;
+        margin: auto;
+    }
+    #upload-form label{
+        position: relative;
+    }
+
+    .hovering {
+        background-color: rgba(255, 0, 115, 0.5) !important;
+    }
+
     .block {
         display: block;
-        height: 500px;
-        width: 500px;
+        height: 50vh;
+        width: 50vh;
     }
     .hidden {
         display: none;
@@ -43,6 +61,7 @@
         border: 2px solid black;
         background-color: rgba(50, 50, 50, .10);
         margin: 50px;
+        display: block;
     }
 
     .inputfile:focus + label,
@@ -50,13 +69,26 @@
         background-color: rgba(50, 50, 50, 0.30);
     }
 
+    #progress {
+        position: absolute;
+        top: 0px;
+        left: 0px;
+        height: 100%;
+        width: 0%;
+        max-width: 100%;
+        max-height: 100%;
+        background-color: rgba(255, 0, 115, 0.75);
+        z-index: 10000;
+        display: block;
+    }
+
     </style>
 </head>
 <body>
     <div id="toolbar" class="toolbar-container"></div>
     <div id="upload-form" style="display: none;">
         <input type="file" name="file" id="file" class="inputfile" />
-        <label for="file" class="block">Choose a file</label>
+        <label for="file" class="block">Choose a file<span class="block" id="progress">&nbsp;</span></label>
     </div>
     <div id="feedback" class="block hidden">
     </div>
diff --git a/www/file/main.js b/www/file/main.js
index 41b8230e3..ba42f9afb 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -21,6 +21,8 @@ define([
     var ifrw = $('#pad-iframe')[0].contentWindow;
     var $iframe = $('#pad-iframe').contents();
     var $form = $iframe.find('#upload-form');
+    var $progress = $form.find('#progress');
+    var $label = $form.find('label');
 
     Cryptpad.addLoadingScreen();
 
@@ -54,8 +56,15 @@ define([
             if (err) { throw new Error(err); }
             if (box) {
                 actual += box.length;
+                var progress = (actual / estimate * 100) + '%';
+                console.log(progress);
+
                 return void sendChunk(box, function (e) {
                     if (e) { return console.error(e); }
+                    $progress.css({
+                        width: progress,
+                    });
+
                     next(again);
                 });
             }
@@ -71,7 +80,7 @@ define([
                 console.log("encrypted blob is now available as %s", uri);
 
                 var b64Key = Nacl.util.encodeBase64(key);
-                window.location.hash = Cryptpad.getFileHashFromKeys(id, b64Key);
+                Cryptpad.replaceHash(Cryptpad.getFileHashFromKeys(id, b64Key));
 
                 $form.hide();
 
@@ -221,8 +230,25 @@ define([
             handleFile(file);
         });
 
+        var counter = 0;
+        $label
+        .on('dragenter', function (e) {
+            e.preventDefault();
+            e.stopPropagation();
+            counter++;
+            $label.addClass('hovering');
+        })
+        .on('dragleave', function (e) {
+            e.preventDefault();
+            e.stopPropagation();
+            counter--;
+            if (counter <= 0) {
+                $label.removeClass('hovering'); // FIXME Can get stuck...
+            }
+        });
+
         $form
-        .on('drag dragstart dragend dragover dragenter dragleave drop', function (e) {
+        .on('drag dragstart dragend dragover drop dragenter dragleave', function (e) {
             e.preventDefault();
             e.stopPropagation();
         })

From 5a83259233cd0204b8f987d0d8ccc536e01d334d Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 18:24:04 +0200
Subject: [PATCH 098/236] listen for decryption errors

---
 www/media/main.js | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/www/media/main.js b/www/media/main.js
index 044fba0c0..08efb7714 100644
--- a/www/media/main.js
+++ b/www/media/main.js
@@ -70,11 +70,16 @@ define([
             var decrypted = e.originalEvent;
             var metadata = decrypted.metadata;
 
-            console.log(metadata);
-            console.log(defaultName);
+            if (decrypted.callback) { decrypted.callback(); }
+            //console.log(metadata);
+            //console.log(defaultName);
             if (!metadata || metadata.name !== defaultName) { return; }
             var title = document.title = metadata.name;
             updateTitle(title || defaultName);
+        })
+        .on('decryptionError', function (e) {
+            var error = e.originalEvent;
+            Cryptpad.alert(error.message);
         });
 
         require(['/common/media-tag.js'], function (MediaTag) {

From 34606ea8ba4e7ee661e64a03f0103f585fee309f Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 18 May 2017 18:24:24 +0200
Subject: [PATCH 099/236] use newest xwiki media-tag

---
 www/common/media-tag.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/media-tag.js b/www/common/media-tag.js
index 0d18138ce..cf8c78210 100644
--- a/www/common/media-tag.js
+++ b/www/common/media-tag.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,k=void 0;try{for(var E,_=y.any[Symbol.iterator]();!(m=(E=_.next()).done);m=!0){var j=E.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,k=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw k}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),k=n(41),E=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new k),m.FunctionStore.store("salsa20poly1305",E),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=f.decrypt(n,r),u=i.content,c=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),s.metadata=i.metadata,window.document.dispatchEvent(s),e.setAttribute("src",c),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")},i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])});
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,E=void 0;try{for(var k,_=y.any[Symbol.iterator]();!(m=(k=_.next()).done);m=!0){var j=k.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,E=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw E}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),E=n(41),k=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new E),m.FunctionStore.store("salsa20poly1305",k),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n,i=new Uint8Array(t);try{n=f.decrypt(i,r)}catch(e){var u=new Event("decryptionError");return u.message=e.message,void window.document.dispatchEvent(u)}var c=n.content,s=l.getBlobUrl(c,e.getMimeType()),p=new Event("decryption");p.blob=new Blob([c],{type:e.getMimeType()}),p.metadata=n.metadata,e.setAttribute("src",s),e.removeAttribute("data-crypto-key"),e.type=n.metadata.type,console.log(e),p.callback=function(){a.return(e)},window.document.dispatchEvent(p)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")};o();var i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])});
\ No newline at end of file

From 814c81fb13f987ce76bf2be1ff0fb421a77a899e Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 18 May 2017 18:51:08 +0200
Subject: [PATCH 100/236] Display an alert when CryptPad has a new version

---
 customize.dist/translations/messages.fr.js |  4 ++++
 customize.dist/translations/messages.js    |  4 ++++
 www/common/cryptpad-common.js              | 23 +++++++++++++++++++++-
 3 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 26cfc3129..e8cc86ce2 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -54,6 +54,10 @@ define(function () {
 
     out.comingSoon = "Bientôt disponible...";
 
+    out.newVersion = '<b>CryptPad a été mis à jour !</b><br>' +
+                     'Découvrez les nouveautés de la dernière version :<br>'+
+                     '<a href="https://github.com/xwiki-labs/cryptpad/releases/tag/{0}" target="_blank">Notes de version pour CryptPad {0}</a>';
+
     out.upgrade = "Améliorer";
     out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage";
     out.MB = "Mo";
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index dcafe6283..6280a5732 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -56,6 +56,10 @@ define(function () {
 
     out.comingSoon = "Coming soon...";
 
+    out.newVersion = '<b>CryptPad has been updated!</b><br>' +
+                     'Check out what\'s new in the latest version:<br>'+
+                     '<a href="https://github.com/xwiki-labs/cryptpad/releases/tag/{0}" target="_blank">Release notes for CryptPad {0}</a>';
+
     out.upgrade = "Upgrade";
     out.upgradeTitle = "Upgrade your account to increase the storage limit";
     out.MB = "MB";
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 14f0a8b66..2f4cdf8e5 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -23,7 +23,6 @@ define([
 
     Additionally, there is some basic functionality for import/export.
 */
-
     var common = window.Cryptpad = {
         Messages: Messages,
         Clipboard: Clipboard
@@ -1296,6 +1295,25 @@ define([
         return $userAdmin;
     };
 
+    var CRYPTPAD_VERSION = 'cryptpad-version';
+    var updateLocalVersion = function () {
+        // Check for CryptPad updates
+        var urlArgs = Config.requireConf ? Config.requireConf.urlArgs : null;
+        if (!urlArgs) { return; }
+        var arr = /ver=([0-9.]+)(-[0-9]*)?/.exec(urlArgs);
+        var ver = arr[1];
+        if (!ver) { return; }
+        var verArr = ver.split('.');
+        if (verArr.length !== 3) { return; }
+        var stored = localStorage[CRYPTPAD_VERSION] || '0.0.0';
+        var storedArr = stored.split('.');
+        var shouldUpdate = parseInt(verArr[0]) > parseInt(storedArr[0]) ||
+                           (parseInt(verArr[0]) === parseInt(storedArr[0]) &&
+                            parseInt(verArr[1]) > parseInt(storedArr[1]));
+        if (!shouldUpdate) { return; }
+        Cryptpad.alert(Messages._getKey('newVersion', [ver]), null, true);
+        localStorage[CRYPTPAD_VERSION] = ver;
+    };
 
     common.ready = (function () {
         var env = {};
@@ -1313,6 +1331,9 @@ define([
             block--;
             if (!block) {
                 initialized = true;
+
+                updateLocalVersion();
+
                 f(void 0, env);
             }
         };

From d014fccfce1f89d19be59b4965de4151833091df Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Thu, 18 May 2017 18:52:14 +0200
Subject: [PATCH 101/236] Fix lint error

---
 www/common/cryptpad-common.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 485bf2f44..6f0a5e256 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -1311,7 +1311,7 @@ define([
                            (parseInt(verArr[0]) === parseInt(storedArr[0]) &&
                             parseInt(verArr[1]) > parseInt(storedArr[1]));
         if (!shouldUpdate) { return; }
-        Cryptpad.alert(Messages._getKey('newVersion', [ver]), null, true);
+        common.alert(Messages._getKey('newVersion', [ver]), null, true);
         localStorage[CRYPTPAD_VERSION] = ver;
     };
 

From e7a458295b19d24111fcf17fcf27919099fcb624 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 09:10:36 +0200
Subject: [PATCH 102/236] new translation keys for file upload

---
 customize.dist/translations/messages.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index dcafe6283..69bce34de 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -353,7 +353,12 @@ define(function () {
 
     out.upload_serverError = "Server Error: unable to upload your file at this time.";
     out.upload_uploadPending = "You already have an upload in progress. Cancel it and upload your new file?";
-    out.upload_success = "Your file ({0}) has been successfully uploaded and added to your drive";
+    out.upload_success = "Your file ({0}) has been successfully uploaded and added to your drive.";
+    out.upload_notEnoughSpace = "There is not enough space for this file in your CryptDrive.";
+    out.upload_tooLarge = "This file exceeds the maximum upload size.";
+
+    // general warnings
+    out.warn_notPinned = "This pad is not in anyone's CryptDrive. It will expire after 3 months. <a href='/about.html#pinning'>Learn more...</a>";
 
     // index.html
 

From d71e12713a13b3668ab9bdb4d184525ef8f80eea Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 09:11:28 +0200
Subject: [PATCH 103/236] handle empty arrays when reducing

---
 rpc.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rpc.js b/rpc.js
index e2f62230b..54d7c14ec 100644
--- a/rpc.js
+++ b/rpc.js
@@ -456,7 +456,7 @@ var sumChannelSizes = function (sizes) {
             // only allow positive numbers
             return !(typeof(x) !== 'number' || x <= 0);
         })
-        .reduce(function (a, b) { return a + b; });
+        .reduce(function (a, b) { return a + b; }, 0);
 };
 
 var pinChannel = function (Env, publicKey, channels, cb) {

From d9f128e9236ed8b51624d850d5ce844c61f8e891 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 09:12:39 +0200
Subject: [PATCH 104/236] send appropriate responses to upload rpc calls

---
 rpc.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rpc.js b/rpc.js
index 54d7c14ec..2f2b96a4c 100644
--- a/rpc.js
+++ b/rpc.js
@@ -635,7 +635,7 @@ var upload = function (Env, publicKey, content, cb) {
     }
 
     if (session.currentUploadSize > session.pendingUploadSize) {
-        return cb('TOO_LARGE');
+        return cb('E_OVER_LIMIT');
     }
 
     if (!session.blobstage) {
@@ -739,7 +739,7 @@ var upload_status = function (Env, publicKey, filesize, cb) {
 
     getFreeSpace(Env, publicKey, function (e, free) {
         if (e) { return void cb(e); }
-        if (filesize >= free) { return cb('TOO_LARGE'); }
+        if (filesize >= free) { return cb('NOT_ENOUGH_SPACE'); }
         isFile(filePath, function (e, yes) {
             if (e) {
                 console.error("uploadError: [%s]", e);

From 310909dc9ee26012a5090c9ad6ddb7aa5f04f41f Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 09:12:59 +0200
Subject: [PATCH 105/236] handle new error codes

---
 www/file/main.js | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/www/file/main.js b/www/file/main.js
index ba42f9afb..4ffcaa127 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -99,6 +99,12 @@ define([
 
         Cryptpad.uploadStatus(estimate, function (e, pending) {
             if (e) {
+                if (e === 'TOO_LARGE') {
+                    return void Cryptpad.alert(Messages.upload_tooLarge);
+                }
+                if (e === 'NOT_ENOUGH_SPACE') {
+                    return void Cryptpad.alert(Messages.upload_notEnoughSpace);
+                }
                 console.error(e);
                 return void Cryptpad.alert(Messages.upload_serverError);
             }
@@ -108,7 +114,9 @@ define([
                 return void Cryptpad.confirm(Messages.upload_uploadPending, function (yes) {
                     if (!yes) { return; }
                     Cryptpad.uploadCancel(function (e, res) {
-                        if (e) { return void console.error(e); }
+                        if (e) {
+                            return void console.error(e);
+                        }
                         console.log(res);
                         next(again);
                     });
@@ -243,7 +251,7 @@ define([
             e.stopPropagation();
             counter--;
             if (counter <= 0) {
-                $label.removeClass('hovering'); // FIXME Can get stuck...
+                $label.removeClass('hovering');
             }
         });
 
@@ -254,6 +262,8 @@ define([
         })
         .on('drop', function (e) {
             var dropped = e.originalEvent.dataTransfer.files;
+            counter = 0;
+            $label.removeClass('hovering');
             handleFile(dropped[0]);
         });
 

From bcd03038215160e0a70c0826e1af05fab0312451 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 11:46:10 +0200
Subject: [PATCH 106/236] style /file/ with .less

---
 www/file/file.css   | 70 ++++++++++++++++++++++++++++++++++++++
 www/file/file.less  | 82 +++++++++++++++++++++++++++++++++++++++++++++
 www/file/inner.html | 79 +------------------------------------------
 3 files changed, 153 insertions(+), 78 deletions(-)
 create mode 100644 www/file/file.css
 create mode 100644 www/file/file.less

diff --git a/www/file/file.css b/www/file/file.css
new file mode 100644
index 000000000..08c95f730
--- /dev/null
+++ b/www/file/file.css
@@ -0,0 +1,70 @@
+html,
+body {
+  margin: 0px;
+}
+.cryptpad-toolbar {
+  margin-bottom: 1px;
+  padding: 0px;
+  display: inline-block;
+}
+#file {
+  display: block;
+  height: 300px;
+  width: 300px;
+  border: 2px solid black;
+  margin: 50px;
+}
+.inputfile {
+  width: 0.1px;
+  height: 0.1px;
+  opacity: 0;
+  overflow: hidden;
+  position: absolute;
+  z-index: -1;
+}
+#upload-form {
+  padding: 0px;
+  margin: 0px;
+  position: relative;
+  width: 50vh;
+  height: 50vh;
+  display: block;
+  margin: auto;
+}
+#upload-form label {
+  position: relative;
+}
+.hovering {
+  background-color: rgba(255, 0, 115, 0.5) !important;
+}
+.block {
+  display: block;
+  height: 50vh;
+  width: 50vh;
+}
+.hidden {
+  display: none;
+}
+.inputfile + label {
+  border: 2px solid black;
+  background-color: rgba(50, 50, 50, 0.1);
+  margin: 50px;
+  display: block;
+}
+.inputfile:focus + label,
+.inputfile + label:hover {
+  background-color: rgba(50, 50, 50, 0.3);
+}
+#progress {
+  position: absolute;
+  top: 0px;
+  left: 0px;
+  height: 100%;
+  transition: width 500ms;
+  width: 0%;
+  max-width: 100%;
+  max-height: 100%;
+  background-color: rgba(255, 0, 115, 0.75);
+  z-index: 10000;
+  display: block;
+}
diff --git a/www/file/file.less b/www/file/file.less
new file mode 100644
index 000000000..69432a539
--- /dev/null
+++ b/www/file/file.less
@@ -0,0 +1,82 @@
+@import "../../customize.dist/src/less/variables.less";
+@import "../../customize.dist/src/less/mixins.less";
+
+html, body {
+    margin: 0px;
+}
+.cryptpad-toolbar {
+    margin-bottom: 1px;
+    padding: 0px;
+    display: inline-block;
+}
+#file {
+    display: block;
+    height: 300px;
+    width: 300px;
+    border: 2px solid black;
+    margin: 50px;
+}
+
+.inputfile {
+    width: 0.1px;
+    height: 0.1px;
+    opacity: 0;
+    overflow: hidden;
+    position: absolute;
+    z-index: -1;
+}
+
+#upload-form {
+    padding: 0px;
+    margin: 0px;
+
+    position: relative;
+    width: 50vh;
+    height: 50vh;
+    display: block;
+    margin: auto;
+}
+#upload-form label{
+    position: relative;
+}
+
+.hovering {
+    background-color: rgba(255, 0, 115, 0.5) !important;
+}
+
+.block {
+    display: block;
+    height: 50vh;
+    width: 50vh;
+}
+.hidden {
+    display: none;
+}
+.inputfile + label {
+    border: 2px solid black;
+    background-color: rgba(50, 50, 50, .10);
+    margin: 50px;
+    display: block;
+}
+
+.inputfile:focus + label,
+.inputfile + label:hover {
+    background-color: rgba(50, 50, 50, 0.30);
+}
+
+#progress {
+    position: absolute;
+    top: 0px;
+    left: 0px;
+    height: 100%;
+
+
+    transition: width 500ms;
+    width: 0%;
+    max-width: 100%;
+    max-height: 100%;
+    background-color: rgba(255, 0, 115, 0.75);
+    z-index: 10000;
+    display: block;
+}
+
diff --git a/www/file/inner.html b/www/file/inner.html
index 482fb4955..727e11498 100644
--- a/www/file/inner.html
+++ b/www/file/inner.html
@@ -5,84 +5,7 @@
     <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css">
     <script src="/bower_components/jquery/dist/jquery.min.js"></script>
     <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css">
-    <style>
-    html, body {
-        margin: 0px;
-    }
-    .cryptpad-toolbar {
-        margin-bottom: 1px;
-        padding: 0px;
-        display: inline-block;
-    }
-    #file {
-        display: block;
-        height: 300px;
-        width: 300px;
-        border: 2px solid black;
-        margin: 50px;
-    }
-
-    .inputfile {
-        width: 0.1px;
-        height: 0.1px;
-        opacity: 0;
-        overflow: hidden;
-        position: absolute;
-        z-index: -1;
-    }
-
-    #upload-form {
-        padding: 0px;
-        margin: 0px;
-
-        position: relative;
-        width: 50vh;
-        height: 50vh;
-        display: block;
-        margin: auto;
-    }
-    #upload-form label{
-        position: relative;
-    }
-
-    .hovering {
-        background-color: rgba(255, 0, 115, 0.5) !important;
-    }
-
-    .block {
-        display: block;
-        height: 50vh;
-        width: 50vh;
-    }
-    .hidden {
-        display: none;
-    }
-    .inputfile + label {
-        border: 2px solid black;
-        background-color: rgba(50, 50, 50, .10);
-        margin: 50px;
-        display: block;
-    }
-
-    .inputfile:focus + label,
-    .inputfile + label:hover {
-        background-color: rgba(50, 50, 50, 0.30);
-    }
-
-    #progress {
-        position: absolute;
-        top: 0px;
-        left: 0px;
-        height: 100%;
-        width: 0%;
-        max-width: 100%;
-        max-height: 100%;
-        background-color: rgba(255, 0, 115, 0.75);
-        z-index: 10000;
-        display: block;
-    }
-
-    </style>
+    <link rel="stylesheet" href="/file/file.css">
 </head>
 <body>
     <div id="toolbar" class="toolbar-container"></div>

From e78299aed6a913a461142b80c37f21f722b7a0d1 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 11:46:47 +0200
Subject: [PATCH 107/236] use async file decryption, listen for progress
 events.

---
 www/common/media-tag.js | 2 +-
 www/media/main.js       | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/www/common/media-tag.js b/www/common/media-tag.js
index cf8c78210..370b0e93d 100644
--- a/www/common/media-tag.js
+++ b/www/common/media-tag.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,g=y.once[Symbol.iterator]();!(b=(w=g.next()).done);b=!0){var d=w.value;n.push(d),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&g.return&&g.return()}finally{if(h)throw v}}var m=!0,O=!1,E=void 0;try{for(var k,_=y.any[Symbol.iterator]();!(m=(k=_.next()).done);m=!0){var j=k.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,E=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw E}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),g=n(36),d=n(12),m=n(25),O=n(24),E=n(41),k=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new g),r.PluginStore.store(new d),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new E),m.FunctionStore.store("salsa20poly1305",k),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n,i=new Uint8Array(t);try{n=f.decrypt(i,r)}catch(e){var u=new Event("decryptionError");return u.message=e.message,void window.document.dispatchEvent(u)}var c=n.content,s=l.getBlobUrl(c,e.getMimeType()),p=new Event("decryption");p.blob=new Blob([c],{type:e.getMimeType()}),p.metadata=n.metadata,e.setAttribute("src",s),e.removeAttribute("data-crypto-key"),e.type=n.metadata.type,console.log(e),p.callback=function(){a.return(e)},window.document.dispatchEvent(p)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){var r=e.Nacl,o=function(e){throw new Error(e||"DECRYPTION_ERROR")};o();var i=new Uint8Array(new Array(24).fill(0)),u=0,a=t.subarray(0,2),c=e.decodePrefix(a),f={metadata:void 0},l=new Uint8Array(t.subarray(2,2+c)),p=r.secretbox.open(l,i,n);e.increment(i);try{f.metadata=JSON.parse(r.util.encodeUTF8(p))}catch(e){return o("E_METADATA_DECRYPTION")}f.metadata||o("NO_METADATA");for(var y,b=function(){var o=u*s+2+c,a=o+s;u++;var f=new Uint8Array(t.subarray(o,a)),l=r.secretbox.open(f,i,n);return e.increment(i),l},h=[];u*s<t.length;){if(!(y=b()))return window.setTimeout(o);h.push(y)}return f.content=e.joinChunks(h),f}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])});
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,d=y.once[Symbol.iterator]();!(b=(w=d.next()).done);b=!0){var g=w.value;n.push(g),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&d.return&&d.return()}finally{if(h)throw v}}var m=!0,O=!1,E=void 0;try{for(var k,_=y.any[Symbol.iterator]();!(m=(k=_.next()).done);m=!0){var j=k.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,E=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw E}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),d=n(36),g=n(12),m=n(25),O=n(24),E=n(41),k=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new d),r.PluginStore.store(new g),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new E),m.FunctionStore.store("salsa20poly1305",k),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t);f.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var o=n.content,i=l.getBlobUrl(o,e.getMimeType()),u=new Event("decryption");u.blob=new Blob([o],{type:e.getMimeType()}),u.metadata=n.metadata,e.setAttribute("src",i),e.removeAttribute("data-crypto-key"),u.callback=function(){a.return(e)},window.document.dispatchEvent(u)})}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),f=e.decodePrefix(c),l={metadata:void 0},p=new Uint8Array(t.subarray(2,2+f)),y=o.secretbox.open(p,u,n);e.increment(u);try{l.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!l.metadata)return r("NO_METADATA");var b=function(r){var c=a*s+2+f,l=c+s;a++;var p=new Uint8Array(t.subarray(c,l)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(l,t.length)),r(void 0,y)},h=[];!function n(){b(function(o,i){return o?setTimeout(function(){r(o)}):i?a*s<t.length?(h.push(i),n()):(h.push(i),l.content=e.joinChunks(h),r(void 0,l)):void r("UNEXPECTED_ENDING")})}()}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])});
\ No newline at end of file
diff --git a/www/media/main.js b/www/media/main.js
index 08efb7714..4b8f45ecf 100644
--- a/www/media/main.js
+++ b/www/media/main.js
@@ -80,6 +80,10 @@ define([
         .on('decryptionError', function (e) {
             var error = e.originalEvent;
             Cryptpad.alert(error.message);
+        })
+        .on('decryptionProgress', function (e) {
+            var progress = e.originalEvent;
+            console.log(progress.percent);
         });
 
         require(['/common/media-tag.js'], function (MediaTag) {

From 7d369fb5e04043858b903aa4da91b9ecd22040fa Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 14:37:00 +0200
Subject: [PATCH 108/236] move rpc warnings out of server and into rpc

---
 rpc.js | 45 ++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 38 insertions(+), 7 deletions(-)

diff --git a/rpc.js b/rpc.js
index 2f2b96a4c..e7d3c1627 100644
--- a/rpc.js
+++ b/rpc.js
@@ -286,7 +286,10 @@ var getFileSize = function (Env, channel, cb) {
         }
 
         return void Env.msgStore.getChannelSize(channel, function (e, size) {
-            if (e) { return void cb(e.code); }
+            if (e) {
+                if (e === 'ENOENT') { return void cb(void 0, 0); }
+                return void cb(e.code);
+            }
             cb(void 0, size);
         });
     }
@@ -331,7 +334,7 @@ var getTotalSize = function (Env, publicKey, cb) {
     //var msgStore = Env.msgStore;
 
     return void getChannelList(Env, publicKey, function (channels) {
-        if (!channels) { cb('NO_ARRAY'); } // unexpected
+        if (!channels) { return cb('NO_ARRAY'); } // unexpected
 
         var count = channels.length;
         if (!count) { cb(void 0, 0); }
@@ -755,6 +758,12 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
     // load pin-store...
     console.log('loading rpc module...');
 
+    var warn = function (e, output) {
+        if (e && !config.suppressRPCErrors) {
+            console.error('[' + e + ']', output);
+        }
+    };
+
     var keyOrDefaultString = function (key, def) {
         return typeof(config[key]) === 'string'? config[key]: def;
     };
@@ -848,40 +857,59 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             case 'COOKIE': return void Respond(void 0);
             case 'RESET':
                 return resetUserPins(Env, safeKey, msg[1], function (e, hash) {
+                    //warn(e, hash);
                     return void Respond(e, hash);
                 });
             case 'PIN':
                 return pinChannel(Env, safeKey, msg[1], function (e, hash) {
+                    warn(e, hash);
                     Respond(e, hash);
                 });
             case 'UNPIN':
                 return unpinChannel(Env, safeKey, msg[1], function (e, hash) {
+                    warn(e, hash);
                     Respond(e, hash);
                 });
             case 'GET_HASH':
                 return void getHash(Env, safeKey, function (e, hash) {
+                    warn(e, hash);
                     Respond(e, hash);
                 });
             case 'GET_TOTAL_SIZE': // TODO cache this, since it will get called quite a bit
                 return getTotalSize(Env, safeKey, function (e, size) {
-                    if (e) { return void Respond(e); }
+                    if (e) {
+                        warn(e, safeKey);
+                        return void Respond(e);
+                    }
                     Respond(e, size);
                 });
             case 'GET_FILE_SIZE':
-                return void getFileSize(Env, msg[1], Respond);
+                return void getFileSize(Env, msg[2], function (e, size) {
+                    warn(e, msg[2]);
+                    Respond(e, size);
+                });
             case 'UPDATE_LIMITS':
                 return void updateLimits(config, safeKey, function (e, limit) {
-                    if (e) { return void Respond(e); }
+                    if (e) {
+                        warn(e, limit);
+                        return void Respond(e);
+                    }
                     Respond(void 0, limit);
                 });
             case 'GET_LIMIT':
                 return void getLimit(Env, safeKey, function (e, limit) {
-                    if (e) { return void Respond(e); }
+                    if (e) {
+                        warn(e, limit);
+                        return void Respond(e);
+                    }
                     Respond(void 0, limit);
                 });
             case 'GET_MULTIPLE_FILE_SIZE':
                 return void getMultipleFileSize(Env, msg[1], function (e, dict) {
-                    if (e) { return void Respond(e); }
+                    if (e) {
+                        warn(e, dict);
+                        return void Respond(e);
+                    }
                     Respond(void 0, dict);
                 });
 
@@ -889,6 +917,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             case 'UPLOAD':
                 if (!privileged) { return deny(); }
                 return void upload(Env, safeKey, msg[1], function (e, len) {
+                    warn(e, len);
                     Respond(e, len);
                 });
             case 'UPLOAD_STATUS':
@@ -906,11 +935,13 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             case 'UPLOAD_COMPLETE':
                 if (!privileged) { return deny(); }
                 return void upload_complete(Env, safeKey, function (e, hash) {
+                    warn(e, hash);
                     Respond(e, hash);
                 });
             case 'UPLOAD_CANCEL':
                 if (!privileged) { return deny(); }
                 return void upload_cancel(Env, safeKey, function (e) {
+                    warn(e);
                     Respond(e);
                 });
             default:

From 0d265f543ea1f46e9b69665f817dc17c0b610544 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 14:41:55 +0200
Subject: [PATCH 109/236] add file.css to npm style command

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index dd089605c..e75ec7b32 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
   "scripts": {
     "lint": "jshint --config .jshintrc --exclude-path .jshintignore .",
     "test": "node TestSelenium.js",
-    "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css",
+    "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css && lessc ./www/file/file.less > ./www/file/file.css",
     "template": "cd customize.dist/src && node build.js"
   }
 }

From 0a54f0cf2d332c010d8819f1883fb6007c856bf8 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 16:21:26 +0200
Subject: [PATCH 110/236] better alignment of preview and code entry

---
 www/code/inner.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/code/inner.html b/www/code/inner.html
index 36d5911ee..0ef693f1c 100644
--- a/www/code/inner.html
+++ b/www/code/inner.html
@@ -78,7 +78,7 @@
             overflow: auto;
             display: inline-block;
             height: 100%;
-            border: 1px solid black;
+            border-left: 1px solid black;
             box-sizing: border-box;
             font-family: Calibri,Ubuntu,sans-serif;
         }

From 1378a0c1f62f678e115168a94d13db5fdec3568e Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 16:56:45 +0200
Subject: [PATCH 111/236] serve blobs from configured location

---
 server.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/server.js b/server.js
index d7f5b90fc..037a8adeb 100644
--- a/server.js
+++ b/server.js
@@ -8,6 +8,7 @@ var Fs = require('fs');
 var WebSocketServer = require('ws').Server;
 var NetfluxSrv = require('./node_modules/chainpad-server/NetfluxWebsocketSrv');
 var Package = require('./package.json');
+var Path = require("path");
 
 var config = require('./config');
 var websocketPort = config.websocketPort || config.httpPort;
@@ -82,7 +83,7 @@ var mainPages = config.mainPages || ['index', 'privacy', 'terms', 'about', 'cont
 var mainPagePattern = new RegExp('^\/(' + mainPages.join('|') + ').html$');
 app.get(mainPagePattern, Express.static(__dirname + '/customize.dist'));
 
-app.use("/blob", Express.static(__dirname + '/blob'));
+app.use("/blob", Express.static(Path.join(__dirname, (config.blobPath || './blob'))));
 
 app.use("/customize", Express.static(__dirname + '/customize'));
 app.use("/customize", Express.static(__dirname + '/customize.dist'));

From ba5ef5157e93c85d92f02fc4a5cb4527b46b5c51 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 18:37:31 +0200
Subject: [PATCH 112/236] show pretty representations of storage usage

---
 customize.dist/translations/messages.es.js |  4 +++
 customize.dist/translations/messages.fr.js |  3 ++
 customize.dist/translations/messages.js    |  4 +++
 www/common/common-util.js                  | 17 ++++++++++--
 www/common/cryptpad-common.js              | 32 ++++++++++++++++------
 5 files changed, 49 insertions(+), 11 deletions(-)

diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js
index 2346579fb..d2359c44b 100644
--- a/customize.dist/translations/messages.es.js
+++ b/customize.dist/translations/messages.es.js
@@ -410,6 +410,10 @@ define(function () {
     out.upgrade = "Mejorar";
     out.upgradeTitle = "Mejora tu cuenta para obtener más espacio";
     out.MB = "MB";
+    out.GB = "GB";
+    out.formattedMB = "{0} MB";
+    out.formattedGB = "{0} GB";
+
     out.pinLimitReached = "Has llegado al limite de espacio";
     out.pinLimitReachedAlert = "Has llegado al limite de espacio. Nuevos pads no serán movidos a tu CryptDrive.<br>Para resolver este problema, puedes quitar pads de tu CryptDrive (incluso en la papelera) o mejorar tu cuenta para obtener más espacio.";
     out.pinLimitNotPinned = "Has llegado al limite de espacio.<br>Este pad no estará presente en tu CryptDrive.";
diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index e8cc86ce2..5dfd383b0 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -61,6 +61,9 @@ define(function () {
     out.upgrade = "Améliorer";
     out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage";
     out.MB = "Mo";
+    out.GB = "Go";
+    out.formattedMB = "{0} Mo";
+    out.formattedGB = "{0} Go";
 
     out.greenLight = "Tout fonctionne bien";
     out.orangeLight = "Votre connexion est lente, ce qui réduit la qualité de l'éditeur";
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index f0ce247fc..6cbff3d7f 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -63,6 +63,10 @@ define(function () {
     out.upgrade = "Upgrade";
     out.upgradeTitle = "Upgrade your account to increase the storage limit";
     out.MB = "MB";
+    out.GB = "GB";
+
+    out.formattedMB = "{0} MB";
+    out.formattedGB = "{0} GB";
 
     out.greenLight = "Everything is working fine";
     out.orangeLight = "Your slow connection may impact your experience";
diff --git a/www/common/common-util.js b/www/common/common-util.js
index a5822c743..f04b85199 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -81,12 +81,25 @@ define([], function () {
             .replace(/_+/g, '_');
     };
 
+    var oneKilobyte = 1024;
+    var oneMegabyte = 1024 * oneKilobyte;
+    var oneGigabyte = 1024 * oneMegabyte;
+
+    Util.bytesToGigabytes = function (bytes) {
+        return Math.ceil(bytes / oneGigabyte * 100) / 100;
+    };
+
     Util.bytesToMegabytes = function (bytes) {
-        return Math.floor((bytes / (1024 * 1024) * 100)) / 100;
+        return Math.ceil(bytes / oneMegabyte * 100) / 100;
     };
 
     Util.bytesToKilobytes = function (bytes) {
-        return Math.floor(bytes / 1024 * 100) / 100;
+        return Math.ceil(bytes / oneKilobyte * 100) / 100;
+    };
+
+    Util.magnitudeOfBytes = function (bytes) {
+        if (bytes >= oneGigabyte) { return 'GB'; }
+        else if (bytes >= oneMegabyte) { return 'MB'; }
     };
 
     Util.fetch = function (src, cb) {
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 6f0a5e256..9bbebbed3 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -745,8 +745,7 @@ define([
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
         rpc.updatePinLimits(function (e, limit, plan) {
             if (e) { return cb(e); }
-            var MB = common.bytesToMegabytes(limit);
-            cb(e, MB, plan);
+            cb(e, limit, plan);
         });
     };
 
@@ -754,8 +753,7 @@ define([
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
         rpc.getLimit(function (e, limit, plan) {
             if (e) { return cb(e); }
-            var MB = common.bytesToMegabytes(limit);
-            cb(void 0, MB, plan);
+            cb(void 0, limit, plan);
         });
     };
 
@@ -771,7 +769,7 @@ define([
             return void cb (null, false, data);
         };
         var todo = function (e, used) {
-            usage = common.bytesToMegabytes(used);
+            usage = used; //common.bytesToMegabytes(used);
             if (e) { return void cb(e); }
             common.getPinLimit(andThen);
         };
@@ -802,9 +800,14 @@ define([
                     common.isOverPinLimit(todo);
                 }, LIMIT_REFRESH_RATE);
             }
-            var usage = data.usage;
-            var limit = data.limit;
-            var unit = Messages.MB;
+
+            var unit = Util.magnitudeOfBytes(data.limit);
+
+            var usage = unit === 'GB'? Util.bytesToGigabytes(data.usage):
+                Util.bytesToMegabytes(data.usage);
+            var limit = unit === 'GB'? Util.bytesToGigabytes(data.limit):
+                Util.bytesToMegabytes(data.limit);
+
             var $limit = $('<span>', {'class': 'cryptpad-limit-bar'}).appendTo($container);
             var quota = usage/limit;
             var width = Math.floor(Math.min(quota, 1)*200); // the bar is 200px width
@@ -823,11 +826,22 @@ define([
                 }).text(Messages.upgrade).appendTo($upgradeLink);
             }
 
+            var prettyUsage;
+            var prettyLimit;
+
+            if (unit === 'GB') {
+                prettyUsage = usage; //Messages._getKey('formattedGB', [usage]);
+                prettyLimit = Messages._getKey('formattedGB', [limit]);
+            } else {
+                prettyUsage = usage; //Messages._getKey('formattedMB', [usage]);
+                prettyLimit = Messages._getKey('formattedMB', [limit]);
+            }
+
             if (quota < 0.8) { $usage.addClass('normal'); }
             else if (quota < 1) { $usage.addClass('warning'); }
             else { $usage.addClass('above'); }
             var $text = $('<span>', {'class': 'usageText'});
-            $text.text(usage + ' / ' + limit + ' ' + unit);
+            $text.text(prettyUsage + ' / ' + prettyLimit);
             $limit.append($usage).append($text);
             window.setTimeout(function () {
                 common.isOverPinLimit(todo);

From 1ab6eb3c5df892d72eb56a45699db99a5beadf68 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Fri, 19 May 2017 18:41:34 +0200
Subject: [PATCH 113/236] Add a queue for multiple uploads in the file app

---
 customize.dist/translations/messages.fr.js | 16 ++++
 customize.dist/translations/messages.js    |  9 ++-
 rpc.js                                     |  2 +-
 www/file/inner.html                        | 46 ++++++++++-
 www/file/main.js                           | 91 +++++++++++++++++++---
 5 files changed, 150 insertions(+), 14 deletions(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index e8cc86ce2..5db44bf2d 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -61,6 +61,7 @@ define(function () {
     out.upgrade = "Améliorer";
     out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage";
     out.MB = "Mo";
+    out.KB = "Ko";
 
     out.greenLight = "Tout fonctionne bien";
     out.orangeLight = "Votre connexion est lente, ce qui réduit la qualité de l'éditeur";
@@ -348,6 +349,21 @@ define(function () {
     out.settings_logoutEverywhere = "Se déconnecter de toutes les autres sessions.";
     out.settings_logoutEverywhereConfirm = "Êtes-vous sûr ? Vous devrez vous reconnecter sur tous vos autres appareils.";
 
+    out.upload_serverError = "Erreur interne: impossible d'uploader le fichier pour l'instant.";
+    out.upload_uploadPending = "Vous avez déjà un fichier en cours d'upload. Souhaitez-vous l'annuler et uploader ce nouveau fichier ?";
+    out.upload_success = "Votre fichier ({0}) a été uploadé avec succès et ajouté à votre CryptDrive.";
+    out.upload_notEnoughSpace = "Il n'y a pas assez d'espace libre dans votre CryptDrive pour ce fichier.";
+    out.upload_tooLarge = "Ce fichier dépasse la taille maximale autorisée.";
+    out.upload_choose = "Choisir un fichier";
+    out.upload_pending = "En attente";
+    out.upload_cancelled = "Annulé";
+    out.upload_name = "Nom du fichier";
+    out.upload_size = "Taille";
+    out.upload_progress = "État";
+
+    // general warnings
+    out.warn_notPinned = "Ce pad n'est stocké dans aucun CryptDrive. Il va expirer après 3 mois d'inactivité. <a href='/about.html#pinning'>En savoir plus...</a>";
+
     // index.html
 
     //about.html
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index f0ce247fc..8a1de05a5 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -63,6 +63,7 @@ define(function () {
     out.upgrade = "Upgrade";
     out.upgradeTitle = "Upgrade your account to increase the storage limit";
     out.MB = "MB";
+    out.KB = "KB";
 
     out.greenLight = "Everything is working fine";
     out.orangeLight = "Your slow connection may impact your experience";
@@ -236,8 +237,6 @@ define(function () {
     out.fm_info_template = 'Contains all the pads stored as templates and that you can re-use when you create a new pad.';
     out.fm_info_trash = 'Files deleted from the trash are also removed from "All files" and it is impossible to recover them from the file manager.'; // Same here for "All files" and "out.fm_filesDataName"
     out.fm_info_allFiles = 'Contains all the files from "Documents", "Unsorted" and "Trash". You can\'t move or remove files from here.'; // Same here
-    out.fm_info_login = "Log in";
-    out.fm_info_register = "Sign up";
     out.fm_info_anonymous = 'You are not logged in so these pads may be deleted (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">find out why</a>). ' +
                             '<a href="/register/">Sign up</a> or <a href="/login/">Log in</a> to keep them alive.';
     out.fm_alert_backupUrl = "Backup link for this drive.<br>" +
@@ -360,6 +359,12 @@ define(function () {
     out.upload_success = "Your file ({0}) has been successfully uploaded and added to your drive.";
     out.upload_notEnoughSpace = "There is not enough space for this file in your CryptDrive.";
     out.upload_tooLarge = "This file exceeds the maximum upload size.";
+    out.upload_choose = "Choose a file";
+    out.upload_pending = "Pending";
+    out.upload_cancelled = "Cancelled";
+    out.upload_name = "File name";
+    out.upload_size = "Size";
+    out.upload_progress = "Progress";
 
     // general warnings
     out.warn_notPinned = "This pad is not in anyone's CryptDrive. It will expire after 3 months. <a href='/about.html#pinning'>Learn more...</a>";
diff --git a/rpc.js b/rpc.js
index 2f2b96a4c..ef2e547c3 100644
--- a/rpc.js
+++ b/rpc.js
@@ -13,7 +13,7 @@ var RPC = module.exports;
 
 var Store = require("./storage/file");
 
-var DEFAULT_LIMIT = 50 * 1024 * 1024;
+var DEFAULT_LIMIT = 150 * 1024 * 1024;
 
 var isValidId = function (chan) {
     return /^[a-fA-F0-9]/.test(chan) ||
diff --git a/www/file/inner.html b/www/file/inner.html
index 482fb4955..9b982b648 100644
--- a/www/file/inner.html
+++ b/www/file/inner.html
@@ -42,6 +42,8 @@
         margin: auto;
     }
     #upload-form label{
+        text-align: center;
+        line-height: 50vh;
         position: relative;
     }
 
@@ -82,14 +84,56 @@
         display: block;
     }
 
+    #status {
+        display: none;
+        width: 80vw;
+        margin-top: 50px;
+        margin-left: 10vw;
+        border: 1px solid black;
+        border-collapse: collapse;
+    }
+    #status tr:nth-child(1) {
+        background-color: #ccc;
+        border: 1px solid #999;
+    }
+    #status tr:nth-child(1) td { text-align: center; }
+    #status td {
+        border-left: 1px solid #BBB;
+        border-right: 1px solid #BBB;
+        padding: 0 10px;
+    }
+    #status .upProgress {
+        width: 200px;
+        position: relative;
+        text-align: center;
+    }
+    #status .progressContainer {
+        position: absolute;
+        width: 0px;
+        left: 5px;
+        top: 1px; bottom: 1px;
+        background-color: rgba(0,0,255,0.3);
+    }
+    #status .upCancel { text-align: center; }
+    #status .fa.cancel {
+        color: rgb(255, 0, 115);
+    }
     </style>
 </head>
 <body>
     <div id="toolbar" class="toolbar-container"></div>
     <div id="upload-form" style="display: none;">
         <input type="file" name="file" id="file" class="inputfile" />
-        <label for="file" class="block">Choose a file<span class="block" id="progress">&nbsp;</span></label>
+        <label for="file" class="block" data-localization="upload_choose">Choose a file<span class="block" id="progress">&nbsp;</span></label>
     </div>
+    <table id="status">
+        <tr>
+            <td data-localization="upload_name">File name</td>
+            <td data-localization="upload_size">Size</td>
+            <td data-localization="upload_progress">Progress</td>
+            <td data-localization="cancel">Cancel</td>
+        </tr>
+    </table>
     <div id="feedback" class="block hidden">
     </div>
 </body>
diff --git a/www/file/main.js b/www/file/main.js
index 4ffcaa127..eb53cca47 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -21,8 +21,9 @@ define([
     var ifrw = $('#pad-iframe')[0].contentWindow;
     var $iframe = $('#pad-iframe').contents();
     var $form = $iframe.find('#upload-form');
-    var $progress = $form.find('#progress');
+    //var $progress = $form.find('#progress');
     var $label = $form.find('label');
+    var $table = $iframe.find('#status');
 
     Cryptpad.addLoadingScreen();
 
@@ -31,8 +32,23 @@ define([
     var myFile;
     var myDataType;
 
-    var upload = function (blob, metadata) {
+    var queue = {
+        queue: [],
+        inProgress: false
+    };
+
+    var uid = function () {
+        return 'file-' + String(Math.random()).substring(2);
+    };
+
+    var upload = function (blob, metadata, id) {
         console.log(metadata);
+        if (queue.inProgress) { return; }
+        queue.inProgress = true;
+
+        var $cancelCell = $table.find('tr[id="'+id+'"]').find('.upCancel');
+        $cancelCell.html('-');
+
         var u8 = new Uint8Array(blob);
 
         var key = Nacl.randomBytes(32);
@@ -56,13 +72,19 @@ define([
             if (err) { throw new Error(err); }
             if (box) {
                 actual += box.length;
-                var progress = (actual / estimate * 100) + '%';
-                console.log(progress);
+                var progressValue = (actual / estimate * 100);
+                var progress = progressValue + '%';
 
                 return void sendChunk(box, function (e) {
                     if (e) { return console.error(e); }
-                    $progress.css({
+                    /*$progress.css({
                         width: progress,
+                    });*/
+                    var $pv = $table.find('tr[id="'+id+'"]').find('.progressValue');
+                    $pv.text(Math.round(progressValue*100)/100 + '%');
+                    var $pb = $table.find('tr[id="'+id+'"]').find('.progressContainer');
+                    $pb.css({
+                        width: (progressValue/100)*188+'px'
                     });
 
                     next(again);
@@ -82,7 +104,7 @@ define([
                 var b64Key = Nacl.util.encodeBase64(key);
                 Cryptpad.replaceHash(Cryptpad.getFileHashFromKeys(id, b64Key));
 
-                $form.hide();
+                //$form.hide();
 
                 APP.toolbar.addElement(['fileshare'], {});
 
@@ -94,11 +116,15 @@ define([
                 APP.toolbar.title.show();
                 console.log(title);
                 Cryptpad.alert(Messages._getKey('upload_success', [title]));
+                queue.inProgress = false;
+                queue.next();
             });
         };
 
         Cryptpad.uploadStatus(estimate, function (e, pending) {
             if (e) {
+                queue.inProgress = false;
+                queue.next();
                 if (e === 'TOO_LARGE') {
                     return void Cryptpad.alert(Messages.upload_tooLarge);
                 }
@@ -110,7 +136,7 @@ define([
             }
 
             if (pending) {
-                // TODO queue uploads... ?
+                // TODO keep this message in case of pending files in another window?
                 return void Cryptpad.confirm(Messages.upload_uploadPending, function (yes) {
                     if (!yes) { return; }
                     Cryptpad.uploadCancel(function (e, res) {
@@ -126,6 +152,48 @@ define([
         });
     };
 
+    var prettySize = function (bytes) {
+        var kB = Cryptpad.bytesToKilobytes(bytes);
+        if (kB < 1024) { return kB + Messages.KB; }
+        var mB = Cryptpad.bytesToMegabytes(bytes);
+        return mB + Messages.MB;
+    };
+
+    queue.next = function () {
+        if (queue.queue.length === 0) { return; }
+        if (queue.inProgress) { return; }
+        var file = queue.queue.shift();
+        upload(file.blob, file.metadata, file.id);
+    };
+    queue.push = function (obj) {
+        var id = uid();
+        obj.id = id;
+        queue.queue.push(obj);
+
+        $table.show();
+        var estimate = FileCrypto.computeEncryptedSize(obj.blob.byteLength, obj.metadata);
+
+        var $progressBar = $('<div>', {'class':'progressContainer'});
+        var $progressValue = $('<span>', {'class':'progressValue'}).text(Messages.upload_pending);
+
+        var $tr = $('<tr>', {id: id}).appendTo($table);
+
+        var $cancel = $('<span>', {'class': 'cancel fa fa-times'}).click(function () {
+            queue.queue = queue.queue.filter(function (el) { return el.id !== id });
+            $cancel.remove();
+            $tr.find('.upCancel').text('-');
+            $tr.find('.progressValue').text(Messages.upload_cancelled);
+        });
+
+        var $tr = $('<tr>', {id: id}).appendTo($table);
+        $('<td>').text(obj.metadata.name).appendTo($tr);
+        $('<td>').text(prettySize(estimate)).appendTo($tr);
+        $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr);
+        $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr);
+
+        queue.next();
+    };
+
     var uploadMode = false;
 
     var andThen = function () {
@@ -225,9 +293,12 @@ define([
             console.log(file);
             var reader = new FileReader();
             reader.onloadend = function () {
-                upload(this.result, {
-                    name: file.name,
-                    type: file.type,
+                queue.push({
+                    blob: this.result,
+                    metadata: {
+                        name: file.name,
+                        type: file.type,
+                    }
                 });
             };
             reader.readAsArrayBuffer(file);

From 03da870a7a4a3188496aa12f9ec7f6ec0e31496b Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 19 May 2017 19:38:57 +0200
Subject: [PATCH 114/236] jshint compliance

---
 www/file/main.js | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/www/file/main.js b/www/file/main.js
index eb53cca47..ada0b50d2 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -73,13 +73,9 @@ define([
             if (box) {
                 actual += box.length;
                 var progressValue = (actual / estimate * 100);
-                var progress = progressValue + '%';
 
                 return void sendChunk(box, function (e) {
                     if (e) { return console.error(e); }
-                    /*$progress.css({
-                        width: progress,
-                    });*/
                     var $pv = $table.find('tr[id="'+id+'"]').find('.progressValue');
                     $pv.text(Math.round(progressValue*100)/100 + '%');
                     var $pb = $table.find('tr[id="'+id+'"]').find('.progressContainer');
@@ -179,17 +175,17 @@ define([
         var $tr = $('<tr>', {id: id}).appendTo($table);
 
         var $cancel = $('<span>', {'class': 'cancel fa fa-times'}).click(function () {
-            queue.queue = queue.queue.filter(function (el) { return el.id !== id });
+            queue.queue = queue.queue.filter(function (el) { return el.id !== id; });
             $cancel.remove();
             $tr.find('.upCancel').text('-');
             $tr.find('.progressValue').text(Messages.upload_cancelled);
         });
 
-        var $tr = $('<tr>', {id: id}).appendTo($table);
-        $('<td>').text(obj.metadata.name).appendTo($tr);
-        $('<td>').text(prettySize(estimate)).appendTo($tr);
-        $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr);
-        $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr);
+        var $tr2 = $('<tr>', {id: id}).appendTo($table);
+        $('<td>').text(obj.metadata.name).appendTo($tr2);
+        $('<td>').text(prettySize(estimate)).appendTo($tr2);
+        $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr2);
+        $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr2);
 
         queue.next();
     };

From 538aec6ef5639f583a7ed9ce9b5cbf085c846537 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 22 May 2017 10:41:47 +0200
Subject: [PATCH 115/236] Display a message when pinPads returns an error

---
 customize.dist/translations/messages.fr.js | 1 +
 customize.dist/translations/messages.js    | 1 +
 www/common/userObject.js                   | 5 ++++-
 www/drive/main.js                          | 9 ++++++---
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 5db44bf2d..2302a1d62 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -247,6 +247,7 @@ define(function () {
                              'nos raisons pour ces changements et pourquoi vous devriez vraiment <a href="/register/">vous enregistrer</a> et <a href="/login/">vous connecter</a>.';
     out.fm_backup_title = 'Lien de secours';
     out.fm_nameFile = 'Comment souhaitez-vous nommer ce fichier ?';
+    out.fm_error_cantPin = "Erreur interne du serveur. Veuillez recharger la page et essayer de nouveau.";
     // File - Context menu
     out.fc_newfolder = "Nouveau dossier";
     out.fc_rename = "Renommer";
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 8a1de05a5..69e9cc3c2 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -249,6 +249,7 @@ define(function () {
                              'why we are doing this and why you really should <a href="/register/">Sign up</a> and <a href="/login/">Log in</a>.';
     out.fm_backup_title = 'Backup link';
     out.fm_nameFile = 'How would you like to name that file?';
+    out.fm_error_cantPin = "Internal server error. Please reload the page and try again.";
     // File - Context menu
     out.fc_newfolder = "New folder";
     out.fc_rename = "Rename";
diff --git a/www/common/userObject.js b/www/common/userObject.js
index 51840dca5..1559397d0 100644
--- a/www/common/userObject.js
+++ b/www/common/userObject.js
@@ -575,7 +575,10 @@ define([
                 atime: +new Date(),
                 ctime: +new Date()
             }, function (err) {
-                if (err) { return void cb(err); }
+                if (err) {
+                    logError(err);
+                    return void cb(err);
+                }
                 parentEl[fileName] = href;
                 var newPath = filePath.slice();
                 newPath.push(fileName);
diff --git a/www/drive/main.js b/www/drive/main.js
index a85c86e47..861136454 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -1397,8 +1397,11 @@ define([
             // Handlers
             if (isInRoot) {
                 var onCreated = function (err, info) {
-                    if (err && err === E_OVER_LIMIT) {
-                        return void Cryptpad.alert(Messages.pinLimitDrive, null, true);
+                    if (err) {
+                        if (err === E_OVER_LIMIT) {
+                            return void Cryptpad.alert(Messages.pinLimitDrive, null, true);
+                        }
+                        return void Cryptpad.alert(Messages.fm_error_cantPin);
                     }
                     module.newFolder = info.newPath;
                     refresh();
@@ -2361,7 +2364,7 @@ define([
                     return void Cryptpad.alert(Messages.pinLimitDrive, null, true);
                 }
                 if (err) {
-                    return void console.error("Unable to create the file", err);
+                    return void Cryptpad.alert(Messages.fm_error_cantPin);
                 }
                 module.newFolder = info.newPath;
                 refresh();

From 0c2f84058b1c857a593d159c951eb86fe42dfeef Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 22 May 2017 11:16:01 +0200
Subject: [PATCH 116/236] Improve css for the file app

---
 customize.dist/src/less/cryptpad.less |  9 +++++++++
 rpc.js                                |  2 +-
 www/file/file.css                     | 17 ++++++++++-------
 www/file/file.less                    | 19 +++++++++++--------
 www/file/inner.html                   |  4 +++-
 www/file/main.js                      |  9 ++++-----
 6 files changed, 38 insertions(+), 22 deletions(-)

diff --git a/customize.dist/src/less/cryptpad.less b/customize.dist/src/less/cryptpad.less
index 883e62ce4..0ee8785e6 100644
--- a/customize.dist/src/less/cryptpad.less
+++ b/customize.dist/src/less/cryptpad.less
@@ -43,6 +43,15 @@ a.github-corner > svg {
     font-size: 1.02em;
 }
 
+.unselectable {
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+}
+
 h1,h2,h3,h4,h5,h6 {
     color: @fore;
 
diff --git a/rpc.js b/rpc.js
index a155c8272..e7d3c1627 100644
--- a/rpc.js
+++ b/rpc.js
@@ -13,7 +13,7 @@ var RPC = module.exports;
 
 var Store = require("./storage/file");
 
-var DEFAULT_LIMIT = 150 * 1024 * 1024;
+var DEFAULT_LIMIT = 50 * 1024 * 1024;
 
 var isValidId = function (chan) {
     return /^[a-fA-F0-9]/.test(chan) ||
diff --git a/www/file/file.css b/www/file/file.css
index 375a356cc..f2fd8e6d5 100644
--- a/www/file/file.css
+++ b/www/file/file.css
@@ -9,10 +9,9 @@ body {
 }
 #file {
   display: block;
-  height: 300px;
-  width: 300px;
+  height: 100%;
+  width: 100%;
   border: 2px solid black;
-  margin: 50px;
 }
 .inputfile {
   width: 0.1px;
@@ -29,18 +28,23 @@ body {
   width: 50vh;
   height: 50vh;
   display: block;
-  margin: auto;
+  margin: 50px auto;
+  max-width: 80vw;
 }
 #upload-form label {
+  line-height: 50vh;
+  text-align: center;
   position: relative;
+  padding: 10px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
 }
 .hovering {
   background-color: rgba(255, 0, 115, 0.5) !important;
 }
 .block {
   display: block;
-  height: 50vh;
-  width: 50vh;
 }
 .hidden {
   display: none;
@@ -48,7 +52,6 @@ body {
 .inputfile + label {
   border: 2px solid black;
   background-color: rgba(50, 50, 50, 0.1);
-  margin: 50px;
   display: block;
 }
 .inputfile:focus + label,
diff --git a/www/file/file.less b/www/file/file.less
index b3074e33c..db6942596 100644
--- a/www/file/file.less
+++ b/www/file/file.less
@@ -11,10 +11,9 @@ html, body {
 }
 #file {
     display: block;
-    height: 300px;
-    width: 300px;
+    height: 100%;
+    width: 100%;
     border: 2px solid black;
-    margin: 50px;
 }
 
 .inputfile {
@@ -34,10 +33,17 @@ html, body {
     width: 50vh;
     height: 50vh;
     display: block;
-    margin: auto;
+    margin: 50px auto;
+    max-width: 80vw;
 }
-#upload-form label{
+#upload-form label {
+    line-height: 50vh;
+    text-align: center;
     position: relative;
+    padding: 10px;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
 }
 
 .hovering {
@@ -46,8 +52,6 @@ html, body {
 
 .block {
     display: block;
-    height: 50vh;
-    width: 50vh;
 }
 .hidden {
     display: none;
@@ -55,7 +59,6 @@ html, body {
 .inputfile + label {
     border: 2px solid black;
     background-color: rgba(50, 50, 50, .10);
-    margin: 50px;
     display: block;
 }
 
diff --git a/www/file/inner.html b/www/file/inner.html
index c6fe5fb32..548ac6a47 100644
--- a/www/file/inner.html
+++ b/www/file/inner.html
@@ -6,12 +6,14 @@
     <script src="/bower_components/jquery/dist/jquery.min.js"></script>
     <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css">
     <link rel="stylesheet" href="/file/file.css">
+    <link rel="stylesheet" href="/customize/main.css">
 </head>
 <body>
     <div id="toolbar" class="toolbar-container"></div>
     <div id="upload-form" style="display: none;">
         <input type="file" name="file" id="file" class="inputfile" />
-        <label for="file" class="block" data-localization="upload_choose">Choose a file<span class="block" id="progress">&nbsp;</span></label>
+        <label for="file" class="block unselectable" data-localization-title="upload_choose"
+            data-localization="upload_choose"><span class="block" id="progress">&nbsp;</span></label>
     </div>
     <table id="status">
         <tr>
diff --git a/www/file/main.js b/www/file/main.js
index ada0b50d2..56b46b1dd 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -181,11 +181,10 @@ define([
             $tr.find('.progressValue').text(Messages.upload_cancelled);
         });
 
-        var $tr2 = $('<tr>', {id: id}).appendTo($table);
-        $('<td>').text(obj.metadata.name).appendTo($tr2);
-        $('<td>').text(prettySize(estimate)).appendTo($tr2);
-        $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr2);
-        $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr2);
+        $('<td>').text(obj.metadata.name).appendTo($tr);
+        $('<td>').text(prettySize(estimate)).appendTo($tr);
+        $('<td>', {'class': 'upProgress'}).append($progressBar).append($progressValue).appendTo($tr);
+        $('<td>', {'class': 'upCancel'}).append($cancel).appendTo($tr);
 
         queue.next();
     };

From c45f08f14755ba3ec79e4c87c129f1d5c001b746 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 22 May 2017 11:43:45 +0200
Subject: [PATCH 117/236] Use a download button instead of downloading a file
 automatically

---
 customize.dist/main.css                    |  8 ++++
 customize.dist/translations/messages.fr.js |  1 +
 customize.dist/translations/messages.js    |  1 +
 www/file/file.css                          |  9 ++--
 www/file/file.less                         | 23 +++++-----
 www/file/inner.html                        |  9 +++-
 www/file/main.js                           | 51 ++++++++++++----------
 7 files changed, 63 insertions(+), 39 deletions(-)

diff --git a/customize.dist/main.css b/customize.dist/main.css
index 6ec0172ea..063324504 100644
--- a/customize.dist/main.css
+++ b/customize.dist/main.css
@@ -603,6 +603,14 @@ html.cp,
   font-family: lato, Helvetica, sans-serif;
   font-size: 1.02em;
 }
+.cp .unselectable {
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
 .cp h1,
 .cp h2,
 .cp h3,
diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index a475dba00..6499258e0 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -366,6 +366,7 @@ define(function () {
     out.upload_name = "Nom du fichier";
     out.upload_size = "Taille";
     out.upload_progress = "État";
+    out.download_button = "Déchiffrer et télécharger";
 
     // general warnings
     out.warn_notPinned = "Ce pad n'est stocké dans aucun CryptDrive. Il va expirer après 3 mois d'inactivité. <a href='/about.html#pinning'>En savoir plus...</a>";
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index fd99ba7b7..737b271c9 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -371,6 +371,7 @@ define(function () {
     out.upload_name = "File name";
     out.upload_size = "Size";
     out.upload_progress = "Progress";
+    out.download_button = "Decrypt & Download";
 
     // general warnings
     out.warn_notPinned = "This pad is not in anyone's CryptDrive. It will expire after 3 months. <a href='/about.html#pinning'>Learn more...</a>";
diff --git a/www/file/file.css b/www/file/file.css
index f2fd8e6d5..6554a77f0 100644
--- a/www/file/file.css
+++ b/www/file/file.css
@@ -7,7 +7,8 @@ body {
   padding: 0px;
   display: inline-block;
 }
-#file {
+#file,
+#dl {
   display: block;
   height: 100%;
   width: 100%;
@@ -21,7 +22,8 @@ body {
   position: absolute;
   z-index: -1;
 }
-#upload-form {
+#upload-form,
+#download-form {
   padding: 0px;
   margin: 0px;
   position: relative;
@@ -31,7 +33,8 @@ body {
   margin: 50px auto;
   max-width: 80vw;
 }
-#upload-form label {
+#upload-form label,
+#download-form label {
   line-height: 50vh;
   text-align: center;
   position: relative;
diff --git a/www/file/file.less b/www/file/file.less
index db6942596..a7da1bb3e 100644
--- a/www/file/file.less
+++ b/www/file/file.less
@@ -9,7 +9,7 @@ html, body {
     padding: 0px;
     display: inline-block;
 }
-#file {
+#file, #dl {
     display: block;
     height: 100%;
     width: 100%;
@@ -25,7 +25,7 @@ html, body {
     z-index: -1;
 }
 
-#upload-form {
+#upload-form, #download-form {
     padding: 0px;
     margin: 0px;
 
@@ -35,17 +35,16 @@ html, body {
     display: block;
     margin: 50px auto;
     max-width: 80vw;
+    label {
+        line-height: 50vh;
+        text-align: center;
+        position: relative;
+        padding: 10px;
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+    }
 }
-#upload-form label {
-    line-height: 50vh;
-    text-align: center;
-    position: relative;
-    padding: 10px;
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-}
-
 .hovering {
     background-color: rgba(255, 0, 115, 0.5) !important;
 }
diff --git a/www/file/inner.html b/www/file/inner.html
index 548ac6a47..a9660b2d3 100644
--- a/www/file/inner.html
+++ b/www/file/inner.html
@@ -13,9 +13,14 @@
     <div id="upload-form" style="display: none;">
         <input type="file" name="file" id="file" class="inputfile" />
         <label for="file" class="block unselectable" data-localization-title="upload_choose"
-            data-localization="upload_choose"><span class="block" id="progress">&nbsp;</span></label>
+            data-localization="upload_choose"></label>
     </div>
-    <table id="status">
+    <div id="download-form" style="display: none;">
+        <input type="button" name="dl" id="dl" class="inputfile" />
+        <label for="dl" class="block unselectable" data-localization-title="download_button"
+            data-localization="download_button"></label>
+    </div>
+    <table id="status" style="display: none;">
         <tr>
             <td data-localization="upload_name">File name</td>
             <td data-localization="upload_size">Size</td>
diff --git a/www/file/main.js b/www/file/main.js
index 56b46b1dd..3c25ec070 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -21,8 +21,9 @@ define([
     var ifrw = $('#pad-iframe')[0].contentWindow;
     var $iframe = $('#pad-iframe').contents();
     var $form = $iframe.find('#upload-form');
-    //var $progress = $form.find('#progress');
+    var $dlform = $iframe.find('#download-form');
     var $label = $form.find('label');
+    var $dllabel = $dlform.find('label');
     var $table = $iframe.find('#status');
 
     Cryptpad.addLoadingScreen();
@@ -100,8 +101,6 @@ define([
                 var b64Key = Nacl.util.encodeBase64(key);
                 Cryptpad.replaceHash(Cryptpad.getFileHashFromKeys(id, b64Key));
 
-                //$form.hide();
-
                 APP.toolbar.addElement(['fileshare'], {});
 
                 var title = document.title = metadata.name;
@@ -250,30 +249,38 @@ define([
         Title.updateTitle(Cryptpad.initialName || getTitle() || Title.defaultTitle);
 
         if (!uploadMode) {
-            var src = Cryptpad.getBlobPathFromHex(hexFileName);
-            return Cryptpad.fetch(src, function (e, u8) {
-                if (e) { return void Cryptpad.alert(e); }
-                // now decrypt the u8
-                var cryptKey = secret.keys && secret.keys.fileKeyStr;
-                var key = Nacl.util.decodeBase64(cryptKey);
+            $dlform.show();
+            Cryptpad.removeLoadingScreen();
+            $dlform.find('#dl').click(function (e) {
 
-                if (!u8 || !u8.length) {
-                    return void Cryptpad.errorLoadingScreen(e);
-                }
+                if (myFile) { exportFile(); }
 
-                FileCrypto.decrypt(u8, key, function (e, data) {
-                    if (e) {
-                        Cryptpad.removeLoadingScreen();
-                        return console.error(e);
+                var src = Cryptpad.getBlobPathFromHex(hexFileName);
+                return Cryptpad.fetch(src, function (e, u8) {
+                    if (e) { return void Cryptpad.alert(e); }
+                    // now decrypt the u8
+                    var cryptKey = secret.keys && secret.keys.fileKeyStr;
+                    var key = Nacl.util.decodeBase64(cryptKey);
+
+                    if (!u8 || !u8.length) {
+                        return void Cryptpad.errorLoadingScreen(e);
                     }
-                    console.log(data);
-                    var title = document.title = data.metadata.name;
-                    myFile = data.content;
-                    myDataType = data.metadata.type;
-                    Title.updateTitle(title || Title.defaultTitle);
-                    Cryptpad.removeLoadingScreen();
+
+                    FileCrypto.decrypt(u8, key, function (e, data) {
+                        if (e) {
+                            return console.error(e);
+                        }
+                        console.log(data);
+                        var title = document.title = data.metadata.name;
+                        myFile = data.content;
+                        myDataType = data.metadata.type;
+                        Title.updateTitle(title || Title.defaultTitle);
+                        exportFile();
+                    });
                 });
+
             });
+            return;
         }
 
         if (!Cryptpad.isLoggedIn()) {

From 4ee42b87d47ce1d4189ea88e54749d15681bfa6f Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 12:04:47 +0200
Subject: [PATCH 118/236] make file crypto great again

---
 www/file/file-crypto.js | 58 +++++++++++++++++++++++++----------------
 www/file/main.js        |  2 ++
 2 files changed, 38 insertions(+), 22 deletions(-)

diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js
index cde49759c..c7bd74ea3 100644
--- a/www/file/file-crypto.js
+++ b/www/file/file-crypto.js
@@ -58,14 +58,14 @@ define([
     };
 
     var joinChunks = function (chunks) {
-        return new Uint8Array(chunks.reduce(function (A, B) {
-            return slice(A).concat(slice(B));
-        }, []));
+        return new Blob(chunks);
     };
 
-    var decrypt = function (u8, key, cb) {
-        var fail = function (e) {
-            cb(e || "DECRYPTION_ERROR");
+    var decrypt = function (u8, key, done, progress) {
+        var MAX = u8.length;
+        var _progress = function (offset) {
+            if (typeof(progress) !== 'function') { return; }
+            progress(Math.min(1, offset / MAX));
         };
 
         var nonce = createNonce();
@@ -86,16 +86,18 @@ define([
         try {
             res.metadata = JSON.parse(Nacl.util.encodeUTF8(metaChunk));
         } catch (e) {
-            return fail('E_METADATA_DECRYPTION');
+            return window.setTimeout(function () {
+                done('E_METADATA_DECRYPTION');
+            });
         }
 
         if (!res.metadata) {
             return void setTimeout(function () {
-                cb('NO_METADATA');
+                done('NO_METADATA');
             });
         }
 
-        var takeChunk = function () {
+        var takeChunk = function (cb) {
             var start = i * cypherChunkLength + 2 + metadataLength;
             var end = start + cypherChunkLength;
             i++;
@@ -104,24 +106,36 @@ define([
             // decrypt the chunk
             var plaintext = Nacl.secretbox.open(box, nonce, key);
             increment(nonce);
-            return plaintext;
+
+            if (!plaintext) { return cb('DECRYPTION_ERROR'); }
+
+            _progress(end);
+            cb(void 0, plaintext);
         };
 
         var chunks = [];
-        // decrypt file contents
-        var chunk;
-        for (;i * cypherChunkLength < u8.length;) {
-            chunk = takeChunk();
-            if (!chunk) {
-                return window.setTimeout(fail);
-            }
-            chunks.push(chunk);
-        }
 
-        // send chunks
-        res.content = joinChunks(chunks);
+        var again = function () {
+            takeChunk(function (e, plaintext) {
+                if (e) {
+                    return setTimeout(function () {
+                        done(e);
+                    });
+                }
+                if (plaintext) {
+                    if (i * cypherChunkLength < u8.length) { // not done
+                        chunks.push(plaintext);
+                        return setTimeout(again);
+                    }
+                    chunks.push(plaintext);
+                    res.content = joinChunks(chunks);
+                    return done(void 0, res);
+                }
+                done('UNEXPECTED_ENDING');
+            });
+        };
 
-        cb(void 0, res);
+        again();
     };
 
     // metadata
diff --git a/www/file/main.js b/www/file/main.js
index ada0b50d2..0ce6ecefa 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -273,6 +273,8 @@ define([
                     myDataType = data.metadata.type;
                     Title.updateTitle(title || Title.defaultTitle);
                     Cryptpad.removeLoadingScreen();
+                }, function (progress) {
+                    console.error(progress);
                 });
             });
         }

From 6e7fe879745e4c63dbc9f2eda54d0350bb50a09e Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 12:06:29 +0200
Subject: [PATCH 119/236] WIP debug file upload errors. use better error
 strings

---
 rpc.js | 37 ++++++++++++++++++++++++++++---------
 1 file changed, 28 insertions(+), 9 deletions(-)

diff --git a/rpc.js b/rpc.js
index a155c8272..b0c5dbb12 100644
--- a/rpc.js
+++ b/rpc.js
@@ -303,7 +303,7 @@ var getFileSize = function (Env, channel, cb) {
 
 var getMultipleFileSize = function (Env, channels, cb) {
     var msgStore = Env.msgStore;
-    if (!Array.isArray(channels)) { return cb('INVALID_LIST'); }
+    if (!Array.isArray(channels)) { return cb('INVALID_PIN_LIST'); }
     if (typeof(msgStore.getChannelSize) !== 'function') {
         return cb('GET_CHANNEL_SIZE_UNSUPPORTED');
     }
@@ -331,10 +331,8 @@ var getMultipleFileSize = function (Env, channels, cb) {
 
 var getTotalSize = function (Env, publicKey, cb) {
     var bytes = 0;
-    //var msgStore = Env.msgStore;
-
     return void getChannelList(Env, publicKey, function (channels) {
-        if (!channels) { return cb('NO_ARRAY'); } // unexpected
+        if (!channels) { return cb('INVALID_PIN_LIST'); } // unexpected
 
         var count = channels.length;
         if (!count) { cb(void 0, 0); }
@@ -464,7 +462,7 @@ var sumChannelSizes = function (sizes) {
 
 var pinChannel = function (Env, publicKey, channels, cb) {
     if (!channels && channels.filter) {
-        return void cb('[TYPE_ERROR] pin expects channel list argument');
+        return void cb('INVALID_PIN_LIST');
     }
 
     // get channel list ensures your session has a cached channel list
@@ -508,7 +506,7 @@ var unpinChannel = function (Env, publicKey, channels, cb) {
     var pinStore = Env.pinStore;
     if (!channels && channels.filter) {
         // expected array
-        return void cb('[TYPE_ERROR] unpin expects channel list argument');
+        return void cb('INVALID_PIN_LIST');
     }
 
     getChannelList(Env, publicKey, function (pinned) {
@@ -700,7 +698,9 @@ var upload_complete = function (Env, publicKey, cb) {
 
         safeMkdir(Path.join(paths.blob, prefix), function (e) {
             if (e) {
+                console.error('[safeMkdir]');
                 console.error(e);
+                console.log();
                 return void cb('RENAME_ERR');
             }
             isFile(newPath, function (e, yes) {
@@ -717,20 +717,39 @@ var upload_complete = function (Env, publicKey, cb) {
         });
     };
 
-    tryRandomLocation(function (e, newPath, id) {
+    var retries = 3;
+
+    var handleMove = function (e, newPath, id) {
+        if (e) {
+            if (retries--) {
+                setTimeout(function () {
+                    return tryRandomLocation(handleMove);
+                }, 750);
+            }
+        }
+
+        // lol wut handle ur errors
         Fs.rename(oldPath, newPath, function (e) {
             if (e) {
                 console.error(e);
+
+                if (retries--) {
+                    return setTimeout(function () {
+                        tryRandomLocation(handleMove);
+                    }, 750);
+                }
+
                 return cb(e);
             }
             cb(void 0, id);
         });
-    });
+    };
+
+    tryRandomLocation(handleMove);
 };
 
 var upload_status = function (Env, publicKey, filesize, cb) {
     var paths = Env.paths;
-    //var msgStore = Env.msgStore;
 
     // validate that the provided size is actually a positive number
     if (typeof(filesize) !== 'number' &&

From dd73ad2dd5096bc37bd825c11384ee43bb452119 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 12:26:44 +0200
Subject: [PATCH 120/236] add decryptMetadata function

---
 www/file/main.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/www/file/main.js b/www/file/main.js
index 7fb0d0e88..66c749b89 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -257,6 +257,8 @@ define([
                 var src = Cryptpad.getBlobPathFromHex(hexFileName);
                 return Cryptpad.fetch(src, function (e, u8) {
                     if (e) { return void Cryptpad.alert(e); }
+
+
                     // now decrypt the u8
                     var cryptKey = secret.keys && secret.keys.fileKeyStr;
                     var key = Nacl.util.decodeBase64(cryptKey);
@@ -265,6 +267,7 @@ define([
                         return void Cryptpad.errorLoadingScreen(e);
                     }
 
+                    return console.error(FileCrypto.decryptMetadata(u8, key));
                     FileCrypto.decrypt(u8, key, function (e, data) {
                         if (e) {
                             return console.error(e);

From 3964f4feee598e38f02b7bb1a95b92bde219ace8 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 22 May 2017 12:30:00 +0200
Subject: [PATCH 121/236] Display the progress when downloading a file

---
 www/file/file.css   |  8 +++++---
 www/file/file.less  | 12 ++++++++----
 www/file/inner.html |  1 +
 www/file/main.js    |  3 +++
 4 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/www/file/file.css b/www/file/file.css
index 6554a77f0..d4248fa80 100644
--- a/www/file/file.css
+++ b/www/file/file.css
@@ -35,13 +35,15 @@ body {
 }
 #upload-form label,
 #download-form label {
-  line-height: 50vh;
+  line-height: calc(50vh - 20px);
   text-align: center;
   position: relative;
   padding: 10px;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
+  height: 50vh;
+  box-sizing: border-box;
 }
 .hovering {
   background-color: rgba(255, 0, 115, 0.5) !important;
@@ -63,8 +65,8 @@ body {
 }
 #progress {
   position: absolute;
-  top: 0px;
-  left: 0px;
+  top: 0;
+  left: 0;
   height: 100%;
   transition: width 500ms;
   width: 0%;
diff --git a/www/file/file.less b/www/file/file.less
index a7da1bb3e..ebf800584 100644
--- a/www/file/file.less
+++ b/www/file/file.less
@@ -1,6 +1,8 @@
 @import "../../customize.dist/src/less/variables.less";
 @import "../../customize.dist/src/less/mixins.less";
 
+@button-border: 2px;
+
 html, body {
     margin: 0px;
 }
@@ -13,7 +15,7 @@ html, body {
     display: block;
     height: 100%;
     width: 100%;
-    border: 2px solid black;
+    border: @button-border solid black;
 }
 
 .inputfile {
@@ -36,13 +38,15 @@ html, body {
     margin: 50px auto;
     max-width: 80vw;
     label {
-        line-height: 50vh;
+        line-height: ~"calc(50vh - 20px)";
         text-align: center;
         position: relative;
         padding: 10px;
         white-space: nowrap;
         overflow: hidden;
         text-overflow: ellipsis;
+        height: 50vh;
+        box-sizing: border-box;
     }
 }
 .hovering {
@@ -68,8 +72,8 @@ html, body {
 
 #progress {
     position: absolute;
-    top: 0px;
-    left: 0px;
+    top: 0;
+    left: 0;
     height: 100%;
 
 
diff --git a/www/file/inner.html b/www/file/inner.html
index a9660b2d3..c56aa80bf 100644
--- a/www/file/inner.html
+++ b/www/file/inner.html
@@ -19,6 +19,7 @@
         <input type="button" name="dl" id="dl" class="inputfile" />
         <label for="dl" class="block unselectable" data-localization-title="download_button"
             data-localization="download_button"></label>
+        <span class="block" id="progress">&nbsp;</span>
     </div>
     <table id="status" style="display: none;">
         <tr>
diff --git a/www/file/main.js b/www/file/main.js
index 7fb0d0e88..a80e571c9 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -25,6 +25,7 @@ define([
     var $label = $form.find('label');
     var $dllabel = $dlform.find('label');
     var $table = $iframe.find('#status');
+    var $progress = $iframe.find('#progress');
 
     Cryptpad.addLoadingScreen();
 
@@ -276,6 +277,8 @@ define([
                         Title.updateTitle(title || Title.defaultTitle);
                         exportFile();
                     }, function (progress) {
+                        var p = progress * 100 +'%';
+                        $progress.width(p);
                         console.error(progress);
                     });
                 });

From a99080fb74ffd875d9d975ef08d45add1ae0112a Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 12:31:00 +0200
Subject: [PATCH 122/236] push the rest of the code

---
 www/file/file-crypto.js | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js
index c7bd74ea3..a36a3fc19 100644
--- a/www/file/file-crypto.js
+++ b/www/file/file-crypto.js
@@ -61,6 +61,19 @@ define([
         return new Blob(chunks);
     };
 
+    var decryptMetadata = function (u8, key) {
+        var prefix = u8.subarray(0, 2);
+        var metadataLength = decodePrefix(prefix);
+
+        var metaBox = new Uint8Array(u8.subarray(2, 2 + metadataLength));
+        var metaChunk = Nacl.secretbox.open(metaBox, createNonce(), key);
+
+        try {
+            return JSON.parse(Nacl.util.encodeUTF8(metaChunk));
+        }
+        catch (e) { return null; }
+    };
+
     var decrypt = function (u8, key, done, progress) {
         var MAX = u8.length;
         var _progress = function (offset) {
@@ -198,5 +211,6 @@ define([
         encrypt: encrypt,
         joinChunks: joinChunks,
         computeEncryptedSize: computeEncryptedSize,
+        decryptMetadata: decryptMetadata,
     };
 });

From 0b6c587e2bce9739f38e9d0e7a8ce95fcd24505c Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 14:37:38 +0200
Subject: [PATCH 123/236] fetch and decrypt metadata with range requests

---
 www/file/file-crypto.js | 46 +++++++++++++++++++++++++++++++++++++++++
 www/file/main.js        | 12 ++++++-----
 2 files changed, 53 insertions(+), 5 deletions(-)

diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js
index a36a3fc19..61e11ecdc 100644
--- a/www/file/file-crypto.js
+++ b/www/file/file-crypto.js
@@ -61,6 +61,43 @@ define([
         return new Blob(chunks);
     };
 
+    var concatBuffer = function (a, b) { // TODO make this not so ugly
+        return new Uint8Array(slice(a).concat(slice(b)));
+    };
+
+    var fetchMetadata = function (src, cb) {
+        var done = false;
+        var CB = function (err, res) {
+            if (done) { return; }
+            done = true;
+            cb(err, res);
+        };
+
+        var xhr = new XMLHttpRequest();
+        xhr.open("GET", src, true);
+        xhr.setRequestHeader('Range', 'bytes=0-1');
+        xhr.responseType = 'arraybuffer';
+
+        xhr.onload = function () {
+            if (/^4/.test('' + this.status)) { return CB('XHR_ERROR'); }
+            var res = new Uint8Array(xhr.response);
+            var size = decodePrefix(res);
+            var xhr2 = new XMLHttpRequest();
+
+            xhr2.open("GET", src, true);
+            xhr2.setRequestHeader('Range', 'bytes=2-' + (size + 2));
+            xhr2.responseType = 'arraybuffer';
+            xhr2.onload = function () {
+                if (/^4/.test('' + this.status)) { return CB('XHR_ERROR'); }
+                var res2 = new Uint8Array(xhr2.response);
+                var all = concatBuffer(res, res2);
+                CB(void 0, all);
+            };
+            xhr2.send(null);
+        };
+        xhr.send(null);
+    };
+
     var decryptMetadata = function (u8, key) {
         var prefix = u8.subarray(0, 2);
         var metadataLength = decodePrefix(prefix);
@@ -74,6 +111,13 @@ define([
         catch (e) { return null; }
     };
 
+    var fetchDecryptedMetadata = function (src, key, cb) {
+        fetchMetadata(src, function (e, buffer) {
+            if (e) { return cb(e); }
+            cb(void 0, decryptMetadata(buffer, key));
+        });
+    };
+
     var decrypt = function (u8, key, done, progress) {
         var MAX = u8.length;
         var _progress = function (offset) {
@@ -212,5 +256,7 @@ define([
         joinChunks: joinChunks,
         computeEncryptedSize: computeEncryptedSize,
         decryptMetadata: decryptMetadata,
+        fetchMetadata: fetchMetadata,
+        fetchDecryptedMetadata: fetchDecryptedMetadata,
     };
 });
diff --git a/www/file/main.js b/www/file/main.js
index 66c749b89..04bf80259 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -255,19 +255,21 @@ define([
                 if (myFile) { return void exportFile(); }
 
                 var src = Cryptpad.getBlobPathFromHex(hexFileName);
+                var cryptKey = secret.keys && secret.keys.fileKeyStr;
+                var key = Nacl.util.decodeBase64(cryptKey);
+
+/*              return FileCrypto.fetchDecryptedMetadata(src, key, function (e, metadata) {
+                    if (e) { return console.error(e); }
+                    console.log(metadata);
+                });*/
                 return Cryptpad.fetch(src, function (e, u8) {
                     if (e) { return void Cryptpad.alert(e); }
 
-
                     // now decrypt the u8
-                    var cryptKey = secret.keys && secret.keys.fileKeyStr;
-                    var key = Nacl.util.decodeBase64(cryptKey);
-
                     if (!u8 || !u8.length) {
                         return void Cryptpad.errorLoadingScreen(e);
                     }
 
-                    return console.error(FileCrypto.decryptMetadata(u8, key));
                     FileCrypto.decrypt(u8, key, function (e, data) {
                         if (e) {
                             return console.error(e);

From 71dc0af6c76a4ab04040070a11e44fc41cb5611d Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 14:37:57 +0200
Subject: [PATCH 124/236] better test for success error codes

---
 www/common/common-util.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/common-util.js b/www/common/common-util.js
index f04b85199..6fb2ad7bb 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -114,7 +114,7 @@ define([], function () {
         xhr.open("GET", src, true);
         xhr.responseType = "arraybuffer";
         xhr.onload = function () {
-            if ([200, 304].indexOf(this.status) === -1) {
+            if (/^4/.test(''+this.status)) {
                 return CB('XHR_ERROR');
             }
             return void CB(void 0, new Uint8Array(xhr.response));

From 346c289204d1f2612764ed2589cf95bd6dbeab4a Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 22 May 2017 14:39:58 +0200
Subject: [PATCH 125/236] Fix lint errors

---
 www/file/main.js | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/www/file/main.js b/www/file/main.js
index 7ceb40885..36f3aea7d 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -23,7 +23,6 @@ define([
     var $form = $iframe.find('#upload-form');
     var $dlform = $iframe.find('#download-form');
     var $label = $form.find('label');
-    var $dllabel = $dlform.find('label');
     var $table = $iframe.find('#status');
     var $progress = $iframe.find('#progress');
 
@@ -252,7 +251,7 @@ define([
         if (!uploadMode) {
             $dlform.show();
             Cryptpad.removeLoadingScreen();
-            $dlform.find('#dl').click(function (e) {
+            $dlform.find('#dl').click(function () {
                 if (myFile) { return void exportFile(); }
 
                 var src = Cryptpad.getBlobPathFromHex(hexFileName);
@@ -268,7 +267,7 @@ define([
                         return void Cryptpad.errorLoadingScreen(e);
                     }
 
-                    return console.error(FileCrypto.decryptMetadata(u8, key));
+//                    return console.error(FileCrypto.decryptMetadata(u8, key));
                     FileCrypto.decrypt(u8, key, function (e, data) {
                         if (e) {
                             return console.error(e);

From a6cf761172dcae7c654f3cb70e9d7489b4a8ce2d Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 14:45:14 +0200
Subject: [PATCH 126/236] don't store media tag pages in the drive

---
 www/media/main.js | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/www/media/main.js b/www/media/main.js
index 4b8f45ecf..bd1764f9c 100644
--- a/www/media/main.js
+++ b/www/media/main.js
@@ -41,16 +41,9 @@ define([
         };
 
         var updateTitle = function (newTitle) {
-            Cryptpad.renamePad(newTitle, function (err, data) {
-                if (err) {
-                    console.log("Couldn't set pad title");
-                    console.error(err);
-                    return;
-                }
-                document.title = newTitle;
-                $bar.find('.' + Toolbar.constants.title).find('span.title').text(data);
-                $bar.find('.' + Toolbar.constants.title).find('input').val(data);
-            });
+            document.title = newTitle;
+            $bar.find('.' + Toolbar.constants.title).find('span.title').text(data);
+            $bar.find('.' + Toolbar.constants.title).find('input').val(data);
         };
 
         var suggestName = function () {

From 6dc3c62ba46fed98386368509d0ce071ebc118b3 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 15:12:39 +0200
Subject: [PATCH 127/236] check for src before trying to ajax

---
 www/file/file-crypto.js | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/www/file/file-crypto.js b/www/file/file-crypto.js
index 61e11ecdc..49ced7553 100644
--- a/www/file/file-crypto.js
+++ b/www/file/file-crypto.js
@@ -112,6 +112,11 @@ define([
     };
 
     var fetchDecryptedMetadata = function (src, key, cb) {
+        if (typeof(src) !== 'string') {
+            return window.setTimeout(function () {
+                cb('NO_SOURCE');
+            });
+        }
         fetchMetadata(src, function (e, buffer) {
             if (e) { return cb(e); }
             cb(void 0, decryptMetadata(buffer, key));

From 40b99e7bbfbfd175a39c5714a861c32eb1f70ad3 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 22 May 2017 15:30:59 +0200
Subject: [PATCH 128/236] Get the file name before downloading the entire file

---
 www/file/file.css   |  1 +
 www/file/file.less  |  1 +
 www/file/inner.html |  2 +-
 www/file/main.js    | 83 +++++++++++++++++++++++++--------------------
 4 files changed, 50 insertions(+), 37 deletions(-)

diff --git a/www/file/file.css b/www/file/file.css
index d4248fa80..f1e78d72a 100644
--- a/www/file/file.css
+++ b/www/file/file.css
@@ -1,6 +1,7 @@
 html,
 body {
   margin: 0px;
+  height: 100%;
 }
 .cryptpad-toolbar {
   margin-bottom: 1px;
diff --git a/www/file/file.less b/www/file/file.less
index ebf800584..04407f8e5 100644
--- a/www/file/file.less
+++ b/www/file/file.less
@@ -5,6 +5,7 @@
 
 html, body {
     margin: 0px;
+    height: 100%;
 }
 .cryptpad-toolbar {
     margin-bottom: 1px;
diff --git a/www/file/inner.html b/www/file/inner.html
index c56aa80bf..f5946c099 100644
--- a/www/file/inner.html
+++ b/www/file/inner.html
@@ -19,7 +19,7 @@
         <input type="button" name="dl" id="dl" class="inputfile" />
         <label for="dl" class="block unselectable" data-localization-title="download_button"
             data-localization="download_button"></label>
-        <span class="block" id="progress">&nbsp;</span>
+        <span class="block" id="progress"></span>
     </div>
     <table id="status" style="display: none;">
         <tr>
diff --git a/www/file/main.js b/www/file/main.js
index 0e8a39294..ff0d52ec4 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -26,6 +26,9 @@ define([
     var $table = $iframe.find('#status');
     var $progress = $iframe.find('#progress');
 
+    $iframe.find('body').on('dragover', function (e) { e.preventDefault(); });
+    $iframe.find('body').on('drop', function (e) { e.preventDefault(); });
+
     Cryptpad.addLoadingScreen();
 
     var Title;
@@ -211,13 +214,10 @@ define([
         };
 
         var exportFile = function () {
-            var suggestion = document.title;
-            Cryptpad.prompt(Messages.exportPrompt,
-                Cryptpad.fixFileName(suggestion), function (filename) {
-                if (!(typeof(filename) === 'string' && filename)) { return; }
-                var blob = new Blob([myFile], {type: myDataType});
-                saveAs(blob, filename);
-            });
+            var filename = Cryptpad.fixFileName(document.title);
+            if (!(typeof(filename) === 'string' && filename)) { return; }
+            var blob = new Blob([myFile], {type: myDataType});
+            saveAs(blob, filename);
         };
 
         Title = Cryptpad.createTitle({}, function(){}, Cryptpad);
@@ -250,40 +250,50 @@ define([
 
         if (!uploadMode) {
             $dlform.show();
-            Cryptpad.removeLoadingScreen();
-            $dlform.find('#dl').click(function () {
-                if (myFile) { return void exportFile(); }
+            var src = Cryptpad.getBlobPathFromHex(hexFileName);
+            var cryptKey = secret.keys && secret.keys.fileKeyStr;
+            var key = Nacl.util.decodeBase64(cryptKey);
 
-                var src = Cryptpad.getBlobPathFromHex(hexFileName);
-                var cryptKey = secret.keys && secret.keys.fileKeyStr;
-                var key = Nacl.util.decodeBase64(cryptKey);
+            FileCrypto.fetchDecryptedMetadata(src, key, function (e, metadata) {
+                if (e) { return void console.error(e); }
+                var title = document.title = metadata.name;
+                Title.updateTitle(title || Title.defaultTitle);
 
-/*              return FileCrypto.fetchDecryptedMetadata(src, key, function (e, metadata) {
-                    if (e) { return console.error(e); }
-                    console.log(metadata);
-                });*/
-                return Cryptpad.fetch(src, function (e, u8) {
-                    if (e) { return void Cryptpad.alert(e); }
+                Cryptpad.removeLoadingScreen();
+                var decrypting = false;
+                $dlform.find('#dl, #progress').click(function () {
+                    if (decrypting) { return; }
+                    if (myFile) { return void exportFile(); }
+                    decrypting = true;
 
-                    // now decrypt the u8
-                    if (!u8 || !u8.length) {
-                        return void Cryptpad.errorLoadingScreen(e);
-                    }
-
-                    FileCrypto.decrypt(u8, key, function (e, data) {
+                    return Cryptpad.fetch(src, function (e, u8) {
                         if (e) {
-                            return console.error(e);
+                            decrypting = false;
+                            return void Cryptpad.alert(e);
                         }
-                        console.log(data);
-                        var title = document.title = data.metadata.name;
-                        myFile = data.content;
-                        myDataType = data.metadata.type;
-                        Title.updateTitle(title || Title.defaultTitle);
-                        exportFile();
-                    }, function (progress) {
-                        var p = progress * 100 +'%';
-                        $progress.width(p);
-                        console.error(progress);
+
+                        // now decrypt the u8
+                        if (!u8 || !u8.length) {
+                            return void Cryptpad.errorLoadingScreen(e);
+                        }
+
+                        FileCrypto.decrypt(u8, key, function (e, data) {
+                            if (e) {
+                                decrypting = false;
+                                return console.error(e);
+                            }
+                            console.log(data);
+                            var title = document.title = data.metadata.name;
+                            myFile = data.content;
+                            myDataType = data.metadata.type;
+                            Title.updateTitle(title || Title.defaultTitle);
+                            exportFile();
+                            decrypting = false;
+                        }, function (progress) {
+                            var p = progress * 100 +'%';
+                            $progress.width(p);
+                            console.error(progress);
+                        });
                     });
                 });
             });
@@ -341,6 +351,7 @@ define([
             e.stopPropagation();
         })
         .on('drop', function (e) {
+            e.stopPropagation();
             var dropped = e.originalEvent.dataTransfer.files;
             counter = 0;
             $label.removeClass('hovering');

From ff8701b6ba753ea2647a0067b08b3804fa12ad91 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 15:56:24 +0200
Subject: [PATCH 129/236] send note along with limit

---
 rpc.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rpc.js b/rpc.js
index 3442a4c96..489f8b725 100644
--- a/rpc.js
+++ b/rpc.js
@@ -407,7 +407,7 @@ var updateLimits = function (config, publicKey, cb) {
                 if (publicKey) {
                     var limit = limits[publicKey];
                     l = limit && typeof limit.limit === "number" ?
-                            [limit.limit, limit.plan] : [defaultLimit, ''];
+                            [limit.limit, limit.plan, limit.note] : [defaultLimit, '', ''];
                 }
                 cb(void 0, l);
             } catch (e) {
@@ -431,7 +431,7 @@ var getLimit = function (Env, publicKey, cb) {
         Env.defaultStorageLimit: DEFAULT_LIMIT;
 
     var toSend = limit && typeof(limit.limit) === "number"?
-        [limit.limit, limit.plan] : [defaultLimit, ''];
+        [limit.limit, limit.plan, limit.note] : [defaultLimit, '', ''];
 
     cb(void 0, toSend);
 };

From 259d34b7c8128e5500e6a3c2fd04e68685ad4c32 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 16:34:22 +0200
Subject: [PATCH 130/236] jshint compliance

---
 www/media/main.js | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/www/media/main.js b/www/media/main.js
index bd1764f9c..81820f8c0 100644
--- a/www/media/main.js
+++ b/www/media/main.js
@@ -41,9 +41,9 @@ define([
         };
 
         var updateTitle = function (newTitle) {
-            document.title = newTitle;
-            $bar.find('.' + Toolbar.constants.title).find('span.title').text(data);
-            $bar.find('.' + Toolbar.constants.title).find('input').val(data);
+            var title = document.title = newTitle;
+            $bar.find('.' + Toolbar.constants.title).find('span.title').text(title);
+            $bar.find('.' + Toolbar.constants.title).find('input').val(title);
         };
 
         var suggestName = function () {

From 6d38a5abc1523706a2b2b04380243f910a0c7794 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 16:49:50 +0200
Subject: [PATCH 131/236] add new variables to example config

---
 config.example.js | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/config.example.js b/config.example.js
index a91c384bd..fe3f2fb91 100644
--- a/config.example.js
+++ b/config.example.js
@@ -197,7 +197,7 @@ module.exports = {
     /*  Setting this value to anything other than true will cause file upload
      *  attempts to be rejected outright.
      */
-    enableUploads: true,
+    enableUploads: false,
 
     /*  If you have enabled file upload, you have the option of restricting it
      *  to a list of users identified by their public keys. If this value is set
@@ -209,7 +209,19 @@ module.exports = {
      *  This is a temporary measure until a better quota system is in place.
      *  registered users' public keys can be found on the settings page.
      */
-    restrictUploads: true,
+    //restrictUploads: false,
+
+    /*  Default user storage limit (bytes)
+     *  if you don't want to limit users,
+     *  you can set this to the size of your hard disk
+     */
+    defaultStorageLimit: 50 * 1024 * 1024,
+
+    /*  Max Upload Size (bytes)
+     *  this sets the maximum size of any one file uploaded to the server.
+     *  anything larger than this size will be rejected
+     */
+    maxUploadSize: 20 * 1024 * 1024,
 
     /*  clients can use the /settings/ app to opt out of usage feedback
      *  which informs the server of things like how much each app is being

From 2ca62776601b6da066b6d47c71a9145ae4d13824 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 16:50:32 +0200
Subject: [PATCH 132/236] enable pin limits by default

---
 customize.dist/application_config.js | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/customize.dist/application_config.js b/customize.dist/application_config.js
index 949c612ee..24ed2c740 100644
--- a/customize.dist/application_config.js
+++ b/customize.dist/application_config.js
@@ -37,8 +37,7 @@ define(function() {
 
     config.enableHistory = true;
 
-    //config.enablePinLimit = true;
-    //config.pinLimit = 1000;
+    config.enablePinLimit = true;
 
     /*  user passwords are hashed with scrypt, and salted with their username.
         this value will be appended to the username, causing the resulting hash

From d55b7e411cf92457d8b9b8747c3a3ec446c951b4 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Mon, 22 May 2017 17:55:10 +0200
Subject: [PATCH 133/236] Display an alert in the drive when the limit is
 reached

---
 customize.dist/translations/messages.fr.js |  9 ++++++---
 customize.dist/translations/messages.js    |  9 ++++++---
 www/common/cryptpad-common.js              | 15 +++++++++++----
 www/common/toolbar2.js                     |  2 +-
 4 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 6499258e0..da69e49f2 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -73,8 +73,10 @@ define(function () {
     out.redLight = "Vous êtes déconnectés de la session";
 
     out.pinLimitReached = "Vous avez atteint votre limite de stockage";
-    out.pinLimitReachedAlert = "Vous avez atteint votre limite de stockage. Les nouveaux pads ne seront pas enregistrés dans votre CrypDrive.<br>" +
-        "Pour résoudre ce problème, vous pouvez soit supprimer des pads de votre CryptDrive (y compris la corbeille), soit vous abonner à une offre premium pour augmenter la limite maximale.";
+    out.updated_0_pinLimitReachedAlert = "Vous avez atteint votre limite de stockage. Les nouveaux pads ne seront pas enregistrés dans votre CryptDrive.<br>" +
+        'Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">abonner à une offre premium</a> pour augmenter la limite maximale.';
+    out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert;
+    out.pinAboveLimitAlert = 'Depuis la dernière version, nous imposons désormais une limite de 50 Mo de stockage gratuit et vous utilisez actuellement {0}. You devriez soit supprimer certains pads ou soit vous abonner sur <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Votre contribution nous aidera à améliorer CryptPad et à répandre le Zero Knowledge. Vous pouvez contacter le <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> pour tout problème ou question concernant ces changements.';
     out.pinLimitNotPinned = "Vous avez atteint votre limite de stockage.<br>"+
                             "Ce pad n'est pas enregistré dans votre CryptDrive.";
     out.pinLimitDrive = out.pinLimitReached+ ".<br>" +
@@ -238,7 +240,8 @@ define(function () {
     out.fm_info_root = "Créez ici autant de dossiers que vous le souhaitez pour trier vos fichiers.";
     out.fm_info_unsorted = 'Contient tous les pads que vous avez ouvert et qui ne sont pas triés dans "Documents" ou déplacés vers la "Corbeille".'; // "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName"
     out.fm_info_template = "Contient tous les fichiers que vous avez sauvés en tant que modèle afin de les réutiliser lors de la création d'un nouveau pad.";
-    out.fm_info_trash = 'Les fichiers supprimés dans la corbeille sont également enlevés de "Tous les fichiers" et il est impossible de les récupérer depuis l\'explorateur de fichiers.'; // Same here for "All files" and "out.fm_filesDataName"
+    out.updated_0_fm_info_trash = "Vider la corbeille permet de libérer de l'espace dans votre CryptDrive";
+    out.fm_info_trash = out.updated_0_fm_info_trash;
     out.fm_info_allFiles = 'Contient tous les fichiers de "Documents", "Fichiers non triés" et "Corbeille". Vous ne pouvez pas supprimer ou déplacer des fichiers depuis cet endroit.'; // Same here
     out.fm_info_anonymous = 'Vous n\'êtes pas connectés, ces pads risquent donc d\'être supprimés (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">découvrez pourquoi</a>). ' +
                             '<a href="/register/">Inscrivez-vous</a> ou <a href="/login/">connectez-vous</a> pour les maintenir en vie.';
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 737b271c9..186bb3684 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -75,8 +75,10 @@ define(function () {
     out.redLight = "You are disconnected from the session";
 
     out.pinLimitReached = "You've reached your storage limit";
-    out.pinLimitReachedAlert = "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>" +
-        "To fix this problem, you can either remove pads from your CryptDrive (including the trash) or subscribe to a premium offer to increase your limit.";
+    out.updated_0_pinLimitReachedAlert = "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>" +
+        'You can either remove pads from your CryptDrive or <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">subscribe to a premium offer</a> to increase your limit.';
+    out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert;
+    out.pinAboveLimitAlert = 'As of this release, we are imposing a 50MB limit on free data storage and you are currently using {0}. You will need to either delete some pads or subscribe on <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Your contribution will help us improve CryptPad and spread Zero Knowledge. Please contact <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> if you have any other questions.';
     out.pinLimitNotPinned = "You've reached your storage limit.<br>"+
                             "This pad is not stored in your CryptDrive.";
     out.pinLimitDrive = "You've reached your storage limit.<br>" +
@@ -240,7 +242,8 @@ define(function () {
     out.fm_info_root = "Create as many nested folders here as you want to sort your files.";
     out.fm_info_unsorted = 'Contains all the files you\'ve visited that are not yet sorted in "Documents" or moved to the "Trash".'; // "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName"
     out.fm_info_template = 'Contains all the pads stored as templates and that you can re-use when you create a new pad.';
-    out.fm_info_trash = 'Files deleted from the trash are also removed from "All files" and it is impossible to recover them from the file manager.'; // Same here for "All files" and "out.fm_filesDataName"
+    out.updated_0_fm_info_trash = 'Empty your trash to free space in your CryptDrive.';
+    out.fm_info_trash = out.updated_0_fm_info_trash;
     out.fm_info_allFiles = 'Contains all the files from "Documents", "Unsorted" and "Trash". You can\'t move or remove files from here.'; // Same here
     out.fm_info_anonymous = 'You are not logged in so these pads may be deleted (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">find out why</a>). ' +
                             '<a href="/register/">Sign up</a> or <a href="/login/">Log in</a> to keep them alive.';
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 9bbebbed3..7a2264864 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -792,6 +792,7 @@ define([
     };
 
     var LIMIT_REFRESH_RATE = 30000; // milliseconds
+    var limitReachedDisplayed = false;
     common.createUsageBar = function (cb, alwaysDisplayUpgrade) {
         var todo = function (err, state, data) {
             var $container = $('<span>', {'class':'limit-container'});
@@ -830,18 +831,24 @@ define([
             var prettyLimit;
 
             if (unit === 'GB') {
-                prettyUsage = usage; //Messages._getKey('formattedGB', [usage]);
+                prettyUsage = Messages._getKey('formattedGB', [usage]);
                 prettyLimit = Messages._getKey('formattedGB', [limit]);
             } else {
-                prettyUsage = usage; //Messages._getKey('formattedMB', [usage]);
+                prettyUsage = Messages._getKey('formattedMB', [usage]);
                 prettyLimit = Messages._getKey('formattedMB', [limit]);
             }
 
             if (quota < 0.8) { $usage.addClass('normal'); }
             else if (quota < 1) { $usage.addClass('warning'); }
-            else { $usage.addClass('above'); }
+            else {
+                $usage.addClass('above');
+                if (!limitReachedDisplayed) {
+                    limitReachedDisplayed = true;
+                    common.alert(Messages._getKey('pinAboveLimitAlert', [prettyUsage, encodeURIComponent(window.location.hostname)]), null, true);
+                }
+            }
             var $text = $('<span>', {'class': 'usageText'});
-            $text.text(prettyUsage + ' / ' + prettyLimit);
+            $text.text(usage + ' / ' + prettyLimit);
             $limit.append($usage).append($text);
             window.setTimeout(function () {
                 common.isOverPinLimit(todo);
diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js
index 49e2376e8..57d113a48 100644
--- a/www/common/toolbar2.js
+++ b/www/common/toolbar2.js
@@ -617,7 +617,7 @@ define([
             if (e) { return void console.error("Unable to get the pinned usage"); }
             if (overLimit) {
                 $limit.show().click(function () {
-                    Cryptpad.alert(Messages.pinLimitReachedAlert, null, true);
+                    Cryptpad.alert(Messages._getKey('pinLimitReachedAlert', [encodeURIComponent(window.location.hostname)]), null, true);
                 });
             }
         };

From 70cae0d2c3ec62496cff97d573f925ad6d236790 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 22 May 2017 18:43:06 +0200
Subject: [PATCH 134/236] safely access pin reset response

---
 www/common/pinpad.js | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/www/common/pinpad.js b/www/common/pinpad.js
index b14a5bac0..dbd7c8b22 100644
--- a/www/common/pinpad.js
+++ b/www/common/pinpad.js
@@ -77,6 +77,13 @@ define([
                     return;
                 }
                 rpc.send('RESET', channels, function (e, response) {
+                    if (e) {
+                        return void cb(e);
+                    }
+                    if (!response.length) {
+                        console.log(response);
+                        return void cb('INVALID_RESPONSE');
+                    }
                     cb(e, response[0]);
                 });
             };

From c3437382fb7b0683da3a68def7e4898fd513d15f Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 23 May 2017 11:22:32 +0200
Subject: [PATCH 135/236] Fix the release version in the what's new popup

---
 www/common/cryptpad-common.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 7a2264864..18ea8678e 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -1325,14 +1325,16 @@ define([
         var ver = arr[1];
         if (!ver) { return; }
         var verArr = ver.split('.');
+        verArr[2] = 0;
         if (verArr.length !== 3) { return; }
         var stored = localStorage[CRYPTPAD_VERSION] || '0.0.0';
         var storedArr = stored.split('.');
+        storedArr[2] = 0;
         var shouldUpdate = parseInt(verArr[0]) > parseInt(storedArr[0]) ||
                            (parseInt(verArr[0]) === parseInt(storedArr[0]) &&
                             parseInt(verArr[1]) > parseInt(storedArr[1]));
         if (!shouldUpdate) { return; }
-        common.alert(Messages._getKey('newVersion', [ver]), null, true);
+        common.alert(Messages._getKey('newVersion', [verArr.join('.')]), null, true);
         localStorage[CRYPTPAD_VERSION] = ver;
     };
 

From 91ba41b8e8a7f75eee8dc42773e65ebe1c673ebc Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 23 May 2017 11:46:59 +0200
Subject: [PATCH 136/236] hotfix for account ids

---
 rpc.js | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/rpc.js b/rpc.js
index 489f8b725..0257c498f 100644
--- a/rpc.js
+++ b/rpc.js
@@ -376,6 +376,11 @@ var updateLimits = function (config, publicKey, cb) {
     var defaultLimit = typeof(config.defaultStorageLimit) === 'number'?
         config.defaultStorageLimit: DEFAULT_LIMIT;
 
+    var userId;
+    if (publicKey) {
+        userId = unescapeKeyCharacters(publicKey);
+    }
+
     var body = JSON.stringify({
         domain: config.domain,
         subdomain: config.subdomain
@@ -404,8 +409,8 @@ var updateLimits = function (config, publicKey, cb) {
                 var json = JSON.parse(str);
                 limits = json;
                 var l;
-                if (publicKey) {
-                    var limit = limits[publicKey];
+                if (userId) {
+                    var limit = limits[userId];
                     l = limit && typeof limit.limit === "number" ?
                             [limit.limit, limit.plan, limit.note] : [defaultLimit, '', ''];
                 }

From 6ddfe0e901f7484d7f6a6b04ccb8407d9a3e170e Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 23 May 2017 12:14:31 +0200
Subject: [PATCH 137/236] Fix new lines in /pad userlist

---
 customize.dist/src/less/toolbar.less | 2 ++
 customize.dist/toolbar.css           | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/customize.dist/src/less/toolbar.less b/customize.dist/src/less/toolbar.less
index c216e2835..df68bc8c4 100644
--- a/customize.dist/src/less/toolbar.less
+++ b/customize.dist/src/less/toolbar.less
@@ -414,6 +414,8 @@
     margin-bottom: -1px;
     .cryptpad-dropdown-users {
         pre {
+            /* needed for ckeditor */
+            white-space: pre;
             margin: 5px 0px;
         }
     }
diff --git a/customize.dist/toolbar.css b/customize.dist/toolbar.css
index 2b80dc69c..ba7d7ea35 100644
--- a/customize.dist/toolbar.css
+++ b/customize.dist/toolbar.css
@@ -489,6 +489,8 @@
   margin-bottom: -1px;
 }
 .cryptpad-toolbar-leftside .cryptpad-dropdown-users pre {
+  /* needed for ckeditor */
+  white-space: pre;
   margin: 5px 0px;
 }
 .cryptpad-toolbar-leftside button {

From 0a646a9534538ec874b69784cfcb8404fee67d88 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 23 May 2017 12:35:49 +0200
Subject: [PATCH 138/236] remove unnecessary space

---
 customize.dist/translations/messages.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 186bb3684..751cf3633 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -481,7 +481,7 @@ define(function () {
         '# CryptPad\'s Zero Knowledge collaborative code editor\n',
         '\n',
         '* What you type here is encrypted so only people who have the link can access it.\n',
-        '*  You can choose the programming language to highlight and the UI color scheme in the upper right.'
+        '* You can choose the programming language to highlight and the UI color scheme in the upper right.'
     ].join('');
 
     out.slideInitialState = [

From 964d0461549097155c66b86b767792cc1659e3ef Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 23 May 2017 14:50:28 +0200
Subject: [PATCH 139/236] Update a french translation key

---
 customize.dist/translations/messages.fr.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index da69e49f2..576e0d403 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -58,7 +58,7 @@ define(function () {
                      'Découvrez les nouveautés de la dernière version :<br>'+
                      '<a href="https://github.com/xwiki-labs/cryptpad/releases/tag/{0}" target="_blank">Notes de version pour CryptPad {0}</a>';
 
-    out.upgrade = "Améliorer";
+    out.upgrade = "Augmenter votre limite";
     out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage";
     out.MB = "Mo";
     out.GB = "Go";

From 6324d9bbb0026d922e6039d6fd477ffc379d2410 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 23 May 2017 14:54:40 +0200
Subject: [PATCH 140/236] feedback on template feature usage

---
 www/common/cryptpad-common.js | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 18ea8678e..0559c1ce9 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -445,6 +445,7 @@ define([
                     Crypt.put(p.hash, val, function () {
                         common.findOKButton().click();
                         common.removeLoadingScreen();
+                        common.feedback('TEMPLATE_USED');
                     });
                 });
             }).appendTo($p);
@@ -923,6 +924,7 @@ define([
                                 common.addTemplate(makePad(href, title));
                                 whenRealtimeSyncs(getStore().getProxy().info.realtime, function () {
                                     common.alert(Messages.templateSaved);
+                                    common.feedback('TEMPLATE_CREATED');
                                 });
                             });
                         };

From b281d51d90774a2280bb9b3a135cf55d6d044937 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 23 May 2017 15:04:18 +0200
Subject: [PATCH 141/236] Fix typos in the french translation

---
 customize.dist/translations/messages.fr.js | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 576e0d403..a112d397e 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -389,15 +389,15 @@ define(function () {
     out.main_zeroKnowledge_p = "Vous n'avez pas besoin de croire que nous n'<em>allons</em> pas regarder vos pads. Avec la technologie Zero Knowledge de CryptPad, nous ne <em>pouvons</em> pas le faire. Apprenez-en plus sur notre manière de <a href=\"privacy.html\" title='Protection des données'>protéger vos données</a>.";
     out.main_writeItDown = 'Prenez-en note';
     out.main_writeItDown_p = "Les plus grands projets naissent des plus petites idées. Prenez note de vos moments d'inspiration et de vos idées inattendues car vous ne savez pas lesquels seront des découvertes capitales.";
-    out.main_share = 'Partager le lien, partager le pad';
-    out.main_share_p = "Faites croître vos idées à plusieurs : réalisez des réunions efficaes, collaborez sur vos listes de tâches et réalisez des présentations rapide avec tous vos amis sur tous vos appareils.";
-    out.main_organize = 'Soyez organisés';
-    out.main_organize_p = "Avec le CryptPad Drive, vous pouvez garder vos vues sur ce qui est important. Les dossiers vous permettent de garder la trace de vos projets et d'avoir une vision globale du travail effectué.";
+    out.main_share = 'Partagez le lien, partagez le pad';
+    out.main_share_p = "Faites croître vos idées à plusieurs : réalisez des réunions efficaces, collaborez sur vos listes de tâches et réalisez des présentations rapides avec tous vos amis sur tous vos appareils.";
+    out.main_organize = 'Soyez organisé';
+    out.main_organize_p = "Avec CryptDrive, vous pouvez garder vos vues sur ce qui est important. Les dossiers vous permettent de garder la trace de vos projets et d'avoir une vision globale du travail effectué.";
     out.tryIt = 'Essayez-le !';
     out.main_richText = 'Éditeur de texte';
     out.main_richText_p = 'Éditez des documents texte collaborativement avec notre application <a href="http://ckeditor.com" target="_blank">CkEditor</a> temps-réel et Zero Knowledge.';
     out.main_code = 'Éditeur de code';
-    out.main_code_p = 'Modifier votre code collaborativement grâce à notre application <a href="https://www.codemirror.net" target="_blank">CodeMirror</a> temps-réel et Zero Knowledge.';
+    out.main_code_p = 'Modifiez votre code collaborativement grâce à notre application <a href="https://www.codemirror.net" target="_blank">CodeMirror</a> temps-réel et Zero Knowledge.';
     out.main_slide = 'Présentations';
     out.main_slide_p = 'Créez vos présentations en syntaxe Markdown collaborativement de manière sécurisée et affichez les dans votre navigateur.';
     out.main_poll = 'Sondages';

From 6faca87e73f55d00dd3e16b58065e40e6ec1ec30 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 23 May 2017 15:54:04 +0200
Subject: [PATCH 142/236] set preview content in read only mode

---
 www/code/main.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/www/code/main.js b/www/code/main.js
index 6c9fbd0e1..fa6ecf12b 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -304,7 +304,10 @@ define([
 
                 onLocal(); // push local state to avoid parse errors later.
 
-                if (readOnly) { return; }
+                if (readOnly) {
+                    config.onRemote();
+                    return;
+                }
                 UserList.getLastName(toolbar.$userNameButton, isNew);
             };
 

From e6c04ccb49f1ab0aa52265a5ea391c0af066966f Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 23 May 2017 16:11:07 +0200
Subject: [PATCH 143/236] bump server after paying for an account

---
 www/auth/main.js              | 5 +++++
 www/common/cryptpad-common.js | 8 ++++----
 www/common/pinpad.js          | 4 ++--
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/www/auth/main.js b/www/auth/main.js
index 032f406ba..488165911 100644
--- a/www/auth/main.js
+++ b/www/auth/main.js
@@ -42,6 +42,11 @@ define([
                         sig: sig
                     };
                 }
+            } else if (data.cmd === 'UPDATE_LIMIT') {
+                return Cryptpad.updatePinLimit(function (e, limit, plan, note) {
+                    ret.res = [limit, plan, note];
+                    srcWindow.postMessage(JSON.stringify(ret), domain);
+                });
             } else {
                 ret.error = "UNKNOWN_CMD";
             }
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 0559c1ce9..730a7984f 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -744,17 +744,17 @@ define([
 
     common.updatePinLimit = function (cb) {
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
-        rpc.updatePinLimits(function (e, limit, plan) {
+        rpc.updatePinLimits(function (e, limit, plan, note) {
             if (e) { return cb(e); }
-            cb(e, limit, plan);
+            cb(e, limit, plan, note);
         });
     };
 
     common.getPinLimit = function (cb) {
         if (!pinsReady()) { return void cb('[RPC_NOT_READY]'); }
-        rpc.getLimit(function (e, limit, plan) {
+        rpc.getLimit(function (e, limit, plan, note) {
             if (e) { return cb(e); }
-            cb(void 0, limit, plan);
+            cb(void 0, limit, plan, note);
         });
     };
 
diff --git a/www/common/pinpad.js b/www/common/pinpad.js
index dbd7c8b22..ff1a37c44 100644
--- a/www/common/pinpad.js
+++ b/www/common/pinpad.js
@@ -133,7 +133,7 @@ define([
                 rpc.send('UPDATE_LIMITS', undefined, function (e, response) {
                     if (e) { return void cb(e); }
                     if (response && response.length && typeof(response[0]) === "number") {
-                        cb (void 0, response[0], response[1]);
+                        cb (void 0, response[0], response[1], response[2]);
                     } else {
                         cb('INVALID_RESPONSE');
                     }
@@ -144,7 +144,7 @@ define([
                 rpc.send('GET_LIMIT', undefined, function (e, response) {
                     if (e) { return void cb(e); }
                     if (response && response.length && typeof(response[0]) === "number") {
-                        cb (void 0, response[0], response[1]);
+                        cb (void 0, response[0], response[1], response[2]);
                     } else {
                         cb('INVALID_RESPONSE');
                     }

From 97cc4a6d54539b5d799cfd698f056b29b1b6f9b1 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 23 May 2017 18:03:35 +0200
Subject: [PATCH 144/236] add styling for tables in markdown preview

---
 www/code/inner.html | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/www/code/inner.html b/www/code/inner.html
index 0ef693f1c..f27544238 100644
--- a/www/code/inner.html
+++ b/www/code/inner.html
@@ -86,6 +86,13 @@
             max-width: 40vw;
             margin: auto;
         }
+        #preview table tr td, #preview table tr th {
+            border: 1px solid black;
+            padding: 15px;
+        }
+        #preview table tr th {
+            border: 3px solid black;
+        }
     </style>
 </head>
 <body>

From 90f5713d4a053c634e6c76912b188dc5508a14b1 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 23 May 2017 18:09:30 +0200
Subject: [PATCH 145/236] Fix an issue with the search bar redirecting to
 incorrect location

---
 www/drive/main.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/www/drive/main.js b/www/drive/main.js
index 861136454..5343bd829 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -1771,7 +1771,8 @@ define([
                     if (parentPath) {
                         $a = $('<a>').text(Messages.fm_openParent).click(function (e) {
                             e.preventDefault();
-                            parentPath.pop();
+                            if (filesOp.isInTrashRoot(parentPath)) { parentPath = [TRASH]; }
+                            else { parentPath.pop(); }
                             module.displayDirectory(parentPath);
                         });
                     }
@@ -1823,6 +1824,7 @@ define([
                 displayDirectory(parentPath, true);
                 return;
             }
+            if (!isSearch) { delete APP.Search.oldLocation; }
 
             module.resetTree();
 

From dc80b6b11f102611cb48d6d792ee551f24bba165 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 11:27:16 +0200
Subject: [PATCH 146/236] throttle markdown preview

---
 www/code/main.js              | 9 ++++++---
 www/common/common-util.js     | 9 +++++++++
 www/common/cryptpad-common.js | 1 +
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/www/code/main.js b/www/code/main.js
index fa6ecf12b..660473ffd 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -110,6 +110,10 @@ define([
                 return stringify(obj);
             };
 
+            var drawPreview = Cryptpad.throttle(function () {
+                DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
+            }, 150);
+
             var onLocal = config.onLocal = function () {
                 if (initializing) { return; }
                 if (isHistoryMode) { return; }
@@ -117,7 +121,7 @@ define([
 
                 editor.save();
 
-                DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
+                drawPreview();
 
                 var textValue = canonicalize(CodeMirror.$textarea.val());
                 var shjson = stringifyInner(textValue);
@@ -324,14 +328,13 @@ define([
                 var hjson = JSON.parse(shjson);
                 var remoteDoc = hjson.content;
 
-                DiffMd.apply(DiffMd.render(remoteDoc), $preview);
-
                 var highlightMode = hjson.highlightMode;
                 if (highlightMode && highlightMode !== APP.highlightMode) {
                     CodeMirror.setMode(highlightMode, onModeChanged);
                 }
 
                 CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher);
+                drawPreview();
 
                 if (!readOnly) {
                     var textValue = canonicalize(CodeMirror.$textarea.val());
diff --git a/www/common/common-util.js b/www/common/common-util.js
index 6fb2ad7bb..debbd8e2d 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -122,5 +122,14 @@ define([], function () {
         xhr.send(null);
     };
 
+    Util.throttle = function (f, ms) {
+        var to;
+        var g = function () {
+            window.clearTimeout(to);
+            to = window.setTimeout(f, ms);
+        };
+        return g;
+    };
+
     return Util;
 });
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 730a7984f..20927dc04 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -71,6 +71,7 @@ define([
     common.bytesToMegabytes = Util.bytesToMegabytes;
     common.bytesToKilobytes = Util.bytesToKilobytes;
     common.fetch = Util.fetch;
+    common.throttle = Util.throttle;
 
     // import hash utilities for export
     var createRandomHash = common.createRandomHash = Hash.createRandomHash;

From 378bf2aa943994b488c0a91008e94fdcf80259c3 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 11:27:31 +0200
Subject: [PATCH 147/236] yflory's word wrap fix

---
 www/code/inner.html | 1 +
 1 file changed, 1 insertion(+)

diff --git a/www/code/inner.html b/www/code/inner.html
index f27544238..12f4c8cac 100644
--- a/www/code/inner.html
+++ b/www/code/inner.html
@@ -81,6 +81,7 @@
             border-left: 1px solid black;
             box-sizing: border-box;
             font-family: Calibri,Ubuntu,sans-serif;
+            word-wrap: break-word;
         }
         #preview {
             max-width: 40vw;

From fd83ae3e61d92f614361c52973c1b0464821eb96 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 11:34:40 +0200
Subject: [PATCH 148/236] implement createRandomInteger

---
 www/common/common-util.js     | 4 ++++
 www/common/cryptpad-common.js | 1 +
 2 files changed, 5 insertions(+)

diff --git a/www/common/common-util.js b/www/common/common-util.js
index debbd8e2d..0d0d4c776 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -131,5 +131,9 @@ define([], function () {
         return g;
     };
 
+    Util.createRandomInteger = function () {
+        return Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
+    };
+
     return Util;
 });
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 20927dc04..5214fcc3b 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -72,6 +72,7 @@ define([
     common.bytesToKilobytes = Util.bytesToKilobytes;
     common.fetch = Util.fetch;
     common.throttle = Util.throttle;
+    common.createRandomInteger = Util.createRandomInteger;
 
     // import hash utilities for export
     var createRandomHash = common.createRandomHash = Hash.createRandomHash;

From c5bb8307573152c558756ebb78ec53ca3c435527 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 14:21:31 +0200
Subject: [PATCH 149/236] don't preview if hightlight mode is not markdown

---
 www/code/main.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/www/code/main.js b/www/code/main.js
index 660473ffd..9cb3cae10 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -111,6 +111,7 @@ define([
             };
 
             var drawPreview = Cryptpad.throttle(function () {
+                if (CodeMirror.highlightMode !== 'markdown') { return; }
                 DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
             }, 150);
 

From 83c0a6d37d348d80a4a3bfca781634c29e80c76a Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 24 May 2017 14:37:13 +0200
Subject: [PATCH 150/236] Romanian translation

---
 customize.dist/translations/messages.ro.js | 706 +++++++++++----------
 1 file changed, 357 insertions(+), 349 deletions(-)

diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js
index 4e2134c7c..162603908 100644
--- a/customize.dist/translations/messages.ro.js
+++ b/customize.dist/translations/messages.ro.js
@@ -1,357 +1,365 @@
 define(function () {
     var out = {};
 
-    /*
-     *
-     * ro
-     *
-     */
+    out.main_title = "CryptPad: Zero Knowledge, Colaborare n timp real";
+    out.main_slogan = "Puterea stă n cooperare - Colaborarea este cheia";
 
-    out.main_title = ""; // "CryptPad: Zero Knowledge, Collaborative Real Time Editing"
-    out.main_slogan = ""; // "Unity is Strength - Collaboration is Key"
-    out.type = ""; // {"pad":"Rich text","code":"Code","poll":"Poll","slide":"Presentation","drive":"Drive","whiteboard":"Whiteboard","file":"File","media":"Media"}
-    out.button_newpad = ""; // "New Rich Text pad"
-    out.button_newcode = ""; // "New Code pad"
-    out.button_newpoll = ""; // "New Poll"
-    out.button_newslide = ""; // "New Presentation"
-    out.button_newwhiteboard = ""; // "New Whiteboard"
-    out.updated_0_common_connectionLost = ""; // "<b>Server Connection Lost</b><br>You're now in read-only mode until the connection is back."
-    out.common_connectionLost = out.updated_0_common_connectionLost; // TODO: Key updated --> make sure the updated key "out.updated_0_common_connectionLost" exists and is translated before that one.
-    out.websocketError = ""; // "Unable to connect to the websocket server..."
-    out.typeError = ""; // "This pad is not compatible with the selected application"
-    out.onLogout = ""; // "You are logged out, <a href=\"/\" target=\"_blank\">click here</a> to log in<br>or press <em>Escape</em> to access your pad in read-only mode."
-    out.wrongApp = ""; // "Unable to display the content of that realtime session in your browser. Please try to reload that page."
-    out.loading = ""; // "Loading..."
-    out.error = ""; // "Error"
-    out.saved = ""; // "Saved"
-    out.synced = ""; // "Everything is saved"
-    out.deleted = ""; // "Pad deleted from your CryptDrive"
-    out.disconnected = ""; // "Disconnected"
-    out.synchronizing = ""; // "Synchronizing"
-    out.reconnecting = ""; // "Reconnecting..."
-    out.lag = ""; // "Lag"
-    out.readonly = ""; // "Read only"
-    out.anonymous = ""; // "Anonymous"
-    out.yourself = ""; // "Yourself"
-    out.anonymousUsers = ""; // "anonymous editors"
-    out.anonymousUser = ""; // "anonymous editor"
-    out.users = ""; // "Users"
-    out.and = ""; // "And"
-    out.viewer = ""; // "viewer"
-    out.viewers = ""; // "viewers"
-    out.editor = ""; // "editor"
-    out.editors = ""; // "editors"
-    out.language = ""; // "Language"
-    out.upgrade = ""; // "Upgrade"
-    out.upgradeTitle = ""; // "Upgrade your account to increase the storage limit"
-    out.MB = ""; // "MB"
-    out.greenLight = ""; // "Everything is working fine"
-    out.orangeLight = ""; // "Your slow connection may impact your experience"
-    out.redLight = ""; // "You are disconnected from the session"
-    out.pinLimitReached = ""; // "You've reached your storage limit"
-    out.pinLimitReachedAlert = ""; // "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>To fix this problem, you can either remove pads from your CryptDrive (including the trash) or subscribe to a premium offer to increase your limit."
-    out.pinLimitNotPinned = ""; // "You've reached your storage limit.<br>This pad is not stored in your CryptDrive."
-    out.pinLimitDrive = ""; // "You've reached your storage limit.<br>You can't create new pads."
-    out.importButtonTitle = ""; // "Import a pad from a local file"
-    out.exportButtonTitle = ""; // "Export this pad to a local file"
-    out.exportPrompt = ""; // "What would you like to name your file?"
-    out.changeNamePrompt = ""; // "Change your name (leave empty to be anonymous): "
-    out.user_rename = ""; // "Change display name"
-    out.user_displayName = ""; // "Display name"
-    out.user_accountName = ""; // "Account name"
-    out.clickToEdit = ""; // "Click to edit"
-    out.forgetButtonTitle = ""; // "Move this pad to the trash"
-    out.forgetPrompt = ""; // "Clicking OK will move this pad to your trash. Are you sure?"
-    out.movedToTrash = ""; // "That pad has been moved to the trash.<br><a href=\"/drive/\">Access my Drive</a>"
-    out.shareButton = ""; // "Share"
-    out.shareSuccess = ""; // "Copied link to clipboard"
-    out.newButton = ""; // "New"
-    out.newButtonTitle = ""; // "Create a new pad"
-    out.saveTemplateButton = ""; // "Save as template"
-    out.saveTemplatePrompt = ""; // "Choose a title for the template"
-    out.templateSaved = ""; // "Template saved!"
-    out.selectTemplate = ""; // "Select a template or press escape"
-    out.presentButtonTitle = ""; // "Enter presentation mode"
-    out.presentSuccess = ""; // "Hit ESC to exit presentation mode"
-    out.backgroundButtonTitle = ""; // "Change the background color in the presentation"
-    out.colorButtonTitle = ""; // "Change the text color in presentation mode"
-    out.printButton = ""; // "Print (enter)"
-    out.printButtonTitle = ""; // "Print your slides or export them as a PDF file"
-    out.printOptions = ""; // "Layout options"
-    out.printSlideNumber = ""; // "Display the slide number"
-    out.printDate = ""; // "Display the date"
-    out.printTitle = ""; // "Display the pad title"
-    out.printCSS = ""; // "Custom style rules (CSS):"
-    out.printTransition = ""; // "Enable transition animations"
-    out.slideOptionsTitle = ""; // "Customize your slides"
-    out.slideOptionsButton = ""; // "Save (enter)"
-    out.editShare = ""; // "Editing link"
-    out.editShareTitle = ""; // "Copy the editing link to clipboard"
-    out.editOpen = ""; // "Open editing link in a new tab"
-    out.editOpenTitle = ""; // "Open this pad in editing mode in a new tab"
-    out.viewShare = ""; // "Read-only link"
-    out.viewShareTitle = ""; // "Copy the read-only link to clipboard"
-    out.viewOpen = ""; // "Open read-only link in a new tab"
-    out.viewOpenTitle = ""; // "Open this pad in read-only mode in a new tab"
-    out.notifyJoined = ""; // "{0} has joined the collaborative session"
-    out.notifyRenamed = ""; // "{0} is now known as {1}"
-    out.notifyLeft = ""; // "{0} has left the collaborative session"
-    out.okButton = ""; // "OK (enter)"
-    out.cancel = ""; // "Cancel"
-    out.cancelButton = ""; // "Cancel (esc)"
-    out.historyButton = ""; // "Display the document history"
-    out.history_next = ""; // "Go to the next version"
-    out.history_prev = ""; // "Go to the previous version"
-    out.history_goTo = ""; // "Go to the selected version"
-    out.history_close = ""; // "Back"
-    out.history_closeTitle = ""; // "Close the history"
-    out.history_restore = ""; // "Restore"
-    out.history_restoreTitle = ""; // "Restore the selected version of the document"
-    out.history_restorePrompt = ""; // "Are you sure you want to replace the current version of the document by the displayed one?"
-    out.history_restoreDone = ""; // "Document restored"
-    out.history_version = ""; // "Version:"
-    out.poll_title = ""; // "Zero Knowledge Date Picker"
-    out.poll_subtitle = ""; // "Zero Knowledge, <em>realtime</em> scheduling"
-    out.poll_p_save = ""; // "Your settings are updated instantly, so you never need to save."
-    out.poll_p_encryption = ""; // "All your input is encrypted so only people who have the link can access it. Even the server cannot see what you change."
-    out.wizardLog = ""; // "Click the button in the top left to return to your poll"
-    out.wizardTitle = ""; // "Use the wizard to create your poll"
-    out.wizardConfirm = ""; // "Are you really ready to add these options to your poll?"
-    out.poll_publish_button = ""; // "Publish"
-    out.poll_admin_button = ""; // "Admin"
-    out.poll_create_user = ""; // "Add a new user"
-    out.poll_create_option = ""; // "Add a new option"
-    out.poll_commit = ""; // "Commit"
-    out.poll_closeWizardButton = ""; // "Close wizard"
-    out.poll_closeWizardButtonTitle = ""; // "Close wizard"
-    out.poll_wizardComputeButton = ""; // "Compute Options"
-    out.poll_wizardClearButton = ""; // "Clear Table"
-    out.poll_wizardDescription = ""; // "Automatically create a number of options by entering any number of dates and times segments"
-    out.poll_wizardAddDateButton = ""; // "+ Dates"
-    out.poll_wizardAddTimeButton = ""; // "+ Times"
-    out.poll_optionPlaceholder = ""; // "Option"
-    out.poll_userPlaceholder = ""; // "Your name"
-    out.poll_removeOption = ""; // "Are you sure you'd like to remove this option?"
-    out.poll_removeUser = ""; // "Are you sure you'd like to remove this user?"
-    out.poll_titleHint = ""; // "Title"
-    out.poll_descriptionHint = ""; // "Describe your poll, and use the 'publish' button when you're done. Anyone with the link can change the description, but this is discouraged."
-    out.canvas_clear = ""; // "Clear"
-    out.canvas_delete = ""; // "Delete selection"
-    out.canvas_disable = ""; // "Disable draw"
-    out.canvas_enable = ""; // "Enable draw"
-    out.canvas_width = ""; // "Width"
-    out.canvas_opacity = ""; // "Opacity"
-    out.fm_rootName = ""; // "Documents"
-    out.fm_trashName = ""; // "Trash"
-    out.fm_unsortedName = ""; // "Unsorted files"
-    out.fm_filesDataName = ""; // "All files"
-    out.fm_templateName = ""; // "Templates"
-    out.fm_searchName = ""; // "Search"
-    out.fm_searchPlaceholder = ""; // "Search..."
-    out.fm_newButton = ""; // "New"
-    out.fm_newButtonTitle = ""; // "Create a new pad or folder"
-    out.fm_newFolder = ""; // "New folder"
-    out.fm_newFile = ""; // "New pad"
-    out.fm_folder = ""; // "Folder"
-    out.fm_folderName = ""; // "Folder name"
-    out.fm_numberOfFolders = ""; // "# of folders"
-    out.fm_numberOfFiles = ""; // "# of files"
-    out.fm_fileName = ""; // "File name"
-    out.fm_title = ""; // "Title"
-    out.fm_type = ""; // "Type"
-    out.fm_lastAccess = ""; // "Last access"
-    out.fm_creation = ""; // "Creation"
-    out.fm_forbidden = ""; // "Forbidden action"
-    out.fm_originalPath = ""; // "Original path"
-    out.fm_openParent = ""; // "Show in folder"
-    out.fm_noname = ""; // "Untitled Document"
-    out.fm_emptyTrashDialog = ""; // "Are you sure you want to empty the trash?"
-    out.fm_removeSeveralPermanentlyDialog = ""; // "Are you sure you want to remove these {0} elements from the trash permanently?"
-    out.fm_removePermanentlyDialog = ""; // "Are you sure you want to remove that element permanently?"
-    out.fm_removeSeveralDialog = ""; // "Are you sure you want to move these {0} elements to the trash?"
-    out.fm_removeDialog = ""; // "Are you sure you want to move {0} to the trash?"
-    out.fm_restoreDialog = ""; // "Are you sure you want to restore {0} to its previous location?"
-    out.fm_unknownFolderError = ""; // "The selected or last visited directory no longer exist. Opening the parent folder..."
-    out.fm_contextMenuError = ""; // "Unable to open the context menu for that element. If the problem persist, try to reload the page."
-    out.fm_selectError = ""; // "Unable to select the targetted element. If the problem persist, try to reload the page."
-    out.fm_categoryError = ""; // "Unable to open the selected category, displaying root."
-    out.fm_info_root = ""; // "Create as many nested folders here as you want to sort your files."
-    out.fm_info_unsorted = ""; // "Contains all the files you've visited that are not yet sorted in \"Documents\" or moved to the \"Trash\"."
-    out.fm_info_template = ""; // "Contains all the pads stored as templates and that you can re-use when you create a new pad."
-    out.fm_info_trash = ""; // "Files deleted from the trash are also removed from \"All files\" and it is impossible to recover them from the file manager."
-    out.fm_info_allFiles = ""; // "Contains all the files from \"Documents\", \"Unsorted\" and \"Trash\". You can't move or remove files from here."
-    out.fm_info_login = ""; // "Log in"
-    out.fm_info_register = ""; // "Sign up"
-    out.fm_info_anonymous = ""; // "You are not logged in so these pads may be deleted (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">find out why</a>). <a href=\"/register/\">Sign up</a> or <a href=\"/login/\">Log in</a> to keep them alive."
-    out.fm_alert_backupUrl = ""; // "Backup link for this drive.<br>It is <strong>highly recommended</strong> that you keep ip for yourself only.<br>You can use it to retrieve all your files in case your browser memory got erased.<br>Anybody with that link can edit or remove all the files in your file manager.<br>"
-    out.fm_alert_anonymous = ""; // "Hello there, you are currently using CryptPad anonymously, that's ok but your pads may be deleted after a period of inactivity. We have disabled advanced features of the drive for anonymous users because we want to be clear that it is not a safe place to store things. You can <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">read more</a> about why we are doing this and why you really should <a href=\"/register/\">Sign up</a> and <a href=\"/login/\">Log in</a>."
-    out.fm_backup_title = ""; // "Backup link"
-    out.fm_nameFile = ""; // "How would you like to name that file?"
-    out.fc_newfolder = ""; // "New folder"
-    out.fc_rename = ""; // "Rename"
-    out.fc_open = ""; // "Open"
-    out.fc_open_ro = ""; // "Open (read-only)"
-    out.fc_delete = ""; // "Delete"
-    out.fc_restore = ""; // "Restore"
-    out.fc_remove = ""; // "Delete permanently"
-    out.fc_empty = ""; // "Empty the trash"
-    out.fc_prop = ""; // "Properties"
-    out.fc_sizeInKilobytes = ""; // "Size in Kilobytes"
-    out.fo_moveUnsortedError = ""; // "You can't move a folder to the list of unsorted pads"
-    out.fo_existingNameError = ""; // "Name already used in that directory. Please choose another one."
-    out.fo_moveFolderToChildError = ""; // "You can't move a folder into one of its descendants"
-    out.fo_unableToRestore = ""; // "Unable to restore that file to its original location. You can try to move it to a new location."
-    out.fo_unavailableName = ""; // "A file or a folder with the same name already exist at the new location. Rename the element and try again."
-    out.login_login = ""; // "Log in"
-    out.login_makeAPad = ""; // "Create a pad anonymously"
-    out.login_nologin = ""; // "Browse local pads"
-    out.login_register = ""; // "Sign up"
-    out.logoutButton = ""; // "Log out"
-    out.settingsButton = ""; // "Settings"
-    out.login_username = ""; // "Username"
-    out.login_password = ""; // "Password"
-    out.login_confirm = ""; // "Confirm your password"
-    out.login_remember = ""; // "Remember me"
-    out.login_hashing = ""; // "Hashing your password, this might take some time."
-    out.login_hello = ""; // "Hello {0},"
-    out.login_helloNoName = ""; // "Hello,"
-    out.login_accessDrive = ""; // "Access your drive"
-    out.login_orNoLogin = ""; // "or"
-    out.login_noSuchUser = ""; // "Invalid username or password. Try again, or sign up"
-    out.login_invalUser = ""; // "Username required"
-    out.login_invalPass = ""; // "Password required"
-    out.login_unhandledError = ""; // "An unexpected error occurred :("
-    out.register_importRecent = ""; // "Import pad history (Recommended)"
-    out.register_acceptTerms = ""; // "I accept <a href='/terms.html'>the terms of service</a>"
-    out.register_passwordsDontMatch = ""; // "Passwords do not match!"
-    out.register_mustAcceptTerms = ""; // "You must accept the terms of service."
-    out.register_mustRememberPass = ""; // "We cannot reset your password if you forget it. It's very important that you remember it! Please check the checkbox to confirm."
-    out.register_header = ""; // "Welcome to CryptPad"
-    out.register_explanation = ""; // "<p>Lets go over a couple things first</p><ul><li>Your password is your secret key which encrypts all of your pads. If you lose it there is no way we can recover your data.</li><li>You can import pads which were recently viewed in your browser so you have them in your account.</li><li>If you are using a shared computer, you need to log out when you are done, closing the tab is not enough.</li></ul>"
-    out.register_writtenPassword = ""; // "I have written down my username and password, proceed"
-    out.register_cancel = ""; // "Go back"
-    out.register_warning = ""; // "Zero Knowledge means that we can't recover your data if you lose your password."
-    out.register_alreadyRegistered = ""; // "This user already exists, do you want to log in?"
-    out.settings_title = ""; // "Settings"
-    out.settings_save = ""; // "Save"
-    out.settings_backupTitle = ""; // "Backup or restore all your data"
-    out.settings_backup = ""; // "Backup"
-    out.settings_restore = ""; // "Restore"
-    out.settings_resetTitle = ""; // "Clean your drive"
-    out.settings_reset = ""; // "Remove all the files and folders from your CryptDrive"
-    out.settings_resetPrompt = ""; // "This action will remove all the pads from your drive.<br>Are you sure you want to continue?<br>Type “<em>I love CryptPad</em>” to confirm."
-    out.settings_resetDone = ""; // "Your drive is now empty!"
-    out.settings_resetError = ""; // "Incorrect verification text. Your CryptDrive has not been changed."
-    out.settings_resetTips = ""; // "Tips in CryptDrive"
-    out.settings_resetTipsButton = ""; // "Reset the available tips in CryptDrive"
-    out.settings_resetTipsDone = ""; // "All the tips are now visible again."
-    out.settings_importTitle = ""; // "Import this browser's recent pads in my CryptDrive"
-    out.settings_import = ""; // "Import"
-    out.settings_importConfirm = ""; // "Are you sure you want to import recent pads from this browser to your user account's CryptDrive?"
-    out.settings_importDone = ""; // "Import completed"
-    out.settings_userFeedbackHint1 = ""; // "CryptPad provides some very basic feedback to the server, to let us know how to improve your experience."
-    out.settings_userFeedbackHint2 = ""; // "Your pad's content will never be shared with the server."
-    out.settings_userFeedback = ""; // "Enable user feedback"
-    out.settings_anonymous = ""; // "You are not logged in. Settings here are specific to this browser."
-    out.settings_publicSigningKey = ""; // "Public Signing Key"
-    out.settings_usage = ""; // "Usage"
-    out.settings_usageTitle = ""; // "See the total size of your pinned pads in MB"
-    out.settings_pinningNotAvailable = ""; // "Pinned pads are only available to registered users."
-    out.settings_pinningError = ""; // "Something went wrong"
-    out.settings_usageAmount = ""; // "Your pinned pads occupy {0}MB"
-    out.settings_logoutEverywhereTitle = ""; // "Log out everywhere"
-    out.settings_logoutEverywhere = ""; // "Log out of all other web sessions"
-    out.settings_logoutEverywhereConfirm = ""; // "Are you sure? You will need to log in with all your devices."
-    out.upload_serverError = ""; // "Server Error: unable to upload your file at this time."
-    out.upload_uploadPending = ""; // "You already have an upload in progress. Cancel it and upload your new file?"
-    out.upload_success = ""; // "Your file ({0}) has been successfully uploaded and added to your drive"
-    out.main_p2 = ""; // "This project uses the <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, and the <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> realtime engine."
-    out.main_howitworks_p1 = ""; // "CryptPad uses a variant of the <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> algorithm which is able to find distributed consensus using a <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, a construct popularized by <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. This way the algorithm can avoid the need for a central server to resolve Operational Transform Edit Conflicts and without the need for resolving conflicts, the server can be kept unaware of the content which is being edited on the pad."
-    out.main_about_p2 = ""; // "If you have any questions or comments, you can <a href=\"https://twitter.com/cryptpad\">tweet us</a>, open an issue <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"our issue tracker\">on github</a>, come say hi on irc (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), or <a href=\"mailto:research@xwiki.com\">send us an email</a>."
-    out.main_info = ""; // "<h1>Collaborate in Confidence</h1><br> Grow your ideas together with shared documents while <strong>Zero Knowledge</strong> technology secures your privacy; even from us."
-    out.main_howitworks = ""; // "How It Works"
-    out.main_zeroKnowledge = ""; // "Zero Knowledge"
-    out.main_zeroKnowledge_p = ""; // "You don't have to trust that we <em>won't</em> look at your pads, with CryptPad's revolutionary Zero Knowledge Technology we <em>can't</em>. Learn more about how we protect your <a href=\"/privacy.html\" title='Privacy'>Privacy and Security</a>."
-    out.main_writeItDown = ""; // "Write it down"
-    out.main_writeItDown_p = ""; // "The greatest projects come from the smallest ideas. Take down the moments of inspiration and unexpected ideas because you never know which one might be a breakthrough."
-    out.main_share = ""; // "Share the link, share the pad"
-    out.main_share_p = ""; // "Grow your ideas together: conduct efficient meetings, collaborate on TODO lists and make quick presentations with all your friends and all your devices."
-    out.main_organize = ""; // "Get organized"
-    out.main_organize_p = ""; // "With CryptPad Drive, you can keep your sights on what's important. Folders allow you to keep track of your projects and have a global vision of where things are going."
-    out.tryIt = ""; // "Try it out!"
-    out.main_richText = ""; // "Rich Text editor"
-    out.main_richText_p = ""; // "Edit rich text pads collaboratively with our realtime Zero Knowledge <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application."
-    out.main_code = ""; // "Code editor"
-    out.main_code_p = ""; // "Edit code from your software collaboratively with our realtime Zero Knowledge <a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application."
-    out.main_slide = ""; // "Slide editor"
-    out.main_slide_p = ""; // "Create your presentations using the Markdown syntax, and display them in your browser."
-    out.main_poll = ""; // "Polls"
-    out.main_poll_p = ""; // "Plan your meeting or your event, or vote for the best solution regarding your problem."
-    out.main_drive = ""; // "CryptDrive"
-    out.footer_applications = ""; // "Applications"
-    out.footer_contact = ""; // "Contact"
-    out.footer_aboutUs = ""; // "About us"
-    out.about = ""; // "About"
-    out.privacy = ""; // "Privacy"
-    out.contact = ""; // "Contact"
-    out.terms = ""; // "ToS"
-    out.blog = ""; // "Blog"
-    out.policy_title = ""; // "CryptPad Privacy Policy"
-    out.policy_whatweknow = ""; // "What we know about you"
-    out.policy_whatweknow_p1 = ""; // "As an application that is hosted on the web, CryptPad has access to metadata exposed by the HTTP protocol. This includes your IP address, and various other HTTP headers that can be used to identify your particular browser. You can see what information your browser is sharing by visiting <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>."
-    out.policy_whatweknow_p2 = ""; // "We use <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"open source analytics platform\">Kibana</a>, an open source analytics platform, to learn more about our users. Kibana tells us about how you found CryptPad, via direct entry, through a search engine, or via a referral from another web service like Reddit or Twitter."
-    out.policy_howweuse = ""; // "How we use what we learn"
-    out.policy_howweuse_p1 = ""; // "We use this information to make better decisions about promoting CryptPad, by evaluating which of our past efforts were successful. Information about your location lets us know whether we should consider providing better support for languages other than English."
-    out.policy_howweuse_p2 = ""; // "Information about your browser (whether it's a desktop or mobile operating system) helps us make decisions when prioritizing feature improvements. Our development team is small, and we try to make choices that will improve as many users' experience as possible."
-    out.policy_whatwetell = ""; // "What we tell others about you"
-    out.policy_whatwetell_p1 = ""; // "We do not furnish to third parties the information that we gather or that you provide to us unless we are legally required to do so."
-    out.policy_links = ""; // "Links to other sites"
-    out.policy_links_p1 = ""; // "This site contains links to other sites, including those produced by other organizations. We are not responsible for the privacy practices or the contents of any outside sites. As a general rule, links to outside sites are launched in a new browser window, to make clear that you are leaving CryptPad.fr."
-    out.policy_ads = ""; // "Advertisement"
-    out.policy_ads_p1 = ""; // "We do not display any online advertising, though we may link to the bodies which are financing our research."
-    out.policy_choices = ""; // "Choices you have"
-    out.policy_choices_open = ""; // "Our code is open source, so you always have the option of hosting your own instance of CryptPad."
-    out.policy_choices_vpn = ""; // "If you want to use our hosted instance, but don't want to expose your IP address, you can protect your IP using the <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, or a <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>."
-    out.policy_choices_ads = ""; // "If you just want to block our analytics platform, you can use adblocking tools like <a href=\"https://www.eff.org/privacybadger\" title=\"download privacy badger\" target=\"_blank\" rel=\"noopener noreferrer\">Privacy Badger</a>."
-    out.tos_title = ""; // "CryptPad Terms of Service"
-    out.tos_legal = ""; // "Please don't be malicious, abusive, or do anything illegal."
-    out.tos_availability = ""; // "We hope you find this service useful, but availability or performance cannot be guaranteed. Please export your data regularly."
-    out.tos_e2ee = ""; // "CryptPad contents can be read or modified by anyone who can guess or otherwise obtain the pad's fragment identifier. We recommend that you use end-to-end-encrypted (e2ee) messaging technology to share links, and assume no liability in the event that such a link is leaked."
-    out.tos_logs = ""; // "Metadata provided by your browser to the server may be logged for the purpose of maintaining the service."
-    out.tos_3rdparties = ""; // "We do not provide individualized data to third parties unless required to by law."
-    out.bottom_france = ""; // "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Made with <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> in <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" alt=\"France\" /></a>"
-    out.bottom_support = ""; // "<a href=\"http://labs.xwiki.com/\" title=\"XWiki Labs\" target=\"_blank\" rel=\"noopener noreferrer\">An <img src=\"/customize/logo-xwiki2.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/> Labs Project </a> with the support of <a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>"
-    out.header_france = ""; // "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">With <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> from <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" title=\"France\" alt=\"France\"/> by <img src=\"/customize/logo-xwiki.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/></a>"
-    out.header_support = ""; // "<a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>"
-    out.header_logoTitle = ""; // "Go to the main page"
-    out.initialState = ""; // "<span style=\"font-size:16px;\"><p>This is&nbsp;<strong>CryptPad</strong>, the Zero Knowledge realtime collaborative editor. Everything is saved as you type.<br>Share the link to this pad to edit with friends or use the <span style=\"background-color:#5cb85c;color:#ffffff;\">&nbsp;Share&nbsp;</span> button to share a <em>read-only link</em>&nbsp;which allows viewing but not editing.</p><p><span style=\"color:#808080;\"><em>Go ahead, just start typing...</em></span></p></span><p>&nbsp;<br></p>"
-    out.codeInitialState = ""; // "/*\n   This is the CryptPad Zero Knowledge collaborative code editor.\n   What you type here is encrypted so only people who have the link can access it.\n   You can choose the programming language to highlight and the UI color scheme in the upper right.\n*/"
-    out.slideInitialState = ""; // "# CryptSlide\n* This is a zero knowledge realtime collaborative editor.\n* What you type here is encrypted so only people who have the link can access it.\n* Even the server cannot see what you type.\n* What you see here, what you hear here, when you leave here, let it stay here.\n\n---\n# How to use\n1. Write your slides content using markdown syntax\n  - Learn more about markdown syntax [here](http://www.markdowntutorial.com/)\n2. Separate your slides with ---\n3. Click on the \"Play\" button to see the result  - Your slides are updated in realtime"
-    out.driveReadmeTitle = ""; // "What is CryptDrive?"
-    out.readme_welcome = ""; // "Welcome to CryptPad !"
-    out.readme_p1 = ""; // "Welcome to CryptPad, this is where you can take note of things alone and with friends."
-    out.readme_p2 = ""; // "This pad will give you a quick walk through of how you can use CryptPad to take notes, keep them organized and work together on them."
-    out.readme_cat1 = ""; // "Get to know your CryptDrive"
-    out.readme_cat1_l1 = ""; // "Make a pad: In your CryptDrive, click {0} then {1} and you can make a pad."
-    out.readme_cat1_l2 = ""; // "Open Pads from your CryptDrive: double-click on a pad icon to open it."
-    out.readme_cat1_l3 = ""; // "Organize your pads: When you are logged in, every pad you access will be shown as in the {0} section of your drive."
-    out.readme_cat1_l3_l1 = ""; // "You can click and drag files into folders in the {0} section of your drive and make new folders."
-    out.readme_cat1_l3_l2 = ""; // "Remember to try right clicking on icons because there are often additional menus."
-    out.readme_cat1_l4 = ""; // "Put old pads in the trash: You can click and drag your pads into the {0} the same way you drag them into folders."
-    out.readme_cat2 = ""; // "Make pads like a pro"
-    out.edit = ""; // "edit"
-    out.view = ""; // "view"
-    out.readme_cat2_l1 = ""; // "The {0} button in your pad allows you to give access to collaborators to either {1} or to {2} the pad."
-    out.readme_cat2_l2 = ""; // "Change the title of the pad by clicking on the pencil"
-    out.readme_cat3 = ""; // "Discover CryptPad apps"
-    out.readme_cat3_l1 = ""; // "With CryptPad code editor, you can collaborate on code like Javascript and markdown like HTML and Markdown"
-    out.readme_cat3_l2 = ""; // "With CryptPad slide editor, you can make quick presentations using Markdown"
-    out.readme_cat3_l3 = ""; // "With CryptPoll you can take quick votes, especially for scheduling meetings which fit with everybody's calendar"
-    out.tips = ""; // {"lag":"The green icon in the upper right shows the quality of your internet connection to the CryptPad server.","shortcuts":"`ctrl+b`, `ctrl+i` and `ctrl+u` are quick shortcuts for bold, italic and underline.","indent":"In numbered and bulleted lists, you can use tab or shift+tab to quickly increase or decrease indentation.","title":"You can set the title of your pad by clicking the top center.","store":"Every time you visit a pad, if you're logged in it will be saved to your CryptDrive.","marker":"You can highlight text in a pad using the \"marker\" item in the styles dropdown menu."}
-    out.feedback_about = ""; // "If you're reading this, you were probably curious why CryptPad is requesting web pages when you perform certain actions"
-    out.feedback_privacy = ""; // "We care about your privacy, and at the same time we want CryptPad to be very easy to use.  We use this file to figure out which UI features matter to our users, by requesting it along with a parameter specifying which action was taken."
-    out.feedback_optout = ""; // "If you would like to opt out, visit <a href='/settings/'>your user settings page</a>, where you'll find a checkbox to enable or disable user feedback"
+    out.type = {};
+    out.pad = "Rich text";
+    out.code = "Code";
+    out.poll = "Poll";
+    out.slide = "Presentation";
+    out.drive = "Drive";
+    out.whiteboard = "Whiteboard";
+    out.file = "File";
+    out.media = "Media";
 
+    out.button_newpad = "Filă Text Nouă";
+    out.button_newcode = "Filă Cod Nouă";
+    out.button_newpoll = "Sondaj Nou";
+    out.button_newslide = "Prezentare Noua";
+    out.button_newwhiteboard = "Fila Desen Noua";
+    out.updated_0_common_connectionLost = "<b>Conexiunea la server este pierdută</b><br>Până la revenirea conexiunii, vei fi n modul citire";
+    out.common_connectionLost = out.updated_0_common_connectionLost;
+    out.websocketError = "Conexiune inexistentă către serverul websocket...";
+    out.typeError = "Această filă nu este compatibilă cu aplicația aleasă";
+    out.onLogout = "Nu mai ești autentificat, <a href=\"/\" target=\"_blank\">apasă aici</a> să te autentifici<br>sau apasă <em>Escape</em>să accesezi fila n modul citire.";
+    out.wrongApp = "Momentan nu putem arăta conținutul sesiunii n timp real n fereastra ta. Te rugăm rencarcă pagina.";
+    out.loading = "Încarcă..."    
+    out.error = "Eroare";
+
+    out.saved = "Salvat";
+    out.synced = "Totul a fost salvat";
+    out.deleted = "Pad șters din CryptDrive-ul tău";
+    out.disconnected = "Deconectat";
+    out.synchronizing = "Se sincronizează";
+    out.reconnecting = "Reconectare...";
+    out.lag = "Decalaj";
+    out.readonly = "Mod citire";
+    out.anonymous = "Anonim";
+    out.yourself = "Tu";
+    out.anonymousUsers = "editori anonimi";
+    out.anonymousUser = "editor anonim";
+    out.users = "Utilizatori";
+    out.and = "Și";
+    out.viewer = "privitor";
+    out.viewers = "privitori";
+    out.editor = "editor";
+    out.editors = "editori";
+    out.language = "Limba";
+    out.upgrade = "Actualizare";
+    out.upgradeTitle = "Actualizează-ți contul pentru a mări limita de stocare";
+    out.MB = "MB";
+    out.greenLight = "Totul funcționează corespunzător";
+    out.orangeLight = "Conexiunea lentă la internet ți poate afecta experiența";
+    out.redLight = "Ai fost deconectat de la sesiune";
+    out.pinLimitReached = "Ai atins limita de stocare";
+    out.pinLimitReachedAlert = "Ai atins limita de stocare. Noile pad-uri nu vor mai fi stocate n CryptDrive.<br>Pentru a rezolva această problemă, poți să nlături pad-uri din CryptDrive-ul tău (incluzând gunoiul) sau să subscrii la un pachet premium pentru a ți extinde spațiul de stocare.";
+    out.pinLimitNotPinned = "Ai atins limita de stocare.<br>Acest pad nu va fi stocat n CryptDrive-ul tău.";
+    out.pinLimitDrive = "Ai atins limita de stocare.<br>Nu poți să creezi alte pad-uri.";
+    out.importButtonTitle = "Importă un pad dintr-un fișier local";
+    out.exportButtonTitle = "Exportă pad-ul acesta către un fișier local";
+    out.exportPrompt = "Cum ai vrea să ți denumești fișierul?";
+    out.changeNamePrompt = "Schimbă-ți numele (lasă necompletat dacă vrei să fii anonim): ";
+    out.user_rename = "Schimbă numele afișat";
+    out.user_displayName = "Nume afișat";
+    out.user_accountName = "Nume cont";
+    out.clickToEdit = "Click pentru editare";
+    out.forgetButtonTitle = "Mută acest pad la gunoi";
+    out.forgetPrompt = "Click-ul pe OK va muta acest pad la gunoi. Ești sigur?";
+    out.movedToTrash = "Acest pad a fost mutat la gunoi.<br><a href=\"/drive/\">Acesează-mi Drive-ul</a>";
+    out.shareButton = "Distribuie";
+    out.shareSuccess = "Link copiat n clipboard";
+    out.newButton = "Nou";
+    out.newButtonTitle = "Crează un nou pad";
+    out.saveTemplateButton = "Salvează ca șablon";
+    out.saveTemplatePrompt = "Alege un titlu pentru șablon";
+    out.templateSaved = "Șablon salvat!";
+    out.selectTemplate = "Selectează un șablon sau apasă escape";
+    out.presentButtonTitle = "Intră n modul de prezentare";
+    out.presentSuccess = "Apasă ESC pentru a ieși din modul de prezentare";
+    out.backgroundButtonTitle = "Schimbă culoarea de fundal din prezentare";
+    out.colorButtonTitle = "Schimbă culoarea textului n modul de prezentare";
+    out.printButton = "Printează (enter)";
+    out.printButtonTitle = "Printează-ți slide-urile sau exportă-le ca fișier  PDF";
+    out.printOptions = "Opțiuni schemă";
+    out.printSlideNumber = "Afișează numărul slide-ului";
+    out.printDate = "Afișează data";
+    out.printTitle = "Afișează titlul pad-ului";
+    out.printCSS = "Reguli de stil personalizate (CSS):";
+    out.printTransition = "Permite tranziția animațiilor";
+    out.slideOptionsTitle = "Personalizează-ți slide-urile";
+    out.slideOptionsButton = "Salvează (enter)";
+    out.editShare = "Editează link-ul";
+    out.editShareTitle = "Copiază link-ul de editare n clipboard";
+    out.editOpen = "Deschide link-ul de editare ntr-o nouă filă";
+    out.editOpenTitle = "Deschide acest pad n modul de editare ntr-o nouă filă";
+    out.viewShare = "Link n modul citire";
+    out.viewShareTitle = "Copiază link-ul n modul de citire n clipboard";
+    out.viewOpen = "Deschide link-ul n modul de citire ntr-o filă nouă";
+    out.viewOpenTitle = "Deschide acest pad n modul de citire ntr-o nouă filă";
+    out.notifyJoined = "{0} s-au alăturat sesiunii colaborative";
+    out.notifyRenamed = "{0} e cunoscut ca {1}";
+    out.notifyLeft = "{0} au părăsit sesiunea colaborativă";
+    out.okButton = "OK (enter)";
+    out.cancel = "Anulează";
+    out.cancelButton = "Anulează (esc)";
+    out.historyButton = "Afișează istoricul documentului";
+    out.history_next = "Mergi la versiunea următoare";
+    out.history_prev = "Mergi la versiunea trecută";
+    out.history_goTo = "Mergi la sesiunea selectată";
+    out.history_close = "Înapoi";
+    out.history_closeTitle = "Închide istoricul";
+    out.history_restore = "Restabilește";
+    out.history_restoreTitle = "Restabilește versiunea selectată a documentului";
+    out.history_restorePrompt = "Ești sigur că vrei să nlocuiești versiunea curentă a documentului cu cea afișată?";
+    out.history_restoreDone = ""; "Document restabilit";
+    out.history_version = "Versiune:";
+    out.poll_title = "Zero Knowledge Selector Dată";
+    out.poll_subtitle = "Zero Knowledge, <em>realtime</em> programare";
+    out.poll_p_save = "Setările tale sunt actualizate instant, așa că tu nu trebuie să salvezi.";
+    out.poll_p_encryption = "Tot conținutul tău este criptat ca doar persoanele cărora tu le dai link-ul să aibă acces. Nici chiar serverul nu poate să vadă ce modifici.";
+    out.wizardLog = "Click pe butonul din dreapta sus pentru a te ntoarce la sondajul tău";
+    out.wizardTitle = "Folosește wizard-ul pentru a crea sondajul tău";
+    out.wizardConfirm = "Ești pregătit să adaugi aceste opțiuni la sondajul tău?";
+    out.poll_publish_button = "Publică";
+    out.poll_admin_button = "Admin";
+    out.poll_create_user = "Adaugă un nou utilizator";
+    out.poll_create_option = "Adaugă o nouă opțiune";
+    out.poll_commit = "Comite";
+    out.poll_closeWizardButton = "Închide wizard-ul";
+    out.poll_closeWizardButtonTitle = "Închide wizard-ul";
+    out.poll_wizardComputeButton = "Calculează Opțiunile";
+    out.poll_wizardClearButton = "Curăță Tabelul";
+    out.poll_wizardDescription = "Crează automat un număr de opțiuni introducând orice număr de zile sau intervale orare";
+
+    out.poll_wizardAddDateButton = "+ Zi";
+    out.poll_wizardAddTimeButton = "+ Ore";
+    out.poll_optionPlaceholder = "Opțiune";
+    out.poll_userPlaceholder = "Numele tău";
+    out.poll_removeOption = "Ești sigur că vrei să ndepărtezi această opțiune?";
+    out.poll_removeUser = "Ești sigur că vrei să ndepărtezi aceast utilizator?";
+    out.poll_titleHint = "Titlu";
+    out.poll_descriptionHint = "Descrie sondajul, și apoi folosește butonul 'publică' când ai terminat. Orice utilizator care are link-ul poate modifica descrierea, dar descurajăm această practică.";
+    out.canvas_clear = "Curăță";
+    out.canvas_delete = "Curăță selecția";
+    out.canvas_disable = "Dezactivează modul desen";
+    out.canvas_enable = "Activează modul desen";
+    out.canvas_width = "Lățime";
+    out.canvas_opacity = "Opacitate";
+    out.fm_rootName = "Documente";
+    out.fm_trashName = "Gunoi";
+    out.fm_unsortedName = "Fișiere nesortate";
+    out.fm_filesDataName = "Toate fișierele";
+    out.fm_templateName = "Șabloane";
+    out.fm_searchName = "Caută";
+    out.fm_searchPlaceholder = "Caută...";
+    out.fm_newButton = "Nou";
+    out.fm_newButtonTitle = "Crează un nou pad sau folder";
+    out.fm_newFolder = "Folder nou";
+    out.fm_newFile = "Pad nou";
+    out.fm_folder = "Folder";
+    out.fm_folderName = "Numele folderului";
+    out.fm_numberOfFolders = "# de foldere";
+    out.fm_numberOfFiles = "# of files";
+    out.fm_fileName = "File name";
+    out.fm_title = "Titlu";
+    out.fm_type = "Tip";
+    out.fm_lastAccess = "Ultima accesare";
+    out.fm_creation = "Creare";
+    out.fm_forbidden = "Acțiune interzisă";
+    out.fm_originalPath = "Ruta inițială";
+    out.fm_openParent = "Arată n folder";
+    out.fm_noname = "Document nedenumit";
+    out.fm_emptyTrashDialog = "Ești sigur că vrei să golești coșul de gunoi?";
+    out.fm_removeSeveralPermanentlyDialog = "Ești sigur că vrei să ștergi pentru totdeauna aceste {0} elements din coșul de gunoi?";
+    out.fm_removePermanentlyDialog = "Ești sigur că vrei să ștergi acest element pentru totdeauna?";
+    out.fm_removeSeveralDialog = "Ești sigur că vrei să muți aceste {0} elemente la coșul de gunoi?";
+    out.fm_removeDialog = "Ești sigur că vrei să muți {0} la gunoi?";
+    out.fm_restoreDialog = "Ești sigur că vrei să restabilești {0} n locația trecută?";
+    out.fm_unknownFolderError = "Ultima locație vizitată sau cea selectată nu mai există. Deschidem fișierul părinte...";
+    out.fm_contextMenuError = "Nu putem deschide meniul de context pentru acest element. Dacă problema persistă, rencarcă pagina.";
+    out.fm_selectError = "Nu putem selecta elementul vizat. Dacă Unable to select the targeted element. Dacă problema persistă, rencarcă pagina.";
+    out.fm_categoryError = "Nu putem deschide categoria selectată, afișează sursa.";
+    out.fm_info_root = "Crează câte foldere tip cuib ai nevoie pentru a ți sorta fișierele.";
+    out.fm_info_unsorted = "Conține toate fișierele pe care le-ai vizitat și nu sunt sortate n \"Documente\" sau mutate n \"Gunoi\".";
+    out.fm_info_template = "Conține toate pad-urile stocate ca șabloane și pe care le poți refolosi atunci când creezi un nou pad.";
+    out.fm_info_trash = "Fișierele șterse din gunoi vor fi șterse și din \"Toate fișierele\", făcând imposibilă recuperarea fișierelor din managerul de fișiere.";
+    out.fm_info_allFiles = "Conține toate fișierele din \"Documente\", \"Nesortate\" și \"Gunoi\". Poți să muți sau să ștergi fișierele aici.";
+    out.fm_info_login = ""; "Loghează-te";
+    out.fm_info_register = "Înscrie-te";
+    out.fm_info_anonymous = "Nu ești logat cu un cont valid așa că aceste pad-uri vor fi șterse (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">află de ce</a>). <a href=\"/register/\">Înscrie-te</a> sau <a href=\"/login/\">Loghează-te</a> pentru a le salva.";
+    out.fm_alert_backupUrl = "Link copie de rezervă pentru acest drive.<br> Este <strong>foarte recomandat</strong> să o păstrezi pentru tine.<br>Poți să o folosești pentru a recupera toate fișierele n cazul n care memoria browserului tău este șterge..<br>Oricine are linkul poate să editeze sau să ndepărteze toate fișierele din managerul tău de documente.<br>";
+    out.fm_alert_anonymous = "Salut, momentan folosești CryptPad n mod anonim. Este ok, doar că fișierele tale vor fi șterse după o perioadă de inactivitate. Am dezactivat caracteristicile avansate ale drive-ului pentru utilizatorii anonimi pentru a face clar faptul că stocare documentelor acolo nu este o metodă sigură. Poți să <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">citești mai multe</a> despre motivarea noastră și despre ce de trebuie să te <a href=\"/register/\">Înregistrezi</a> and <a href=\"/login/\">Loghezi</a>.";
+    out.fm_backup_title = "Link de backup";
+    out.fm_nameFile = "Cum ai vrea să numești fișierul?";
+    out.fc_newfolder = "Folder nou";
+    out.fc_rename = "Redenumește";
+    out.fc_open = "Deschide";
+    out.fc_open_ro = "Deschide (modul citire)";
+    out.fc_delete = "Șterge";
+    out.fc_restore = "Restaurează";
+    out.fc_remove = "Șterge permanent";
+    out.fc_empty = "Curăță coșul";
+    out.fc_prop = "Proprietăți";
+    out.fc_sizeInKilobytes = "Dimensiune n Kilobytes";
+    out.fo_moveUnsortedError = "Nu poți să muți un folder la lista de pad-uri nesortate";
+    out.fo_existingNameError = "Numele ales este deja folosit n acest director. Te rugăm să alegi altul.";
+    out.fo_moveFolderToChildError = "Nu poți să muți un folder ntr-unul dintre descendenții săi";
+    out.fo_unableToRestore = "Nu am reușit să restaurăm fișierul n locația de origine. Poți să ncerci să l muți ntr-o nouă locație.";
+    out.fo_unavailableName = "Un fișier sau un folder cu același nume există deja n locația nouă. Redenumește elementul și ncearcă din nou.";
+    out.login_login = ""; "Loghează-te";
+    out.login_makeAPad = "Crează un pad n modul anonim";
+    out.login_nologin = "Răsfoiește pad-urile locale";
+    out.login_register = "Înscrie-te";
+    out.logoutButton = "Deloghează-te";
+    out.settingsButton = "Setări";
+    out.login_username = "Nume utilizator";
+    out.login_password = "Parolă";
+    out.login_confirm = "Confirmă parola";
+    out.login_remember = "Ține-mă minte";
+    out.login_hashing = "Încriptăm parola, o să mai dureze.";
+    out.login_hello = "Salut {0},";
+    out.login_helloNoName = "Salut,";
+    out.login_accessDrive = "Acesează-ți drive-ul";
+    out.login_orNoLogin = "sau";
+    out.login_noSuchUser = "Nume de utilizator sau parolă invalide. Încearcă din nou sau nscrie-te.";
+    out.login_invalUser = "Nume utilizator cerut";
+    out.login_invalPass = "Parolă cerută";
+    out.login_unhandledError = "O eroare neașteptată a avut loc emoticon_unhappy";
+    out.register_importRecent = "Importă istoricul pad-ului (Recomandat)";
+    out.register_acceptTerms = "Accept <a href='/terms.html'>termenii serviciului</a>";
+    out.register_passwordsDontMatch = "Parolele nu se potrivesc!";
+    out.register_mustAcceptTerms = "Trebuie să accepți termenii serviciului";
+    out.register_mustRememberPass = "Nu putem să ți resetăm parola dacă o uiți. Este foarte important să o ții minte! Bifează căsuța pentru a confirma.";
+    out.register_header = "Bine ai venit n CryptPad";
+    out.register_explanation = "<p>Hai să stabilim câteva lucruri, mai ntâi</p><ul><li>Parola ta este cheia secretă care criptează toate pad-urile tale. Dacă pierzi/uiți parola nu există nici-o metodă prin care ți putem recupera datele.</li><li>Poți importa pad-uri care au fost vizionate recent n browser pentru a le avea n cont.</li><li>Dacă folosești un computer mpărțit, trebuie să te deloghezi, nchiderea taburilor nu este de ajuns.</li></ul>";
+    out.register_writtenPassword = "Mi-am notat numele de utilizator și parola, naintează.";
+    out.register_cancel = "Întoarce-te";
+    out.register_warning = "Zero Knowledge nseamnă că noi nu ți putem recupera datele dacă ți pierzi parola.";
+    out.register_alreadyRegistered = "Acest user există deja, vrei să te loghezi?";
+    out.settings_title = "Setări";
+    out.settings_save = "Salvează";
+    out.settings_backupTitle = "Fă o copie de rezervă sau restaurează toate datele";
+    out.settings_backup = "Copie de rezervă";
+    out.settings_restore = "Restaurează";
+    out.settings_resetTitle = "Curăță-ți drive-ul";
+    out.settings_reset = "Îndepărtează toate fișierele și folderele din CryptPad-ul tău.";
+    out.settings_resetPrompt = "Această acțiune o să ndepărteze toate pad-urile din drive-ul tău.<br>Ești sigur că vrei să continui?<br>Type “<em>Iubesc CryptPad</em>” pentru a confirma.";
+    out.settings_resetDone = "Drive-ul tău este acum gol!";
+    out.settings_resetError = "Text de verificare incorrect. CryptPad-ul tău nu a fost schimbat.";
+    out.settings_resetTips = "Sfaturi n CryptDrive";
+    out.settings_resetTipsButton = "Resetează sfaturile disponibile n CryptDrive";
+    out.settings_resetTipsDone = "Toate sfaturile sunt vizibile din nou.";
+    out.settings_importTitle = "Importă pad-urile recente ale acestui browser n CryptDrive-ul meu";
+    out.settings_import = "Importă";
+    out.settings_importConfirm = "Ești sigur că vrei să imporți pad-urile recente ale acestui browser n contul tău de CryptDrive?";
+    out.settings_importDone = "Import complet";
+    out.settings_userFeedbackHint1 = "CryptPad oferă niște feedback foarte simplu serverului, pentru a ne informa cum putem să ți mbunătățim experiența voastră.";
+    out.settings_userFeedbackHint2 = "Conținutul pad-ului tău nu va fi mpărțit cu serverele.";
+    out.settings_userFeedback = "Activează feedback";
+    out.settings_anonymous = "Nu ești logat. Setările sunt specifice browser-ului.";
+    out.settings_publicSigningKey = "Cheia de semnătură publică";
+    out.settings_usage = "Uzaj";
+    out.settings_usageTitle = "Vezi dimensiunea totală a pad-urilor fixate n MB";
+    out.settings_pinningNotAvailable = "Pad-urile fixate sunt disponibile doar utilizatorilor nregistrați.";
+    out.settings_pinningError = "Ceva nu a funcționat";
+    out.settings_usageAmount = "Pad-urile tale fixate ocupă {0}MB";
+    out.settings_logoutEverywhereTitle = "Deloghează-te peste tot";
+    out.settings_logoutEverywhere = "Deloghează-te din toate sesiunile web";
+    out.settings_logoutEverywhereConfirm = "Ești sigur? Va trebui să te loghezi, din nou, pe toate device-urile tale.";
+    out.upload_serverError = "Eroare de server: fișierele tale nu pot fi ncărcate la momentul acesta.";
+    out.upload_uploadPending = "Ai deja o ncărcare n desfășurare. Anulezi si ncarci noul fișier?";
+    out.upload_success = "Fișierul tău ({0}) a fost ncărcat și adăugat la drive-ul tău cu succes.";
+    out.main_p2 = "Acest proiect folosește <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, și <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> un motor n timp real.";
+    out.main_howitworks_p1 = "CryptPad folosește o variantă a algoritmului de <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> care este capabil să găsescă consens distribuit folosind <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, o construcție popularizată de <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. Astfel algoritmul poate evita nevoia ca serverul central să rezove conflicte, iar serverul nu este interesat de conținutul care este editat n pad.";
+    out.main_about_p2 = "Dacă ai orice fel de ntrebare sau comentariu, poți să ne <a href=\"https://twitter.com/cryptpad\">dai un tweet</a>, semnalezi o problemă <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"index de probleme\">on github</a>, spui salut pe IRC (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), sau <a href=\"research@xwiki.com\">trimiți un email</a>.";
+    out.main_info = "<h1>Colaborează n siguranță</h1><br> Dezvoltă-ți ideile mpreună cu documente partajate n timp ce tehnologia <strong>Zero Knowledge</strong> ți păstrează securitatea; chiar și de noi.";
+    out.main_howitworks = "Cum funcționează";
+    out.main_zeroKnowledge = "Zero Knowledge";
+    out.main_zeroKnowledge_p = "Nu trebuie să ne crezi că <em>nu ne uităm</em> la pad-urile tale, cu tehnologia revoluționară Zero Knowledge a CryptPad <em>nu putem</em>. Învață mai multe despre cum ți protejăm Learn more about how we protect your <a href=\"/privacy.html\" title='Intimitatea'>Intimitate și Securitate</a>.";
+    out.main_writeItDown = "Notează";
+    out.main_writeItDown_p = "Cele mai importante proiecte vin din idei mici. Notează-ți momentele de inspirație și ideile neașteptate pentru că nu știi niciodată care ar putea fi noua mare descoperire.";
+    out.main_share = "Partajează link-ul, partajează pad-ul";
+    out.main_share_p = "Dezvoltă-ți ideile mpreună: organizează ntâlniri eficiente, colaborează pe liste TODO și fă prezentări scurte cu toți prietenii tăi și device-urile tale.";
+    out.main_organize = "Organizează-te";
+    out.main_organize_p = "Cu CryptPad Drive, poți să stai cu ochii pe ce este important.  Folderele ți permit să ții evidența proiectelor tale și să ai o viziune globală asupra evoluției lucrurilor.";
+    out.tryIt = "Testează!";
+    out.main_richText = "Rich Text editor";
+    out.main_richText_p = "Editează texte complexe n mod colaborativ cu Zero Knowledge n timp real. <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application.";
+    out.main_code = "Editor cod";
+    out.main_code_p = "Editează cod din softul tău, n mod colaborativ, cu Zero Knowledge n timp real.<a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application.";
+    out.main_slide = "Editor slide-uri";
+    out.main_slide_p = "Crează-ți prezentări folosind sintaxa Markdown, și afișează-le n browser-ul tău.";
+    out.main_poll = "Sondaj";
+    out.main_poll_p = "Plănuiește ntâlniri sau evenimente, sau votează pentru cea mai bună soluție pentru problema ta.";
+    out.main_drive = "CryptDrive";
+    out.footer_applications = "Aplicații";
+    out.footer_contact = "Contact";
+    out.footer_aboutUs = "Despre noi";
+    out.about = "Despre";
+    out.privacy = "Privacy";
+    out.contact = "Contact";
+    out.terms = "ToS";
+    out.blog = "Blog";
+    out.policy_title = "Politica de confidențialitate CryptPad";
+    out.policy_whatweknow = "Ce știm despre tine";
+    out.policy_whatweknow_p1 = "Ca o aplicație care este găzduită online, CryptPad are acces la metadatele expuse de protocolul HTTP. Asta include adresa IP-ului tău, și alte titluri HTTP care pot fi folosite ca să identifice un browser. Poți să vezi ce informații mpărtășește browser-ul tău vizitând <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>.";
+    out.policy_whatweknow_p2 = "Folosim <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"platforma de analiză open source\">Kibana</a>, o platformă open source, pentru a afla mai multe despre utilizatorii noștri. Kibana ne spune despre cum ai găsit CryptPad, căutare  directă, printr-un motor de căutare, sau prin recomandare de la un alt serviciu online ca Reddit sau Twitter.";
+    out.policy_howweuse = "Cum folosim ce aflăm";
+    out.policy_howweuse_p1 = "Folosim aceste informații pentru a lua decizii mai bune n promovarea CryptPad, prin evaluarea eforturilor trecute care au fost de succes. Informațiile despre locația ta ne ajută să aflăm dacă ar trebui să oferim suport pentru alte limbi, pe lângă engleză.";
+    out.policy_howweuse_p2 = ""; "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoare mbunătățiri. Echipa noastră de development este mică, și ncercăm să facem alegeri care să mbunătățească experiența câtor mai mulți utilizatori.";
+
+    out.policy_whatwetell = "Ce le spunem altora despre tine";
+    out.policy_whatwetell_p1 = "Nu furnizăm informațiile obținute terților, decât dacă ne este cerut n mod legal.";
+    out.policy_links = "Link-uri către alte site-uri";
+    out.policy_links_p1 = "Acest site conține link-uri către alte site-uri, incluzându-le pe cele produse de alte organizații. Nu suntem responsabili pentru practicile de intimitate sau pentru conținutul site-urilor externe. Ca regulă generală, link-urile către site-uri externe sunt deschise ntr-o fereastră noup, pentru a face clar faptul că părăsiți CryptPad.fr.";
+    out.policy_ads = "Reclame";
+    out.policy_ads_p1 = "Nu afișăm nici o formă de publicitate online, dar s-ar putea să atașăm link-uri către instituțiile care ne finanțează cerecetarea.";
+    out.policy_choices = "Ce alegeri ai";
+    out.policy_choices_open = "Codul nostru este open source, așa că tu ai mereu posibilitatea de a-ți găzdui propria instanță de CryptPad.";
+    out.policy_choices_vpn = "Dacă vrei să folosești instanța găzduită de noi, dar nu vrei să ți expui IP-ul, poți să l protejezi folosind <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, sau <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>.";
+    out.policy_choices_ads = "Dacă vrei doar să blochezi platforma noastră de analiză, poți folosi soluții de adblocking ca <a href=\"https://www.eff.org/privacybadger\" title=\"download privacy badger\" target=\"_blank\" rel=\"noopener noreferrer\">Privacy Badger</a>.";
+    out.tos_title = "CryptPad Termeni de Utilizare";
+    out.tos_legal = "Te rugăm să nu fii rău intenționat, abuziv, sau să faci orice ilegal.";
+    out.tos_availability = "Sperăm că o să găsești acest serviciu util, dar disponibilitatea sau performanța nu poate fi garantată. Te rugăm să ți exporți datele n mod regulat.";
+    out.tos_e2ee = "Conținutul CryptPad poate fi citit sau modificat de oricine care poate ghici sau obține fragmentul identificator al pad-ului. Recomandăm să folosești soluții de comunicare criptate end-to-end-encrypted (e2ee) pentru a partaja link-uri, evitând orice risc n cazul unei scurgeri de informații.";
+    out.tos_logs = "Metadatele oferite de browser-ul tău serverului ar putea fi nscrise n scopul de a menține serviciul.";
+    out.tos_3rdparties = "Nu oferim date personale terților, decât dacă ne sunt solicitate prin lege.";
+    out.bottom_france = "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Realizat cu <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> n <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" alt=\"Franța\" /></a>";
+    out.bottom_support = "<a href=\"http://labs.xwiki.com/\" title=\"XWiki Labs\" target=\"_blank\" rel=\"noopener noreferrer\">Un proiect al <img src=\"/customize/logo-xwiki2.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/> Labs Project </a> cu susținerea <a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>";
+    out.header_france = "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">With <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> from <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" title=\"Franța\" alt=\"Franța\"/> by <img src=\"/customize/logo-xwiki.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/></a>";
+    out.header_support = "<a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>";
+    out.header_logoTitle = "Mergi la pagina principală";
+    out.initialState = "<span style=\"font-size:16px;\"><p>Acesta este&nbsp;<strong>CryptPad</strong>, editorul colaborativ bazat pe tehnologia Zero Knowledge n timp real. Totul este salvat pe măsură ce scrii.<br>Partajează link-ul către acest pad pentru a edita cu prieteni sau folosește <span style=\"background-color:#5cb85c;color:#ffffff;\">&nbsp;Share&nbsp;</span> butonul pentru a partaja <em>read-only link</em>&nbsp;permițând vizualizarea dar nu și editarea.</p><p><span style=\"color:#808080;\"><em>Îndrăznește, ncepe să scrii...</em></span></p></span><p>&nbsp;<br></p>";
+    out.codeInitialState = "/*\n   Acesta este editorul colaborativ de cod bazat pe tehnologia Zero Knowledge CryptPad.\n   Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n   Poți să alegi ce limbaj de programare pus n evidență și schema de culori UI n dreapta sus.\n*/";
+    out.slideInitialState = "# CryptSlide\n* Acesta este un editor colaborativ bazat pe tehnologia Zero Knowledge.\n* Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n* Nici măcar serverele nu au acces la ce scrii tu.\n* Ce vezi aici, ce auzi aici, atunci când pleci, lasă aici.\n\n-\n# Cum se folosește\n1. Scrie-ți conținutul slide-urilor folosind sintaxa markdown\n  - Află mai multe despre sintaxa markdown [aici](http://www.markdowntutorial.com/)\n2. Separă-ți slide-urile cu -\n3. Click pe butonul \"Play\" pentru a vedea rezultatele  - Slide-urile tale sunt actualizate n timp real.";
+    out.driveReadmeTitle = "Ce este CryptDrive?";
+    out.readme_welcome = "Bine ai venit n CryptPad !";
+    out.readme_p1 = "Bine ai venit n CryptPad, acesta este locul unde ți poți lua notițe, singur sau cu prietenii.";
+    out.readme_p2 = "Acest pad o să ți ofere un scurt ghid n cum poți să folosești CryptPad pentru a lua notițe, a le ține organizate și a colabora pe ele.";
+    out.readme_cat1 = "Descoperă-ți CryptDrive-ul";
+    out.readme_cat1_l1 = "Crează un pad: În CryptDrive-ul tău, dă click {0} apoi {1} și poți să creezi un pad.";
+    out.readme_cat1_l2 = "Deschide pad-urile din CryptDrive-ul tău: doublu-click pe iconița unui pad pentru a-l deschide.";
+    out.readme_cat1_l3 = "Organizează-ți pad-urile: Când ești logat, orice pad accesezi va fi afișat ca n secțiunea {0} a drive-ului tău.";
+    out.readme_cat1_l3_l1 = "Poți să folosești funcția click and drag pentru a muta fișierele n folderele secțiunii {0} a drive-ului tău și pentru a crea noi foldere.";
+    out.readme_cat1_l3_l2 = ""; "Ține minte să ncerci click-dreapta pe iconițe pentru că există și meniuri adiționale.";
+    out.readme_cat1_l4 = "Pune pad-urile vechi n gunoi. Poți să folosești funcția click and drag pe pad-uri n categoria {0} la fel ca și n cazul folderelor.";
+    out.readme_cat2 = ""; "Crează pad-uri ca un profesionist";
+    out.edit = "editează";
+    out.view = "vezi";
+    out.readme_cat2_l1 = "Butonul {0} din pad-ul tău dă accesul colaboratorilor tăi să {1} sau să {2} pad-ul.";
+    out.readme_cat2_l2 = "Schimbă titlul pad-ului dând click pe creion";
+    out.readme_cat3 = "Descoperă aplicațiile CryptPad";
+    out.readme_cat3_l1 = "Cu editorul de cod CryptPad, poți colabora pe cod ca Javascript și markdown ca HTML și Markdown";
+    out.readme_cat3_l2 = "Cu editorul de slide-uri CryptPad, poți să faci prezentări scurte folosind Markdown";
+    out.readme_cat3_l3 = "Cu CryptPoll poți să organizezi votări rapide, mai ales pentru a programa ntâlniri care se potrivesc calendarelor tuturor";
+    out.tips = "";  {"lag":"Iconița verde din dreapta-sus arată calitatea conexiunii internetului tău la serverele CryptPad.","scurtături":"`ctrl+b`, `ctrl+i` and `ctrl+u` sunt scurtături pentru bold, italic și underline.","indentare":"În listele cu bulină sau cele numerotate, poți folosi  tab sau shift+tab pentru a mări sau micșora indentarea.","titlu":"Poți seta titlul pad-urilor tale prin click pe centru sus.","stocare":"De fiecare dată când vizitezi un pad, dacă ești logat va fi salvat pe CryptDrive-ul tău.","marker":"Poți sublinia text ntr-un pad folosind itemul \"marker\" n meniul de stiluri."}    out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când ntreprinzi anumite acțiuni";
+    out.feedback_privacy = "Ne pasă de intimitatea ta, si n același timp vrem să păstrăm CryptPad ușor de folosit.  Folosim acest fișier pentru a ne da seama care beneficii UI contează cel mai mult pentru utilizatori, cerându-l alături de un parametru specific atunci când acțiunea se desfășoară";
+    out.feedback_optout = "Dacă vrei să ieși, vizitează <a href='/settings/'>setările de pe pagina ta de user</a>, unde vei găsi o căsuță pentru a activa sau dezactiva feedback-ul de la user";
+
+    return out;
+});
 
     return out;
 });

From 70c1061f4712825dc2b081e49c0b60f72b51e0b0 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 24 May 2017 14:49:00 +0200
Subject: [PATCH 151/236] Fix romanian translation

---
 customize.dist/translations/messages.ro.js | 30 +++++++++++++---------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js
index 162603908..4f8579ba0 100644
--- a/customize.dist/translations/messages.ro.js
+++ b/customize.dist/translations/messages.ro.js
@@ -25,7 +25,7 @@ define(function () {
     out.typeError = "Această filă nu este compatibilă cu aplicația aleasă";
     out.onLogout = "Nu mai ești autentificat, <a href=\"/\" target=\"_blank\">apasă aici</a> să te autentifici<br>sau apasă <em>Escape</em>să accesezi fila n modul citire.";
     out.wrongApp = "Momentan nu putem arăta conținutul sesiunii n timp real n fereastra ta. Te rugăm rencarcă pagina.";
-    out.loading = "Încarcă..."    
+    out.loading = "Încarcă...";
     out.error = "Eroare";
 
     out.saved = "Salvat";
@@ -113,7 +113,7 @@ define(function () {
     out.history_restore = "Restabilește";
     out.history_restoreTitle = "Restabilește versiunea selectată a documentului";
     out.history_restorePrompt = "Ești sigur că vrei să nlocuiești versiunea curentă a documentului cu cea afișată?";
-    out.history_restoreDone = ""; "Document restabilit";
+    out.history_restoreDone = "Document restabilit";
     out.history_version = "Versiune:";
     out.poll_title = "Zero Knowledge Selector Dată";
     out.poll_subtitle = "Zero Knowledge, <em>realtime</em> programare";
@@ -186,7 +186,7 @@ define(function () {
     out.fm_info_template = "Conține toate pad-urile stocate ca șabloane și pe care le poți refolosi atunci când creezi un nou pad.";
     out.fm_info_trash = "Fișierele șterse din gunoi vor fi șterse și din \"Toate fișierele\", făcând imposibilă recuperarea fișierelor din managerul de fișiere.";
     out.fm_info_allFiles = "Conține toate fișierele din \"Documente\", \"Nesortate\" și \"Gunoi\". Poți să muți sau să ștergi fișierele aici.";
-    out.fm_info_login = ""; "Loghează-te";
+    out.fm_info_login = "Loghează-te";
     out.fm_info_register = "Înscrie-te";
     out.fm_info_anonymous = "Nu ești logat cu un cont valid așa că aceste pad-uri vor fi șterse (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">află de ce</a>). <a href=\"/register/\">Înscrie-te</a> sau <a href=\"/login/\">Loghează-te</a> pentru a le salva.";
     out.fm_alert_backupUrl = "Link copie de rezervă pentru acest drive.<br> Este <strong>foarte recomandat</strong> să o păstrezi pentru tine.<br>Poți să o folosești pentru a recupera toate fișierele n cazul n care memoria browserului tău este șterge..<br>Oricine are linkul poate să editeze sau să ndepărteze toate fișierele din managerul tău de documente.<br>";
@@ -208,7 +208,7 @@ define(function () {
     out.fo_moveFolderToChildError = "Nu poți să muți un folder ntr-unul dintre descendenții săi";
     out.fo_unableToRestore = "Nu am reușit să restaurăm fișierul n locația de origine. Poți să ncerci să l muți ntr-o nouă locație.";
     out.fo_unavailableName = "Un fișier sau un folder cu același nume există deja n locația nouă. Redenumește elementul și ncearcă din nou.";
-    out.login_login = ""; "Loghează-te";
+    out.login_login = "Loghează-te";
     out.login_makeAPad = "Crează un pad n modul anonim";
     out.login_nologin = "Răsfoiește pad-urile locale";
     out.login_register = "Înscrie-te";
@@ -308,7 +308,7 @@ define(function () {
     out.policy_whatweknow_p2 = "Folosim <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"platforma de analiză open source\">Kibana</a>, o platformă open source, pentru a afla mai multe despre utilizatorii noștri. Kibana ne spune despre cum ai găsit CryptPad, căutare  directă, printr-un motor de căutare, sau prin recomandare de la un alt serviciu online ca Reddit sau Twitter.";
     out.policy_howweuse = "Cum folosim ce aflăm";
     out.policy_howweuse_p1 = "Folosim aceste informații pentru a lua decizii mai bune n promovarea CryptPad, prin evaluarea eforturilor trecute care au fost de succes. Informațiile despre locația ta ne ajută să aflăm dacă ar trebui să oferim suport pentru alte limbi, pe lângă engleză.";
-    out.policy_howweuse_p2 = ""; "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoare mbunătățiri. Echipa noastră de development este mică, și ncercăm să facem alegeri care să mbunătățească experiența câtor mai mulți utilizatori.";
+    out.policy_howweuse_p2 = "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoare mbunătățiri. Echipa noastră de development este mică, și ncercăm să facem alegeri care să mbunătățească experiența câtor mai mulți utilizatori.";
 
     out.policy_whatwetell = "Ce le spunem altora despre tine";
     out.policy_whatwetell_p1 = "Nu furnizăm informațiile obținute terților, decât dacă ne este cerut n mod legal.";
@@ -343,9 +343,9 @@ define(function () {
     out.readme_cat1_l2 = "Deschide pad-urile din CryptDrive-ul tău: doublu-click pe iconița unui pad pentru a-l deschide.";
     out.readme_cat1_l3 = "Organizează-ți pad-urile: Când ești logat, orice pad accesezi va fi afișat ca n secțiunea {0} a drive-ului tău.";
     out.readme_cat1_l3_l1 = "Poți să folosești funcția click and drag pentru a muta fișierele n folderele secțiunii {0} a drive-ului tău și pentru a crea noi foldere.";
-    out.readme_cat1_l3_l2 = ""; "Ține minte să ncerci click-dreapta pe iconițe pentru că există și meniuri adiționale.";
+    out.readme_cat1_l3_l2 = "Ține minte să ncerci click-dreapta pe iconițe pentru că există și meniuri adiționale.";
     out.readme_cat1_l4 = "Pune pad-urile vechi n gunoi. Poți să folosești funcția click and drag pe pad-uri n categoria {0} la fel ca și n cazul folderelor.";
-    out.readme_cat2 = ""; "Crează pad-uri ca un profesionist";
+    out.readme_cat2 = "Crează pad-uri ca un profesionist";
     out.edit = "editează";
     out.view = "vezi";
     out.readme_cat2_l1 = "Butonul {0} din pad-ul tău dă accesul colaboratorilor tăi să {1} sau să {2} pad-ul.";
@@ -354,12 +354,18 @@ define(function () {
     out.readme_cat3_l1 = "Cu editorul de cod CryptPad, poți colabora pe cod ca Javascript și markdown ca HTML și Markdown";
     out.readme_cat3_l2 = "Cu editorul de slide-uri CryptPad, poți să faci prezentări scurte folosind Markdown";
     out.readme_cat3_l3 = "Cu CryptPoll poți să organizezi votări rapide, mai ales pentru a programa ntâlniri care se potrivesc calendarelor tuturor";
-    out.tips = "";  {"lag":"Iconița verde din dreapta-sus arată calitatea conexiunii internetului tău la serverele CryptPad.","scurtături":"`ctrl+b`, `ctrl+i` and `ctrl+u` sunt scurtături pentru bold, italic și underline.","indentare":"În listele cu bulină sau cele numerotate, poți folosi  tab sau shift+tab pentru a mări sau micșora indentarea.","titlu":"Poți seta titlul pad-urilor tale prin click pe centru sus.","stocare":"De fiecare dată când vizitezi un pad, dacă ești logat va fi salvat pe CryptDrive-ul tău.","marker":"Poți sublinia text ntr-un pad folosind itemul \"marker\" n meniul de stiluri."}    out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când ntreprinzi anumite acțiuni";
+
+    out.tips = { };
+    out.tips.lag = "Iconița verde din dreapta-sus arată calitatea conexiunii internetului tău la serverele CryptPad.";
+    out.tips.shortcuts = "`ctrl+b`, `ctrl+i` and `ctrl+u` sunt scurtături pentru bold, italic și underline.";
+    out.tips.indentare = "În listele cu bulină sau cele numerotate, poți folosi  tab sau shift+tab pentru a mări sau micșora indentarea.";
+    out.tips.titlu = "Poți seta titlul pad-urilor tale prin click pe centru sus.";
+    out.tips.stocare = "De fiecare dată când vizitezi un pad, dacă ești logat va fi salvat pe CryptDrive-ul tău.";
+    out.tips.marker = "Poți sublinia text ntr-un pad folosind itemul \"marker\" n meniul de stiluri.";
+
+    out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când ntreprinzi anumite acțiuni";
     out.feedback_privacy = "Ne pasă de intimitatea ta, si n același timp vrem să păstrăm CryptPad ușor de folosit.  Folosim acest fișier pentru a ne da seama care beneficii UI contează cel mai mult pentru utilizatori, cerându-l alături de un parametru specific atunci când acțiunea se desfășoară";
     out.feedback_optout = "Dacă vrei să ieși, vizitează <a href='/settings/'>setările de pe pagina ta de user</a>, unde vei găsi o căsuță pentru a activa sau dezactiva feedback-ul de la user";
 
     return out;
-});
-
-    return out;
-});
+});
\ No newline at end of file

From 617e027f1273783f697331211aa6052baa5f6746 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 15:50:35 +0200
Subject: [PATCH 152/236] catch markdown preview errors

---
 www/code/main.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/www/code/main.js b/www/code/main.js
index 9cb3cae10..788ddddcf 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -112,7 +112,9 @@ define([
 
             var drawPreview = Cryptpad.throttle(function () {
                 if (CodeMirror.highlightMode !== 'markdown') { return; }
-                DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
+                try {
+                    DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
+                } catch (e) { console.error(e); }
             }, 150);
 
             var onLocal = config.onLocal = function () {

From 3803f6a20f789603c2707c48094f815ac0dc0eee Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 17:25:33 +0200
Subject: [PATCH 153/236] only render preview if preview container is visible

---
 www/code/main.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/www/code/main.js b/www/code/main.js
index 788ddddcf..44ecec76b 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -112,6 +112,7 @@ define([
 
             var drawPreview = Cryptpad.throttle(function () {
                 if (CodeMirror.highlightMode !== 'markdown') { return; }
+                if (!$previewContainer.is(':visible')) { return; }
                 try {
                     DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
                 } catch (e) { console.error(e); }

From a5ffd278a770ac78a464960c187c1ee7980d2ed8 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 17:27:03 +0200
Subject: [PATCH 154/236] write styles for code in .less

---
 package.json        |  2 +-
 www/code/code.css   | 73 ++++++++++++++++++++++++++++++++++++++++
 www/code/code.less  | 81 +++++++++++++++++++++++++++++++++++++++++++++
 www/code/inner.html | 65 +-----------------------------------
 4 files changed, 156 insertions(+), 65 deletions(-)
 create mode 100644 www/code/code.css
 create mode 100644 www/code/code.less

diff --git a/package.json b/package.json
index e75ec7b32..3f8432ef5 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
   "scripts": {
     "lint": "jshint --config .jshintrc --exclude-path .jshintignore .",
     "test": "node TestSelenium.js",
-    "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css && lessc ./www/file/file.less > ./www/file/file.css",
+    "style": "lessc ./customize.dist/src/less/cryptpad.less > ./customize.dist/main.css && lessc ./customize.dist/src/less/toolbar.less > ./customize.dist/toolbar.css && lessc ./www/drive/file.less > ./www/drive/file.css && lessc ./www/settings/main.less > ./www/settings/main.css && lessc ./www/slide/slide.less > ./www/slide/slide.css && lessc ./www/whiteboard/whiteboard.less > ./www/whiteboard/whiteboard.css && lessc ./www/poll/poll.less > ./www/poll/poll.css && lessc ./www/file/file.less > ./www/file/file.css && lessc ./www/code/code.less > ./www/code/code.css",
     "template": "cd customize.dist/src && node build.js"
   }
 }
diff --git a/www/code/code.css b/www/code/code.css
new file mode 100644
index 000000000..337a75fd9
--- /dev/null
+++ b/www/code/code.css
@@ -0,0 +1,73 @@
+html,
+body {
+  height: 100%;
+  width: 100%;
+  padding: 0px;
+  margin: 0px;
+  overflow: hidden;
+  box-sizing: border-box;
+  position: relative;
+}
+body {
+  display: flex;
+  flex-flow: column;
+  max-height: 100%;
+  min-height: auto;
+}
+.CodeMirror {
+  display: inline-block;
+  height: 100%;
+  width: 50%;
+  min-width: 20%;
+  max-width: 80%;
+  resize: horizontal;
+}
+.CodeMirror.fullPage {
+  min-width: 100%;
+  max-width: 100%;
+  resize: none;
+}
+.CodeMirror-focused .cm-matchhighlight {
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==);
+  background-position: bottom;
+  background-repeat: repeat-x;
+}
+#editorContainer {
+  flex: 1;
+  display: flex;
+  flex-flow: row;
+  height: 100%;
+  overflow: hidden;
+}
+#previewContainer {
+  flex: 1;
+  padding: 5px 20px;
+  overflow: auto;
+  display: inline-block;
+  height: 100%;
+  border-left: 1px solid black;
+  box-sizing: border-box;
+  font-family: Calibri, Ubuntu, sans-serif;
+  word-wrap: break-word;
+}
+#preview {
+  max-width: 40vw;
+  margin: auto;
+}
+#preview table {
+  border-collapse: collapse;
+}
+#preview table tr th {
+  border: 3px solid black;
+  padding: 15px;
+}
+@media (max-width: 720px) {
+  .CodeMirror {
+    flex: 1;
+    max-width: 100%;
+    resize: none;
+  }
+  #previewContainer {
+    display: none !important;
+  }
+}
diff --git a/www/code/code.less b/www/code/code.less
new file mode 100644
index 000000000..420371c93
--- /dev/null
+++ b/www/code/code.less
@@ -0,0 +1,81 @@
+@import "../../customize.dist/src/less/variables.less";
+@import "../../customize.dist/src/less/mixins.less";
+
+html, body{
+    height: 100%;
+    width: 100%;
+    padding: 0px;
+    margin: 0px;
+    overflow: hidden;
+    box-sizing: border-box;
+    position: relative;
+}
+body {
+    display: flex;
+    flex-flow: column;
+    max-height: 100%;
+    min-height: auto;
+}
+.CodeMirror {
+    display: inline-block;
+    height: 100%;
+    width: 50%;
+    min-width: 20%;
+    max-width: 80%;
+    resize: horizontal;
+}
+.CodeMirror.fullPage {
+    min-width: 100%;
+    max-width: 100%;
+    resize: none;
+}
+.CodeMirror-focused .cm-matchhighlight {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==);
+    background-position: bottom;
+    background-repeat: repeat-x;
+}
+#editorContainer {
+    flex: 1;
+    display: flex;
+    flex-flow: row;
+    height: 100%;
+    overflow: hidden;
+}
+#previewContainer {
+    flex: 1;
+    padding: 5px 20px;
+    overflow: auto;
+    display: inline-block;
+    height: 100%;
+    border-left: 1px solid black;
+    box-sizing: border-box;
+    font-family: Calibri,Ubuntu,sans-serif;
+    word-wrap: break-word;
+}
+
+#preview {
+    max-width: 40vw;
+    margin: auto;
+
+    table {
+        border-collapse: collapse;
+        tr {
+            th {
+                border: 3px solid black;
+                padding: 15px;
+            }
+        }
+    }
+}
+
+@media (max-width: 720px) {
+    .CodeMirror {
+        flex: 1;
+        max-width: 100%;
+        resize: none;
+    }
+    #previewContainer {
+        display: none !important;
+    }
+}
+
diff --git a/www/code/inner.html b/www/code/inner.html
index 12f4c8cac..b3ac7fed5 100644
--- a/www/code/inner.html
+++ b/www/code/inner.html
@@ -8,6 +8,7 @@
     <link rel="stylesheet" href="/bower_components/codemirror/lib/codemirror.css">
     <link rel="stylesheet" href="/bower_components/codemirror/addon/dialog/dialog.css">
     <link rel="stylesheet" href="/bower_components/codemirror/addon/fold/foldgutter.css" />
+    <link rel="stylesheet" href="/code/code.css" />
     <script src="/bower_components/codemirror/mode/javascript/javascript.js"></script>
     <script src="/bower_components/codemirror/addon/mode/loadmode.js"></script>
     <script src="/bower_components/codemirror/mode/meta.js"></script>
@@ -31,70 +32,6 @@
     <script src="/bower_components/codemirror/addon/fold/markdown-fold.js"></script>
     <script src="/bower_components/codemirror/addon/fold/comment-fold.js"></script>
     <script src="/bower_components/codemirror/addon/display/placeholder.js"></script>
-    <style>
-        html, body{
-            height: 100%;
-            width: 100%;
-            padding: 0px;
-            margin: 0px;
-            overflow: hidden;
-            box-sizing: border-box;
-            position: relative;
-        }
-        body {
-            display: flex;
-            flex-flow: column;
-            max-height: 100%;
-            min-height: auto;
-        }
-        .CodeMirror {
-            display: inline-block;
-            height: 100%;
-            width: 50%;
-            min-width: 20%;
-            max-width: 80%;
-            resize: horizontal;
-        }
-        .CodeMirror.fullPage {
-            min-width: 100%;
-            max-width: 100%;
-            resize: none;
-        }
-        .CodeMirror-focused .cm-matchhighlight {
-            background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAFklEQVQI12NgYGBgkKzc8x9CMDAwAAAmhwSbidEoSQAAAABJRU5ErkJggg==);
-            background-position: bottom;
-            background-repeat: repeat-x;
-        }
-        #editorContainer {
-            flex: 1;
-            display: flex;
-            flex-flow: row;
-            height: 100%;
-            overflow: hidden;
-        }
-        #previewContainer {
-            flex: 1;
-            padding: 5px 20px;
-            overflow: auto;
-            display: inline-block;
-            height: 100%;
-            border-left: 1px solid black;
-            box-sizing: border-box;
-            font-family: Calibri,Ubuntu,sans-serif;
-            word-wrap: break-word;
-        }
-        #preview {
-            max-width: 40vw;
-            margin: auto;
-        }
-        #preview table tr td, #preview table tr th {
-            border: 1px solid black;
-            padding: 15px;
-        }
-        #preview table tr th {
-            border: 3px solid black;
-        }
-    </style>
 </head>
 <body>
   <div id="cme_toolbox" class="toolbar-container"></div>

From d9f7470f065ce1a9c7f8ea939a7ee0274154b235 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 18:28:16 +0200
Subject: [PATCH 155/236] copy user details into sessionStorage for safari

---
 www/common/fsStore.js | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/www/common/fsStore.js b/www/common/fsStore.js
index b20c38c48..726570574 100644
--- a/www/common/fsStore.js
+++ b/www/common/fsStore.js
@@ -173,6 +173,12 @@ define([
                 proxy[tokenKey] = Math.floor(Math.random()*Number.MAX_SAFE_INTEGER);
             }
 
+            // copy User_hash into sessionStorage because cross-domain iframes
+            // on safari replaces localStorage with sessionStorage or something
+            if (sessionStorage) {
+                sessionStorage.setItem('User_hash', localStorage.getItem('User_hash'));
+            }
+
             var localToken = tryParsing(localStorage.getItem(tokenKey));
             if (localToken === null) {
                 // if that number hasn't been set to localStorage, do so.

From b32c3292690067d2ae81ff58ef0a0dd1e6769d80 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 18:41:19 +0200
Subject: [PATCH 156/236] remember whether you were using preview mode for a
 pad

---
 www/code/main.js | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/www/code/main.js b/www/code/main.js
index 44ecec76b..d5feaf22a 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -110,12 +110,16 @@ define([
                 return stringify(obj);
             };
 
-            var drawPreview = Cryptpad.throttle(function () {
-                if (CodeMirror.highlightMode !== 'markdown') { return; }
-                if (!$previewContainer.is(':visible')) { return; }
+            var forceDrawPreview = function () {
                 try {
                     DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
                 } catch (e) { console.error(e); }
+            };
+
+            var drawPreview = Cryptpad.throttle(function () {
+                if (CodeMirror.highlightMode !== 'markdown') { return; }
+                if (!$previewContainer.is(':visible')) { return; }
+                forceDrawPreview();
             }, 150);
 
             var onLocal = config.onLocal = function () {
@@ -239,9 +243,16 @@ define([
                     }
                     $previewContainer.toggle();
                     if ($previewContainer.is(':visible')) {
+                        forceDrawPreview();
                         $codeMirror.removeClass('fullPage');
+                        Cryptpad.setPadAttribute('previewMode', true, function (e, data) {
+                            if (e) { return console.log(e); }
+                        });
                     } else {
                         $codeMirror.addClass('fullPage');
+                        Cryptpad.setPadAttribute('previewMode', false, function (e, data) {
+                            if (e) { return console.log(e); }
+                        });
                     }
                 });
                 $rightside.append($previewButton);
@@ -255,6 +266,7 @@ define([
                     CodeMirror.configureTheme();
                 }
 
+
                 // set the hash
                 if (!readOnly) { Cryptpad.replaceHash(editHash); }
             };
@@ -306,6 +318,14 @@ define([
                     Title.updateTitle(Cryptpad.initialName);
                 }
 
+                Cryptpad.getPadAttribute('previewMode', function (e, data) {
+                    if (e) { return void console.error(e); }
+                    var $codeMirror = $iframe.find('.CodeMirror');
+                    if (data === false && APP.$previewButton) {
+                        APP.$previewButton.click();
+                    }
+                });
+
                 Cryptpad.removeLoadingScreen();
                 setEditable(true);
                 initializing = false;

From dc2b0ae6b4627f9d33a52cfa972c35978ad3d5f3 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 18:45:48 +0200
Subject: [PATCH 157/236] jshint compliance

---
 www/code/main.js | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/www/code/main.js b/www/code/main.js
index d5feaf22a..38b5f2267 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -245,12 +245,12 @@ define([
                     if ($previewContainer.is(':visible')) {
                         forceDrawPreview();
                         $codeMirror.removeClass('fullPage');
-                        Cryptpad.setPadAttribute('previewMode', true, function (e, data) {
+                        Cryptpad.setPadAttribute('previewMode', true, function (e) {
                             if (e) { return console.log(e); }
                         });
                     } else {
                         $codeMirror.addClass('fullPage');
-                        Cryptpad.setPadAttribute('previewMode', false, function (e, data) {
+                        Cryptpad.setPadAttribute('previewMode', false, function (e) {
                             if (e) { return console.log(e); }
                         });
                     }
@@ -320,7 +320,6 @@ define([
 
                 Cryptpad.getPadAttribute('previewMode', function (e, data) {
                     if (e) { return void console.error(e); }
-                    var $codeMirror = $iframe.find('.CodeMirror');
                     if (data === false && APP.$previewButton) {
                         APP.$previewButton.click();
                     }

From a04f179d8b9adb2860d27f6a0ac38d928699d5e9 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 24 May 2017 19:00:14 +0200
Subject: [PATCH 158/236] hide preview mode on phones

---
 www/code/code.css  | 2 +-
 www/code/code.less | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/www/code/code.css b/www/code/code.css
index 337a75fd9..78a4b7bf2 100644
--- a/www/code/code.css
+++ b/www/code/code.css
@@ -61,7 +61,7 @@ body {
   border: 3px solid black;
   padding: 15px;
 }
-@media (max-width: 720px) {
+@media (max-width: 600px) {
   .CodeMirror {
     flex: 1;
     max-width: 100%;
diff --git a/www/code/code.less b/www/code/code.less
index 420371c93..ef7cef32d 100644
--- a/www/code/code.less
+++ b/www/code/code.less
@@ -68,7 +68,7 @@ body {
     }
 }
 
-@media (max-width: 720px) {
+@media (max-width: @media-medium-screen) {
     .CodeMirror {
         flex: 1;
         max-width: 100%;

From 70fbbe0078ce29a68c7312a9d599af9ac6f1ea92 Mon Sep 17 00:00:00 2001
From: superniko <ge.nikolic@gmail.com>
Date: Thu, 25 May 2017 10:23:27 +0300
Subject: [PATCH 159/236] Update messages.ro.js

---
 customize.dist/translations/messages.ro.js | 180 ++++++++++-----------
 1 file changed, 90 insertions(+), 90 deletions(-)

diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js
index 4f8579ba0..2c09b9a76 100644
--- a/customize.dist/translations/messages.ro.js
+++ b/customize.dist/translations/messages.ro.js
@@ -1,8 +1,8 @@
 define(function () {
     var out = {};
 
-    out.main_title = "CryptPad: Zero Knowledge, Colaborare n timp real";
-    out.main_slogan = "Puterea stă n cooperare - Colaborarea este cheia";
+    out.main_title = "CryptPad: Zero Knowledge, Colaborare în timp real";
+    out.main_slogan = "Puterea stă în cooperare - Colaborarea este cheia";
 
     out.type = {};
     out.pad = "Rich text";
@@ -17,14 +17,14 @@ define(function () {
     out.button_newpad = "Filă Text Nouă";
     out.button_newcode = "Filă Cod Nouă";
     out.button_newpoll = "Sondaj Nou";
-    out.button_newslide = "Prezentare Noua";
-    out.button_newwhiteboard = "Fila Desen Noua";
-    out.updated_0_common_connectionLost = "<b>Conexiunea la server este pierdută</b><br>Până la revenirea conexiunii, vei fi n modul citire";
+    out.button_newslide = "Prezentare Nouă";
+    out.button_newwhiteboard = "Fila Desen Nouă";
+    out.updated_0_common_connectionLost = "<b>Conexiunea la server este pierdută</b><br>Până la revenirea conexiunii, vei fi în modul citire";
     out.common_connectionLost = out.updated_0_common_connectionLost;
     out.websocketError = "Conexiune inexistentă către serverul websocket...";
     out.typeError = "Această filă nu este compatibilă cu aplicația aleasă";
-    out.onLogout = "Nu mai ești autentificat, <a href=\"/\" target=\"_blank\">apasă aici</a> să te autentifici<br>sau apasă <em>Escape</em>să accesezi fila n modul citire.";
-    out.wrongApp = "Momentan nu putem arăta conținutul sesiunii n timp real n fereastra ta. Te rugăm rencarcă pagina.";
+    out.onLogout = "Nu mai ești autentificat, <a href=\"/\" target=\"_blank\">apasă aici</a> să te autentifici<br>sau apasă <em>Escape</em>să accesezi fila în modul citire.";
+    out.wrongApp = "Momentan nu putem arăta conținutul sesiunii în timp real în fereastra ta. Te rugăm reîncarcă pagina.";
     out.loading = "Încarcă...";
     out.error = "Eroare";
 
@@ -46,20 +46,20 @@ define(function () {
     out.viewers = "privitori";
     out.editor = "editor";
     out.editors = "editori";
-    out.language = "Limba";
+    out.language = "Limbă";
     out.upgrade = "Actualizare";
     out.upgradeTitle = "Actualizează-ți contul pentru a mări limita de stocare";
     out.MB = "MB";
     out.greenLight = "Totul funcționează corespunzător";
-    out.orangeLight = "Conexiunea lentă la internet ți poate afecta experiența";
+    out.orangeLight = "Conexiunea lentă la internet îți poate afecta experiența";
     out.redLight = "Ai fost deconectat de la sesiune";
     out.pinLimitReached = "Ai atins limita de stocare";
-    out.pinLimitReachedAlert = "Ai atins limita de stocare. Noile pad-uri nu vor mai fi stocate n CryptDrive.<br>Pentru a rezolva această problemă, poți să nlături pad-uri din CryptDrive-ul tău (incluzând gunoiul) sau să subscrii la un pachet premium pentru a ți extinde spațiul de stocare.";
+    out.pinLimitReachedAlert = "Ai atins limita de stocare. Noile pad-uri nu vor mai fi stocate în CryptDrive.<br>Pentru a rezolva această problemă, poți să nlături pad-uri din CryptDrive-ul tău (incluzând gunoiul) sau să subscrii la un pachet premium pentru a-ți extinde spațiul de stocare.";
     out.pinLimitNotPinned = "Ai atins limita de stocare.<br>Acest pad nu va fi stocat n CryptDrive-ul tău.";
     out.pinLimitDrive = "Ai atins limita de stocare.<br>Nu poți să creezi alte pad-uri.";
     out.importButtonTitle = "Importă un pad dintr-un fișier local";
     out.exportButtonTitle = "Exportă pad-ul acesta către un fișier local";
-    out.exportPrompt = "Cum ai vrea să ți denumești fișierul?";
+    out.exportPrompt = "Cum ai vrea să îți denumești fișierul?";
     out.changeNamePrompt = "Schimbă-ți numele (lasă necompletat dacă vrei să fii anonim): ";
     out.user_rename = "Schimbă numele afișat";
     out.user_displayName = "Nume afișat";
@@ -69,19 +69,19 @@ define(function () {
     out.forgetPrompt = "Click-ul pe OK va muta acest pad la gunoi. Ești sigur?";
     out.movedToTrash = "Acest pad a fost mutat la gunoi.<br><a href=\"/drive/\">Acesează-mi Drive-ul</a>";
     out.shareButton = "Distribuie";
-    out.shareSuccess = "Link copiat n clipboard";
+    out.shareSuccess = "Link copiat în clipboard";
     out.newButton = "Nou";
     out.newButtonTitle = "Crează un nou pad";
     out.saveTemplateButton = "Salvează ca șablon";
     out.saveTemplatePrompt = "Alege un titlu pentru șablon";
     out.templateSaved = "Șablon salvat!";
     out.selectTemplate = "Selectează un șablon sau apasă escape";
-    out.presentButtonTitle = "Intră n modul de prezentare";
+    out.presentButtonTitle = "Intră în modul de prezentare";
     out.presentSuccess = "Apasă ESC pentru a ieși din modul de prezentare";
     out.backgroundButtonTitle = "Schimbă culoarea de fundal din prezentare";
-    out.colorButtonTitle = "Schimbă culoarea textului n modul de prezentare";
+    out.colorButtonTitle = "Schimbă culoarea textului în modul de prezentare";
     out.printButton = "Printează (enter)";
-    out.printButtonTitle = "Printează-ți slide-urile sau exportă-le ca fișier  PDF";
+    out.printButtonTitle = "Printează-ți slide-urile sau exportă-le ca fișier PDF";
     out.printOptions = "Opțiuni schemă";
     out.printSlideNumber = "Afișează numărul slide-ului";
     out.printDate = "Afișează data";
@@ -91,13 +91,13 @@ define(function () {
     out.slideOptionsTitle = "Personalizează-ți slide-urile";
     out.slideOptionsButton = "Salvează (enter)";
     out.editShare = "Editează link-ul";
-    out.editShareTitle = "Copiază link-ul de editare n clipboard";
-    out.editOpen = "Deschide link-ul de editare ntr-o nouă filă";
-    out.editOpenTitle = "Deschide acest pad n modul de editare ntr-o nouă filă";
-    out.viewShare = "Link n modul citire";
-    out.viewShareTitle = "Copiază link-ul n modul de citire n clipboard";
-    out.viewOpen = "Deschide link-ul n modul de citire ntr-o filă nouă";
-    out.viewOpenTitle = "Deschide acest pad n modul de citire ntr-o nouă filă";
+    out.editShareTitle = "Copiază link-ul de editare în clipboard";
+    out.editOpen = "Deschide link-ul de editare într-o nouă filă";
+    out.editOpenTitle = "Deschide acest pad în modul de editare într-o nouă filă";
+    out.viewShare = "Link în modul citire";
+    out.viewShareTitle = "Copiază link-ul în modul de citire în clipboard";
+    out.viewOpen = "Deschide link-ul în modul de citire într-o filă nouă";
+    out.viewOpenTitle = "Deschide acest pad în modul de citire într-o nouă filă";
     out.notifyJoined = "{0} s-au alăturat sesiunii colaborative";
     out.notifyRenamed = "{0} e cunoscut ca {1}";
     out.notifyLeft = "{0} au părăsit sesiunea colaborativă";
@@ -112,13 +112,13 @@ define(function () {
     out.history_closeTitle = "Închide istoricul";
     out.history_restore = "Restabilește";
     out.history_restoreTitle = "Restabilește versiunea selectată a documentului";
-    out.history_restorePrompt = "Ești sigur că vrei să nlocuiești versiunea curentă a documentului cu cea afișată?";
+    out.history_restorePrompt = "Ești sigur că vrei să înlocuiești versiunea curentă a documentului cu cea afișată?";
     out.history_restoreDone = "Document restabilit";
     out.history_version = "Versiune:";
     out.poll_title = "Zero Knowledge Selector Dată";
     out.poll_subtitle = "Zero Knowledge, <em>realtime</em> programare";
     out.poll_p_save = "Setările tale sunt actualizate instant, așa că tu nu trebuie să salvezi.";
-    out.poll_p_encryption = "Tot conținutul tău este criptat ca doar persoanele cărora tu le dai link-ul să aibă acces. Nici chiar serverul nu poate să vadă ce modifici.";
+    out.poll_p_encryption = "Tot conținutul tău este criptat ca doar persoanele cărora tu le dai link-ul să aibă acces. Nici serverul nu poate să vadă ce modifici.";
     out.wizardLog = "Click pe butonul din dreapta sus pentru a te ntoarce la sondajul tău";
     out.wizardTitle = "Folosește wizard-ul pentru a crea sondajul tău";
     out.wizardConfirm = "Ești pregătit să adaugi aceste opțiuni la sondajul tău?";
@@ -131,14 +131,14 @@ define(function () {
     out.poll_closeWizardButtonTitle = "Închide wizard-ul";
     out.poll_wizardComputeButton = "Calculează Opțiunile";
     out.poll_wizardClearButton = "Curăță Tabelul";
-    out.poll_wizardDescription = "Crează automat un număr de opțiuni introducând orice număr de zile sau intervale orare";
+    out.poll_wizardDescription = "Crează automat un număr de opțiuni întroducând orice număr de zile sau intervale orare";
 
     out.poll_wizardAddDateButton = "+ Zi";
     out.poll_wizardAddTimeButton = "+ Ore";
     out.poll_optionPlaceholder = "Opțiune";
     out.poll_userPlaceholder = "Numele tău";
-    out.poll_removeOption = "Ești sigur că vrei să ndepărtezi această opțiune?";
-    out.poll_removeUser = "Ești sigur că vrei să ndepărtezi aceast utilizator?";
+    out.poll_removeOption = "Ești sigur că vrei să îndepărtezi această opțiune?";
+    out.poll_removeUser = "Ești sigur că vrei să îndepărtezi aceast utilizator?";
     out.poll_titleHint = "Titlu";
     out.poll_descriptionHint = "Descrie sondajul, și apoi folosește butonul 'publică' când ai terminat. Orice utilizator care are link-ul poate modifica descrierea, dar descurajăm această practică.";
     out.canvas_clear = "Curăță";
@@ -162,35 +162,35 @@ define(function () {
     out.fm_folderName = "Numele folderului";
     out.fm_numberOfFolders = "# de foldere";
     out.fm_numberOfFiles = "# of files";
-    out.fm_fileName = "File name";
+    out.fm_fileName = "Nume filă";
     out.fm_title = "Titlu";
     out.fm_type = "Tip";
     out.fm_lastAccess = "Ultima accesare";
     out.fm_creation = "Creare";
     out.fm_forbidden = "Acțiune interzisă";
     out.fm_originalPath = "Ruta inițială";
-    out.fm_openParent = "Arată n folder";
+    out.fm_openParent = "Arată în folder";
     out.fm_noname = "Document nedenumit";
     out.fm_emptyTrashDialog = "Ești sigur că vrei să golești coșul de gunoi?";
-    out.fm_removeSeveralPermanentlyDialog = "Ești sigur că vrei să ștergi pentru totdeauna aceste {0} elements din coșul de gunoi?";
+    out.fm_removeSeveralPermanentlyDialog = "Ești sigur că vrei să ștergi pentru totdeauna aceste {0} elemente din coșul de gunoi?";
     out.fm_removePermanentlyDialog = "Ești sigur că vrei să ștergi acest element pentru totdeauna?";
     out.fm_removeSeveralDialog = "Ești sigur că vrei să muți aceste {0} elemente la coșul de gunoi?";
     out.fm_removeDialog = "Ești sigur că vrei să muți {0} la gunoi?";
-    out.fm_restoreDialog = "Ești sigur că vrei să restabilești {0} n locația trecută?";
+    out.fm_restoreDialog = "Ești sigur că vrei să restabilești {0} în locația trecută?";
     out.fm_unknownFolderError = "Ultima locație vizitată sau cea selectată nu mai există. Deschidem fișierul părinte...";
-    out.fm_contextMenuError = "Nu putem deschide meniul de context pentru acest element. Dacă problema persistă, rencarcă pagina.";
-    out.fm_selectError = "Nu putem selecta elementul vizat. Dacă Unable to select the targeted element. Dacă problema persistă, rencarcă pagina.";
+    out.fm_contextMenuError = "Nu putem deschide meniul de context pentru acest element. Dacă problema persistă, reîncarcă pagina.";
+    out.fm_selectError = "Nu putem selecta elementul vizat. Dacă problema persistă, reîncarcă pagina.";
     out.fm_categoryError = "Nu putem deschide categoria selectată, afișează sursa.";
-    out.fm_info_root = "Crează câte foldere tip cuib ai nevoie pentru a ți sorta fișierele.";
-    out.fm_info_unsorted = "Conține toate fișierele pe care le-ai vizitat și nu sunt sortate n \"Documente\" sau mutate n \"Gunoi\".";
+    out.fm_info_root = "Crează câte foldere tip cuib ai nevoie pentru a-ți sorta fișierele.";
+    out.fm_info_unsorted = "Conține toate fișierele pe care le-ai vizitat și nu sunt sortate în \"Documente\" sau mutate în \"Gunoi\".";
     out.fm_info_template = "Conține toate pad-urile stocate ca șabloane și pe care le poți refolosi atunci când creezi un nou pad.";
     out.fm_info_trash = "Fișierele șterse din gunoi vor fi șterse și din \"Toate fișierele\", făcând imposibilă recuperarea fișierelor din managerul de fișiere.";
     out.fm_info_allFiles = "Conține toate fișierele din \"Documente\", \"Nesortate\" și \"Gunoi\". Poți să muți sau să ștergi fișierele aici.";
     out.fm_info_login = "Loghează-te";
     out.fm_info_register = "Înscrie-te";
     out.fm_info_anonymous = "Nu ești logat cu un cont valid așa că aceste pad-uri vor fi șterse (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">află de ce</a>). <a href=\"/register/\">Înscrie-te</a> sau <a href=\"/login/\">Loghează-te</a> pentru a le salva.";
-    out.fm_alert_backupUrl = "Link copie de rezervă pentru acest drive.<br> Este <strong>foarte recomandat</strong> să o păstrezi pentru tine.<br>Poți să o folosești pentru a recupera toate fișierele n cazul n care memoria browserului tău este șterge..<br>Oricine are linkul poate să editeze sau să ndepărteze toate fișierele din managerul tău de documente.<br>";
-    out.fm_alert_anonymous = "Salut, momentan folosești CryptPad n mod anonim. Este ok, doar că fișierele tale vor fi șterse după o perioadă de inactivitate. Am dezactivat caracteristicile avansate ale drive-ului pentru utilizatorii anonimi pentru a face clar faptul că stocare documentelor acolo nu este o metodă sigură. Poți să <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">citești mai multe</a> despre motivarea noastră și despre ce de trebuie să te <a href=\"/register/\">Înregistrezi</a> and <a href=\"/login/\">Loghezi</a>.";
+    out.fm_alert_backupUrl = "Link copie de rezervă pentru acest drive.<br> Este <strong>foarte recomandat</strong> să o păstrezi pentru tine.<br>Poți să o folosești pentru a recupera toate fișierele în cazul în care memoria browserului tău este șterge..<br>Oricine are linkul poate să editeze sau să îndepărteze toate fișierele din managerul tău de documente.<br>";
+    out.fm_alert_anonymous = "Salut, momentan folosești CryptPad în mod anonim. Este ok, doar că fișierele tale vor fi șterse după o perioadă de inactivitate. Am dezactivat caracteristicile avansate ale drive-ului pentru utilizatorii anonimi pentru a face clar faptul că stocare documentelor acolo nu este o metodă sigură. Poți să <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">citești mai multe</a> despre motivarea noastră și despre ce de trebuie să te <a href=\"/register/\">Înregistrezi</a> si sa te <a href=\"/login/\">Loghezi</a>.";
     out.fm_backup_title = "Link de backup";
     out.fm_nameFile = "Cum ai vrea să numești fișierul?";
     out.fc_newfolder = "Folder nou";
@@ -204,12 +204,12 @@ define(function () {
     out.fc_prop = "Proprietăți";
     out.fc_sizeInKilobytes = "Dimensiune n Kilobytes";
     out.fo_moveUnsortedError = "Nu poți să muți un folder la lista de pad-uri nesortate";
-    out.fo_existingNameError = "Numele ales este deja folosit n acest director. Te rugăm să alegi altul.";
-    out.fo_moveFolderToChildError = "Nu poți să muți un folder ntr-unul dintre descendenții săi";
-    out.fo_unableToRestore = "Nu am reușit să restaurăm fișierul n locația de origine. Poți să ncerci să l muți ntr-o nouă locație.";
-    out.fo_unavailableName = "Un fișier sau un folder cu același nume există deja n locația nouă. Redenumește elementul și ncearcă din nou.";
+    out.fo_existingNameError = "Numele ales este deja folosit în acest director. Te rugăm să alegi altul.";
+    out.fo_moveFolderToChildError = "Nu poți să muți un folder într-unul dintre descendenții săi";
+    out.fo_unableToRestore = "Nu am reușit să restaurăm fișierul în locația de origine. Poți să ncerci să îl muți într-o nouă locație.";
+    out.fo_unavailableName = "Un fișier sau un folder cu același nume există deja în locația nouă. Redenumește elementul și încearcă din nou.";
     out.login_login = "Loghează-te";
-    out.login_makeAPad = "Crează un pad n modul anonim";
+    out.login_makeAPad = "Crează un pad în modul anonim";
     out.login_nologin = "Răsfoiește pad-urile locale";
     out.login_register = "Înscrie-te";
     out.logoutButton = "Deloghează-te";
@@ -223,7 +223,7 @@ define(function () {
     out.login_helloNoName = "Salut,";
     out.login_accessDrive = "Acesează-ți drive-ul";
     out.login_orNoLogin = "sau";
-    out.login_noSuchUser = "Nume de utilizator sau parolă invalide. Încearcă din nou sau nscrie-te.";
+    out.login_noSuchUser = "Nume de utilizator sau parolă invalide. Încearcă din nou sau înscrie-te.";
     out.login_invalUser = "Nume utilizator cerut";
     out.login_invalPass = "Parolă cerută";
     out.login_unhandledError = "O eroare neașteptată a avut loc emoticon_unhappy";
@@ -231,12 +231,12 @@ define(function () {
     out.register_acceptTerms = "Accept <a href='/terms.html'>termenii serviciului</a>";
     out.register_passwordsDontMatch = "Parolele nu se potrivesc!";
     out.register_mustAcceptTerms = "Trebuie să accepți termenii serviciului";
-    out.register_mustRememberPass = "Nu putem să ți resetăm parola dacă o uiți. Este foarte important să o ții minte! Bifează căsuța pentru a confirma.";
-    out.register_header = "Bine ai venit n CryptPad";
-    out.register_explanation = "<p>Hai să stabilim câteva lucruri, mai ntâi</p><ul><li>Parola ta este cheia secretă care criptează toate pad-urile tale. Dacă pierzi/uiți parola nu există nici-o metodă prin care ți putem recupera datele.</li><li>Poți importa pad-uri care au fost vizionate recent n browser pentru a le avea n cont.</li><li>Dacă folosești un computer mpărțit, trebuie să te deloghezi, nchiderea taburilor nu este de ajuns.</li></ul>";
-    out.register_writtenPassword = "Mi-am notat numele de utilizator și parola, naintează.";
+    out.register_mustRememberPass = "Nu putem să îți resetăm parola dacă o uiți. Este foarte important să o ții minte! Bifează căsuța pentru a confirma.";
+    out.register_header = "Bine ai venit în CryptPad";
+    out.register_explanation = "<p>Hai să stabilim câteva lucruri, mai întâi</p><ul><li>Parola ta este cheia secretă care criptează toate pad-urile tale. Dacă pierzi/uiți parola nu există nici-o metodă prin care îți putem recupera datele.</li><li>Poți importa pad-uri care au fost vizionate recent în browser pentru a le avea în cont.</li><li>Dacă folosești un computer împărțit, trebuie să te deloghezi, închiderea taburilor nu este de ajuns.</li></ul>";
+    out.register_writtenPassword = "Mi-am notat numele de utilizator și parola, înaintează.";
     out.register_cancel = "Întoarce-te";
-    out.register_warning = "Zero Knowledge nseamnă că noi nu ți putem recupera datele dacă ți pierzi parola.";
+    out.register_warning = "Zero Knowledge înseamnă că noi nu îți putem recupera datele dacă îți pierzi parola.";
     out.register_alreadyRegistered = "Acest user există deja, vrei să te loghezi?";
     out.settings_title = "Setări";
     out.settings_save = "Salvează";
@@ -245,54 +245,54 @@ define(function () {
     out.settings_restore = "Restaurează";
     out.settings_resetTitle = "Curăță-ți drive-ul";
     out.settings_reset = "Îndepărtează toate fișierele și folderele din CryptPad-ul tău.";
-    out.settings_resetPrompt = "Această acțiune o să ndepărteze toate pad-urile din drive-ul tău.<br>Ești sigur că vrei să continui?<br>Type “<em>Iubesc CryptPad</em>” pentru a confirma.";
+    out.settings_resetPrompt = "Această acțiune va indepărta toate pad-urile din drive-ul tău.<br>Ești sigur că vrei să continui?<br>Tastează “<em>Iubesc CryptPad</em>” pentru a confirma.";
     out.settings_resetDone = "Drive-ul tău este acum gol!";
-    out.settings_resetError = "Text de verificare incorrect. CryptPad-ul tău nu a fost schimbat.";
-    out.settings_resetTips = "Sfaturi n CryptDrive";
-    out.settings_resetTipsButton = "Resetează sfaturile disponibile n CryptDrive";
+    out.settings_resetError = "Text de verificare incorect. CryptPad-ul tău nu a fost schimbat.";
+    out.settings_resetTips = "Sfaturi în CryptDrive";
+    out.settings_resetTipsButton = "Resetează sfaturile disponibile în CryptDrive";
     out.settings_resetTipsDone = "Toate sfaturile sunt vizibile din nou.";
     out.settings_importTitle = "Importă pad-urile recente ale acestui browser n CryptDrive-ul meu";
     out.settings_import = "Importă";
-    out.settings_importConfirm = "Ești sigur că vrei să imporți pad-urile recente ale acestui browser n contul tău de CryptDrive?";
+    out.settings_importConfirm = "Ești sigur că vrei să imporți pad-urile recente ale acestui browser în contul tău de CryptDrive?";
     out.settings_importDone = "Import complet";
-    out.settings_userFeedbackHint1 = "CryptPad oferă niște feedback foarte simplu serverului, pentru a ne informa cum putem să ți mbunătățim experiența voastră.";
-    out.settings_userFeedbackHint2 = "Conținutul pad-ului tău nu va fi mpărțit cu serverele.";
+    out.settings_userFeedbackHint1 = "CryptPad oferă niște feedback foarte simplu serverului, pentru a ne informa cum putem să îți îmbunătățim experiența voastră.";
+    out.settings_userFeedbackHint2 = "Conținutul pad-ului tău nu va fi împărțit cu serverele.";
     out.settings_userFeedback = "Activează feedback";
     out.settings_anonymous = "Nu ești logat. Setările sunt specifice browser-ului.";
     out.settings_publicSigningKey = "Cheia de semnătură publică";
     out.settings_usage = "Uzaj";
-    out.settings_usageTitle = "Vezi dimensiunea totală a pad-urilor fixate n MB";
-    out.settings_pinningNotAvailable = "Pad-urile fixate sunt disponibile doar utilizatorilor nregistrați.";
+    out.settings_usageTitle = "Vezi dimensiunea totală a pad-urilor fixate în MB";
+    out.settings_pinningNotAvailable = "Pad-urile fixate sunt disponibile doar utilizatorilor înregistrați.";
     out.settings_pinningError = "Ceva nu a funcționat";
     out.settings_usageAmount = "Pad-urile tale fixate ocupă {0}MB";
     out.settings_logoutEverywhereTitle = "Deloghează-te peste tot";
     out.settings_logoutEverywhere = "Deloghează-te din toate sesiunile web";
     out.settings_logoutEverywhereConfirm = "Ești sigur? Va trebui să te loghezi, din nou, pe toate device-urile tale.";
-    out.upload_serverError = "Eroare de server: fișierele tale nu pot fi ncărcate la momentul acesta.";
-    out.upload_uploadPending = "Ai deja o ncărcare n desfășurare. Anulezi si ncarci noul fișier?";
+    out.upload_serverError = "Eroare de server: fișierele tale nu pot fi încărcate la momentul acesta.";
+    out.upload_uploadPending = "Ai deja o încărcare în desfășurare. Anulezi și încarci noul fișier?";
     out.upload_success = "Fișierul tău ({0}) a fost ncărcat și adăugat la drive-ul tău cu succes.";
-    out.main_p2 = "Acest proiect folosește <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, și <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> un motor n timp real.";
-    out.main_howitworks_p1 = "CryptPad folosește o variantă a algoritmului de <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> care este capabil să găsescă consens distribuit folosind <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, o construcție popularizată de <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. Astfel algoritmul poate evita nevoia ca serverul central să rezove conflicte, iar serverul nu este interesat de conținutul care este editat n pad.";
-    out.main_about_p2 = "Dacă ai orice fel de ntrebare sau comentariu, poți să ne <a href=\"https://twitter.com/cryptpad\">dai un tweet</a>, semnalezi o problemă <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"index de probleme\">on github</a>, spui salut pe IRC (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), sau <a href=\"research@xwiki.com\">trimiți un email</a>.";
-    out.main_info = "<h1>Colaborează n siguranță</h1><br> Dezvoltă-ți ideile mpreună cu documente partajate n timp ce tehnologia <strong>Zero Knowledge</strong> ți păstrează securitatea; chiar și de noi.";
+    out.main_p2 = "Acest proiect folosește <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, și <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> un motor în timp real.";
+    out.main_howitworks_p1 = "CryptPad folosește o variantă a algoritmului de <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> care este capabil să găsescă consens distribuit folosind <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, o construcție popularizată de <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. Astfel algoritmul poate evita nevoia ca serverul central să rezove conflicte, iar serverul nu este interesat de conținutul care este editat în pad.";
+    out.main_about_p2 = "Dacă ai orice fel de întrebare sau comentariu, poți să ne <a href=\"https://twitter.com/cryptpad\">dai un tweet</a>, semnalezi o problemă <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"index de probleme\">on github</a>, spui salut pe IRC (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), sau <a href=\"research@xwiki.com\">trimiți un email</a>.";
+    out.main_info = "<h1>Colaborează n siguranță</h1><br> Dezvoltă-ți ideile împreună cu documente partajate în timp ce tehnologia <strong>Zero Knowledge</strong> îți păstrează securitatea; chiar și de noi.";
     out.main_howitworks = "Cum funcționează";
     out.main_zeroKnowledge = "Zero Knowledge";
-    out.main_zeroKnowledge_p = "Nu trebuie să ne crezi că <em>nu ne uităm</em> la pad-urile tale, cu tehnologia revoluționară Zero Knowledge a CryptPad <em>nu putem</em>. Învață mai multe despre cum ți protejăm Learn more about how we protect your <a href=\"/privacy.html\" title='Intimitatea'>Intimitate și Securitate</a>.";
+    out.main_zeroKnowledge_p = "Nu trebuie să ne crezi că <em>nu ne uităm</em> la pad-urile tale, cu tehnologia revoluționară Zero Knowledge a CryptPad <em>nu putem</em>. Învață mai multe despre cum îți protejăm <a href=\"/privacy.html\" title='Intimitatea'>Intimitate și Securitate</a>.";
     out.main_writeItDown = "Notează";
     out.main_writeItDown_p = "Cele mai importante proiecte vin din idei mici. Notează-ți momentele de inspirație și ideile neașteptate pentru că nu știi niciodată care ar putea fi noua mare descoperire.";
     out.main_share = "Partajează link-ul, partajează pad-ul";
-    out.main_share_p = "Dezvoltă-ți ideile mpreună: organizează ntâlniri eficiente, colaborează pe liste TODO și fă prezentări scurte cu toți prietenii tăi și device-urile tale.";
+    out.main_share_p = "Dezvoltă-ți ideile împreună: organizează întâlniri eficiente, colaborează pe liste TODO și fă prezentări scurte cu toți prietenii tăi și device-urile tale.";
     out.main_organize = "Organizează-te";
-    out.main_organize_p = "Cu CryptPad Drive, poți să stai cu ochii pe ce este important.  Folderele ți permit să ții evidența proiectelor tale și să ai o viziune globală asupra evoluției lucrurilor.";
+    out.main_organize_p = "Cu CryptPad Drive, poți să stai cu ochii pe ce este important.  Folderele îți permit să ții evidența proiectelor tale și să ai o viziune globală asupra evoluției lucrurilor.";
     out.tryIt = "Testează!";
     out.main_richText = "Rich Text editor";
-    out.main_richText_p = "Editează texte complexe n mod colaborativ cu Zero Knowledge n timp real. <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application.";
+    out.main_richText_p = "Editează texte complexe în mod colaborativ cu Zero Knowledge în timp real. <a href=\"http://ckeditor.com\" target=\"_blank\">CkEditor</a> application.";
     out.main_code = "Editor cod";
-    out.main_code_p = "Editează cod din softul tău, n mod colaborativ, cu Zero Knowledge n timp real.<a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application.";
+    out.main_code_p = "Editează cod din softul tău, în mod colaborativ, cu Zero Knowledge în timp real.<a href=\"https://www.codemirror.net\" target=\"_blank\">CodeMirror</a> application.";
     out.main_slide = "Editor slide-uri";
-    out.main_slide_p = "Crează-ți prezentări folosind sintaxa Markdown, și afișează-le n browser-ul tău.";
+    out.main_slide_p = "Crează-ți prezentări folosind sintaxa Markdown, și afișează-le în browser-ul tău.";
     out.main_poll = "Sondaj";
-    out.main_poll_p = "Plănuiește ntâlniri sau evenimente, sau votează pentru cea mai bună soluție pentru problema ta.";
+    out.main_poll_p = "Plănuiește întâlniri sau evenimente, sau votează pentru cea mai bună soluție pentru problema ta.";
     out.main_drive = "CryptDrive";
     out.footer_applications = "Aplicații";
     out.footer_contact = "Contact";
@@ -304,47 +304,47 @@ define(function () {
     out.blog = "Blog";
     out.policy_title = "Politica de confidențialitate CryptPad";
     out.policy_whatweknow = "Ce știm despre tine";
-    out.policy_whatweknow_p1 = "Ca o aplicație care este găzduită online, CryptPad are acces la metadatele expuse de protocolul HTTP. Asta include adresa IP-ului tău, și alte titluri HTTP care pot fi folosite ca să identifice un browser. Poți să vezi ce informații mpărtășește browser-ul tău vizitând <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>.";
+    out.policy_whatweknow_p1 = "Ca o aplicație care este găzduită online, CryptPad are acces la metadatele expuse de protocolul HTTP. Asta include adresa IP-ului tău, și alte titluri HTTP care pot fi folosite ca să identifice un browser. Poți să vezi ce informații împărtășește browser-ul tău vizitând <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending\" title=\"what http headers is my browser sending\">WhatIsMyBrowser.com</a>.";
     out.policy_whatweknow_p2 = "Folosim <a href=\"https://www.elastic.co/products/kibana\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"platforma de analiză open source\">Kibana</a>, o platformă open source, pentru a afla mai multe despre utilizatorii noștri. Kibana ne spune despre cum ai găsit CryptPad, căutare  directă, printr-un motor de căutare, sau prin recomandare de la un alt serviciu online ca Reddit sau Twitter.";
     out.policy_howweuse = "Cum folosim ce aflăm";
-    out.policy_howweuse_p1 = "Folosim aceste informații pentru a lua decizii mai bune n promovarea CryptPad, prin evaluarea eforturilor trecute care au fost de succes. Informațiile despre locația ta ne ajută să aflăm dacă ar trebui să oferim suport pentru alte limbi, pe lângă engleză.";
-    out.policy_howweuse_p2 = "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoare mbunătățiri. Echipa noastră de development este mică, și ncercăm să facem alegeri care să mbunătățească experiența câtor mai mulți utilizatori.";
+    out.policy_howweuse_p1 = "Folosim aceste informații pentru a lua decizii mai bune în promovarea CryptPad, prin evaluarea eforturilor trecute care au fost de succes. Informațiile despre locația ta ne ajută să aflăm dacă ar trebui să oferim suport pentru alte limbi, pe lângă engleză.";
+    out.policy_howweuse_p2 = "Informațiile despre browser-ul tău (dacă este bazat pe un sistem de operare desktop sau mobil) ne ajută să luăm decizii când prioritizăm viitoarele îmbunătățiri. Echipa noastră de dezvoltare este mică, și încercăm să facem alegeri care să îmbunătățească experiența câtor mai mulți utilizatori.";
 
     out.policy_whatwetell = "Ce le spunem altora despre tine";
-    out.policy_whatwetell_p1 = "Nu furnizăm informațiile obținute terților, decât dacă ne este cerut n mod legal.";
+    out.policy_whatwetell_p1 = "Nu furnizăm informațiile obținute terților, decât dacă ne este cerut în mod legal.";
     out.policy_links = "Link-uri către alte site-uri";
     out.policy_links_p1 = "Acest site conține link-uri către alte site-uri, incluzându-le pe cele produse de alte organizații. Nu suntem responsabili pentru practicile de intimitate sau pentru conținutul site-urilor externe. Ca regulă generală, link-urile către site-uri externe sunt deschise ntr-o fereastră noup, pentru a face clar faptul că părăsiți CryptPad.fr.";
     out.policy_ads = "Reclame";
     out.policy_ads_p1 = "Nu afișăm nici o formă de publicitate online, dar s-ar putea să atașăm link-uri către instituțiile care ne finanțează cerecetarea.";
     out.policy_choices = "Ce alegeri ai";
     out.policy_choices_open = "Codul nostru este open source, așa că tu ai mereu posibilitatea de a-ți găzdui propria instanță de CryptPad.";
-    out.policy_choices_vpn = "Dacă vrei să folosești instanța găzduită de noi, dar nu vrei să ți expui IP-ul, poți să l protejezi folosind <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, sau <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>.";
+    out.policy_choices_vpn = "Dacă vrei să folosești instanța găzduită de noi, dar nu vrei să îți expui IP-ul, poți să îl protejezi folosind <a href=\"https://www.torproject.org/projects/torbrowser.html.en\" title=\"downloads from the Tor project\" target=\"_blank\" rel=\"noopener noreferrer\">Tor browser bundle</a>, sau <a href=\"https://riseup.net/en/vpn\" title=\"VPNs provided by Riseup\" target=\"_blank\" rel=\"noopener noreferrer\">VPN</a>.";
     out.policy_choices_ads = "Dacă vrei doar să blochezi platforma noastră de analiză, poți folosi soluții de adblocking ca <a href=\"https://www.eff.org/privacybadger\" title=\"download privacy badger\" target=\"_blank\" rel=\"noopener noreferrer\">Privacy Badger</a>.";
     out.tos_title = "CryptPad Termeni de Utilizare";
     out.tos_legal = "Te rugăm să nu fii rău intenționat, abuziv, sau să faci orice ilegal.";
-    out.tos_availability = "Sperăm că o să găsești acest serviciu util, dar disponibilitatea sau performanța nu poate fi garantată. Te rugăm să ți exporți datele n mod regulat.";
-    out.tos_e2ee = "Conținutul CryptPad poate fi citit sau modificat de oricine care poate ghici sau obține fragmentul identificator al pad-ului. Recomandăm să folosești soluții de comunicare criptate end-to-end-encrypted (e2ee) pentru a partaja link-uri, evitând orice risc n cazul unei scurgeri de informații.";
-    out.tos_logs = "Metadatele oferite de browser-ul tău serverului ar putea fi nscrise n scopul de a menține serviciul.";
+    out.tos_availability = "Sperăm că o să găsești acest serviciu util, dar disponibilitatea sau performanța nu poate fi garantată. Te rugăm să îți exporți datele n mod regulat.";
+    out.tos_e2ee = "Conținutul CryptPad poate fi citit sau modificat de oricine care poate ghici sau obține fragmentul identificator al pad-ului. Recomandăm să folosești soluții de comunicare criptate end-to-end-encrypted (e2ee) pentru a partaja link-uri, evitând orice risc în cazul unei scurgeri de informații.";
+    out.tos_logs = "Metadatele oferite de browser-ul tău serverului ar putea fi înscrise în scopul de a menține serviciul.";
     out.tos_3rdparties = "Nu oferim date personale terților, decât dacă ne sunt solicitate prin lege.";
     out.bottom_france = "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Realizat cu <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> n <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" alt=\"Franța\" /></a>";
     out.bottom_support = "<a href=\"http://labs.xwiki.com/\" title=\"XWiki Labs\" target=\"_blank\" rel=\"noopener noreferrer\">Un proiect al <img src=\"/customize/logo-xwiki2.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/> Labs Project </a> cu susținerea <a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>";
     out.header_france = "<a href=\"http://www.xwiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">With <img class=\"bottom-bar-heart\" src=\"/customize/heart.png\" alt=\"love\" /> from <img class=\"bottom-bar-fr\" src=\"/customize/fr.png\" title=\"Franța\" alt=\"Franța\"/> by <img src=\"/customize/logo-xwiki.png\" alt=\"XWiki SAS\" class=\"bottom-bar-xwiki\"/></a>";
     out.header_support = "<a href=\"http://ng.open-paas.org/\" title=\"OpenPaaS::ng\" target=\"_blank\" rel=\"noopener noreferrer\"> <img src=\"/customize/openpaasng.png\" alt=\"OpenPaaS-ng\" class=\"bottom-bar-openpaas\" /></a>";
     out.header_logoTitle = "Mergi la pagina principală";
-    out.initialState = "<span style=\"font-size:16px;\"><p>Acesta este&nbsp;<strong>CryptPad</strong>, editorul colaborativ bazat pe tehnologia Zero Knowledge n timp real. Totul este salvat pe măsură ce scrii.<br>Partajează link-ul către acest pad pentru a edita cu prieteni sau folosește <span style=\"background-color:#5cb85c;color:#ffffff;\">&nbsp;Share&nbsp;</span> butonul pentru a partaja <em>read-only link</em>&nbsp;permițând vizualizarea dar nu și editarea.</p><p><span style=\"color:#808080;\"><em>Îndrăznește, ncepe să scrii...</em></span></p></span><p>&nbsp;<br></p>";
+    out.initialState = "<span style=\"font-size:16px;\"><p>Acesta este&nbsp;<strong>CryptPad</strong>, editorul colaborativ bazat pe tehnologia Zero Knowledge în timp real. Totul este salvat pe măsură ce scrii.<br>Partajează link-ul către acest pad pentru a edita cu prieteni sau folosește <span style=\"background-color:#5cb85c;color:#ffffff;\">&nbsp;Share&nbsp;</span> butonul pentru a partaja <em>read-only link</em>&nbsp;permițând vizualizarea dar nu și editarea.</p><p><span style=\"color:#808080;\"><em>Îndrăznește, începe să scrii...</em></span></p></span><p>&nbsp;<br></p>";
     out.codeInitialState = "/*\n   Acesta este editorul colaborativ de cod bazat pe tehnologia Zero Knowledge CryptPad.\n   Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n   Poți să alegi ce limbaj de programare pus n evidență și schema de culori UI n dreapta sus.\n*/";
-    out.slideInitialState = "# CryptSlide\n* Acesta este un editor colaborativ bazat pe tehnologia Zero Knowledge.\n* Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n* Nici măcar serverele nu au acces la ce scrii tu.\n* Ce vezi aici, ce auzi aici, atunci când pleci, lasă aici.\n\n-\n# Cum se folosește\n1. Scrie-ți conținutul slide-urilor folosind sintaxa markdown\n  - Află mai multe despre sintaxa markdown [aici](http://www.markdowntutorial.com/)\n2. Separă-ți slide-urile cu -\n3. Click pe butonul \"Play\" pentru a vedea rezultatele  - Slide-urile tale sunt actualizate n timp real.";
+    out.slideInitialState = "# CryptSlide\n* Acesta este un editor colaborativ bazat pe tehnologia Zero Knowledge.\n* Ce scrii aici este criptat, așa că doar oamenii care au link-ul pot să-l acceseze.\n* Nici măcar serverele nu au acces la ce scrii tu.\n* Ce vezi aici, ce auzi aici, atunci când pleci, lași aici.\n\n-\n# Cum se folosește\n1. Scrie-ți conținutul slide-urilor folosind sintaxa markdown\n  - Află mai multe despre sintaxa markdown [aici](http://www.markdowntutorial.com/)\n2. Separă-ți slide-urile cu -\n3. Click pe butonul \"Play\" pentru a vedea rezultatele  - Slide-urile tale sunt actualizate în timp real.";
     out.driveReadmeTitle = "Ce este CryptDrive?";
     out.readme_welcome = "Bine ai venit n CryptPad !";
-    out.readme_p1 = "Bine ai venit n CryptPad, acesta este locul unde ți poți lua notițe, singur sau cu prietenii.";
-    out.readme_p2 = "Acest pad o să ți ofere un scurt ghid n cum poți să folosești CryptPad pentru a lua notițe, a le ține organizate și a colabora pe ele.";
+    out.readme_p1 = "Bine ai venit în CryptPad, acesta este locul unde îți poți lua notițe, singur sau cu prietenii.";
+    out.readme_p2 = "Acest pad o să îți ofere un scurt ghid în cum poți să folosești CryptPad pentru a lua notițe, a le ține organizate și a colabora pe ele.";
     out.readme_cat1 = "Descoperă-ți CryptDrive-ul";
     out.readme_cat1_l1 = "Crează un pad: În CryptDrive-ul tău, dă click {0} apoi {1} și poți să creezi un pad.";
     out.readme_cat1_l2 = "Deschide pad-urile din CryptDrive-ul tău: doublu-click pe iconița unui pad pentru a-l deschide.";
-    out.readme_cat1_l3 = "Organizează-ți pad-urile: Când ești logat, orice pad accesezi va fi afișat ca n secțiunea {0} a drive-ului tău.";
-    out.readme_cat1_l3_l1 = "Poți să folosești funcția click and drag pentru a muta fișierele n folderele secțiunii {0} a drive-ului tău și pentru a crea noi foldere.";
-    out.readme_cat1_l3_l2 = "Ține minte să ncerci click-dreapta pe iconițe pentru că există și meniuri adiționale.";
-    out.readme_cat1_l4 = "Pune pad-urile vechi n gunoi. Poți să folosești funcția click and drag pe pad-uri n categoria {0} la fel ca și n cazul folderelor.";
+    out.readme_cat1_l3 = "Organizează-ți pad-urile: Când ești logat, orice pad accesezi va fi afișat ca în secțiunea {0} a drive-ului tău.";
+    out.readme_cat1_l3_l1 = "Poți să folosești funcția click and drag pentru a muta fișierele în folderele secțiunii {0} a drive-ului tău și pentru a crea noi foldere.";
+    out.readme_cat1_l3_l2 = "Ține minte să încerci click-dreapta pe iconițe pentru că există și meniuri adiționale.";
+    out.readme_cat1_l4 = "Pune pad-urile vechi în gunoi. Poți să folosești funcția click and drag pe pad-uri în categoria {0} la fel ca și în cazul folderelor.";
     out.readme_cat2 = "Crează pad-uri ca un profesionist";
     out.edit = "editează";
     out.view = "vezi";
@@ -361,11 +361,11 @@ define(function () {
     out.tips.indentare = "În listele cu bulină sau cele numerotate, poți folosi  tab sau shift+tab pentru a mări sau micșora indentarea.";
     out.tips.titlu = "Poți seta titlul pad-urilor tale prin click pe centru sus.";
     out.tips.stocare = "De fiecare dată când vizitezi un pad, dacă ești logat va fi salvat pe CryptDrive-ul tău.";
-    out.tips.marker = "Poți sublinia text ntr-un pad folosind itemul \"marker\" n meniul de stiluri.";
+    out.tips.marker = "Poți sublinia text într-un pad folosind itemul \"marker\" n meniul de stiluri.";
 
-    out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când ntreprinzi anumite acțiuni";
-    out.feedback_privacy = "Ne pasă de intimitatea ta, si n același timp vrem să păstrăm CryptPad ușor de folosit.  Folosim acest fișier pentru a ne da seama care beneficii UI contează cel mai mult pentru utilizatori, cerându-l alături de un parametru specific atunci când acțiunea se desfășoară";
+    out.feedback_about = "Dacă citești asta, probabil că ești curios de ce CryptPad cere pagini web atunci când întreprinzi anumite acțiuni";
+    out.feedback_privacy = "Ne pasă de intimitatea ta, si în același timp vrem să păstrăm CryptPad ușor de folosit.  Folosim acest fișier pentru a ne da seama care beneficii UI contează cel mai mult pentru utilizatori, cerându-l alături de un parametru specific atunci când acțiunea se desfășoară";
     out.feedback_optout = "Dacă vrei să ieși, vizitează <a href='/settings/'>setările de pe pagina ta de user</a>, unde vei găsi o căsuță pentru a activa sau dezactiva feedback-ul de la user";
 
     return out;
-});
\ No newline at end of file
+});

From cf658c1b3ab3df508a16731906e291cc80be8530 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 26 May 2017 12:41:30 +0200
Subject: [PATCH 160/236] backport live changes

---
 www/code/main.js              | 17 ++++++++++++++---
 www/common/common-util.js     |  9 +++++++++
 www/common/cryptpad-common.js |  1 +
 3 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/www/code/main.js b/www/code/main.js
index fa6ecf12b..d82d73273 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -110,6 +110,18 @@ define([
                 return stringify(obj);
             };
 
+            var forceDrawPreview = function () {
+                try {
+                    DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
+                } catch (e) { console.error(e); }
+            };
+
+            var drawPreview = Cryptpad.throttle(function () {
+                if (CodeMirror.highlightMode !== 'markdown') { return; }
+                if (!$previewContainer.is(':visible')) { return; }
+                forceDrawPreview();
+            }, 150);
+
             var onLocal = config.onLocal = function () {
                 if (initializing) { return; }
                 if (isHistoryMode) { return; }
@@ -117,7 +129,7 @@ define([
 
                 editor.save();
 
-                DiffMd.apply(DiffMd.render(editor.getValue()), $preview);
+                drawPreview();
 
                 var textValue = canonicalize(CodeMirror.$textarea.val());
                 var shjson = stringifyInner(textValue);
@@ -324,14 +336,13 @@ define([
                 var hjson = JSON.parse(shjson);
                 var remoteDoc = hjson.content;
 
-                DiffMd.apply(DiffMd.render(remoteDoc), $preview);
-
                 var highlightMode = hjson.highlightMode;
                 if (highlightMode && highlightMode !== APP.highlightMode) {
                     CodeMirror.setMode(highlightMode, onModeChanged);
                 }
 
                 CodeMirror.setValueAndCursor(oldDoc, remoteDoc, TextPatcher);
+                drawPreview();
 
                 if (!readOnly) {
                     var textValue = canonicalize(CodeMirror.$textarea.val());
diff --git a/www/common/common-util.js b/www/common/common-util.js
index 6fb2ad7bb..debbd8e2d 100644
--- a/www/common/common-util.js
+++ b/www/common/common-util.js
@@ -122,5 +122,14 @@ define([], function () {
         xhr.send(null);
     };
 
+    Util.throttle = function (f, ms) {
+        var to;
+        var g = function () {
+            window.clearTimeout(to);
+            to = window.setTimeout(f, ms);
+        };
+        return g;
+    };
+
     return Util;
 });
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 730a7984f..20927dc04 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -71,6 +71,7 @@ define([
     common.bytesToMegabytes = Util.bytesToMegabytes;
     common.bytesToKilobytes = Util.bytesToKilobytes;
     common.fetch = Util.fetch;
+    common.throttle = Util.throttle;
 
     // import hash utilities for export
     var createRandomHash = common.createRandomHash = Hash.createRandomHash;

From 57017c68fa2169644ff721fb4c9af253ba9112b2 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 26 May 2017 12:42:12 +0200
Subject: [PATCH 161/236] hacks for cross-domain safari

---
 www/common/fsStore.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/fsStore.js b/www/common/fsStore.js
index b20c38c48..08a1a8fa3 100644
--- a/www/common/fsStore.js
+++ b/www/common/fsStore.js
@@ -172,7 +172,7 @@ define([
             if (typeof(proxy.loginToken) !== 'number') {
                 proxy[tokenKey] = Math.floor(Math.random()*Number.MAX_SAFE_INTEGER);
             }
-
+            if (sessionStorage) { sessionStorage.setItem('User_hash', localStorage.getItem('User_hash')); }
             var localToken = tryParsing(localStorage.getItem(tokenKey));
             if (localToken === null) {
                 // if that number hasn't been set to localStorage, do so.

From 2ecf257fcdcadd65ea17c0e9f7b3678fb2b39c03 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Fri, 26 May 2017 15:30:01 +0200
Subject: [PATCH 162/236] Sync localStorage with sessionStorage in auth because
 safari...

---
 www/auth/main.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/www/auth/main.js b/www/auth/main.js
index 488165911..747434c23 100644
--- a/www/auth/main.js
+++ b/www/auth/main.js
@@ -18,6 +18,9 @@ define([
         /^http(s)?:\/\/localhost\:/
     ];
 
+    // Safari is weird about localStorage in iframes but seems to let sessionStorage slide.
+    localStorage.User_hash = localStorage.User_hash || sessionStorage.User_hash;
+
     Cryptpad.ready(function () {
         console.log('IFRAME READY');
         $(window).on("message", function (jqe) {

From 0559b8cb775584f341fd84ec93809c3429d21a9d Mon Sep 17 00:00:00 2001
From: superniko <ge.nikolic@gmail.com>
Date: Fri, 26 May 2017 16:47:45 +0300
Subject: [PATCH 163/236] Update messages.ro.js

---
 customize.dist/translations/messages.ro.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/customize.dist/translations/messages.ro.js b/customize.dist/translations/messages.ro.js
index 2c09b9a76..75c1c5852 100644
--- a/customize.dist/translations/messages.ro.js
+++ b/customize.dist/translations/messages.ro.js
@@ -274,7 +274,7 @@ define(function () {
     out.main_p2 = "Acest proiect folosește <a href=\"http://ckeditor.com/\">CKEditor</a> Visual Editor, <a href=\"https://codemirror.net/\">CodeMirror</a>, și <a href=\"https://github.com/xwiki-contrib/chainpad\">ChainPad</a> un motor în timp real.";
     out.main_howitworks_p1 = "CryptPad folosește o variantă a algoritmului de <a href=\"https://en.wikipedia.org/wiki/Operational_transformation\">Operational transformation</a> care este capabil să găsescă consens distribuit folosind <a href=\"https://bitcoin.org/bitcoin.pdf\">Nakamoto Blockchain</a>, o construcție popularizată de <a href=\"https://en.wikipedia.org/wiki/Bitcoin\">Bitcoin</a>. Astfel algoritmul poate evita nevoia ca serverul central să rezove conflicte, iar serverul nu este interesat de conținutul care este editat în pad.";
     out.main_about_p2 = "Dacă ai orice fel de întrebare sau comentariu, poți să ne <a href=\"https://twitter.com/cryptpad\">dai un tweet</a>, semnalezi o problemă <a href=\"https://github.com/xwiki-labs/cryptpad/issues/\" title=\"index de probleme\">on github</a>, spui salut pe IRC (<a href=\"http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7\" title=\"freenode webchat\">irc.freenode.net</a>), sau <a href=\"research@xwiki.com\">trimiți un email</a>.";
-    out.main_info = "<h1>Colaborează n siguranță</h1><br> Dezvoltă-ți ideile împreună cu documente partajate în timp ce tehnologia <strong>Zero Knowledge</strong> îți păstrează securitatea; chiar și de noi.";
+    out.main_info = "<h1>Colaborează în siguranță</h1><br> Dezvoltă-ți ideile împreună cu documentele partajate în timp ce tehnologia <strong>Zero Knowledge</strong> îți păstrează securitatea; chiar și de noi.";
     out.main_howitworks = "Cum funcționează";
     out.main_zeroKnowledge = "Zero Knowledge";
     out.main_zeroKnowledge_p = "Nu trebuie să ne crezi că <em>nu ne uităm</em> la pad-urile tale, cu tehnologia revoluționară Zero Knowledge a CryptPad <em>nu putem</em>. Învață mai multe despre cum îți protejăm <a href=\"/privacy.html\" title='Intimitatea'>Intimitate și Securitate</a>.";

From 66520b60413a515454439da15715027478497885 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Fri, 26 May 2017 18:09:31 +0200
Subject: [PATCH 164/236] cleaned up the accounts, limits and revenue sharing
 and unified the config in one place

---
 config.example.js                       | 49 ++++++++++++++++++++-----
 customize.dist/application_config.js    |  2 -
 customize.dist/translations/messages.js |  1 +
 rpc.js                                  |  9 ++++-
 server.js                               |  1 +
 www/common/cryptpad-common.js           | 11 ++++--
 www/common/toolbar.js                   |  6 ++-
 www/common/toolbar2.js                  |  6 ++-
 www/drive/main.js                       | 12 +++---
 9 files changed, 70 insertions(+), 27 deletions(-)

diff --git a/config.example.js b/config.example.js
index fe3f2fb91..a0f3003e0 100644
--- a/config.example.js
+++ b/config.example.js
@@ -116,11 +116,46 @@ module.exports = {
         'contact',
     ],
 
-    /*  Domain
-     *  If you want to have enable payments on your CryptPad instance, it has to be able to tell
-     *  our account server what is your domain
+    /*  Limits, Subscriptions and Contact
+     *
+     *  CryptPad limits every registered user to 50MB of storage.
+     *  By default it also allows that limit to be increased by subscribing at accounts.cryptpad.fr
+     *  You can either:
+     *    A: Hide the button for subscribing, so everyone is limited to 50MB
+     *    B: Support cryptpad and share 50% of the revenue earned on your instance
+     * 
+     *  CryptPad is developed by people who need to live and who deserve an equivilent life to
+     *  what they would get at a company which monitizes user data. However, we intend to have
+     *  a mutually positive relationship with every one of our users, including you. If you are
+     *  getting value from CryptPad, you should be giving equal value back.
+     * 
+     *  If you are using CryptPad in a business context, please consider taking a support contract
+     *  by contacting sales@cryptpad.fr
+     * 
+     *  If you choose A, set this variable to true to hide the subscription button.
      */
-    // domain: 'https://cryptpad.fr',
+    noSubscriptionButton: false,
+    /*
+     *  If you choose B, set the domain of your cryptpad instance here and then contact
+     *  sales@cryptpad.fr and tell us your domain, we will tell you what is needed to get paid.
+     */
+    myDomain: 'i.did.not.read.my.config.cryptpad.myserver.tld',
+    /*
+     *  If you are using CryptPad internally and you want to increase the per-user storage limit,
+     *  change the following value.
+     *  Please note: Providing a public offer that is better than cryptpad.fr is an attack on
+     *    the project. Please leave this alone if you are providing a public service.
+     */
+    defaultStorageLimit: 50 * 1024 * 1024,
+    /*
+     *  By default, CryptPad contacts our accounts server once a day to check for changes in the
+     *  people who have accounts. This check-in will also send your email and the version of
+     *  CryptPad you run so we can reach you if we are aware of a serious problem with your
+     *  CryptPad instance. We will never sell it or use it for marketing. If you want to block this
+     *  check-in and remain completely private, set this to false and noSubscriptionButton to true.
+     */
+    adminEmail: 'i.did.not.read.my.config@cryptpad.fr',
+
 
     /*
         You have the option of specifying an alternative storage adaptor.
@@ -211,12 +246,6 @@ module.exports = {
      */
     //restrictUploads: false,
 
-    /*  Default user storage limit (bytes)
-     *  if you don't want to limit users,
-     *  you can set this to the size of your hard disk
-     */
-    defaultStorageLimit: 50 * 1024 * 1024,
-
     /*  Max Upload Size (bytes)
      *  this sets the maximum size of any one file uploaded to the server.
      *  anything larger than this size will be rejected
diff --git a/customize.dist/application_config.js b/customize.dist/application_config.js
index 24ed2c740..151a8b7da 100644
--- a/customize.dist/application_config.js
+++ b/customize.dist/application_config.js
@@ -37,8 +37,6 @@ define(function() {
 
     config.enableHistory = true;
 
-    config.enablePinLimit = true;
-
     /*  user passwords are hashed with scrypt, and salted with their username.
         this value will be appended to the username, causing the resulting hash
         to differ from other CryptPad instances if customized. This makes it
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 751cf3633..d39407194 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -78,6 +78,7 @@ define(function () {
     out.updated_0_pinLimitReachedAlert = "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>" +
         'You can either remove pads from your CryptDrive or <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">subscribe to a premium offer</a> to increase your limit.';
     out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert;
+    out.pinLimitReachedAlertNoAccounts = out.pinLimitReached;
     out.pinAboveLimitAlert = 'As of this release, we are imposing a 50MB limit on free data storage and you are currently using {0}. You will need to either delete some pads or subscribe on <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Your contribution will help us improve CryptPad and spread Zero Knowledge. Please contact <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> if you have any other questions.';
     out.pinLimitNotPinned = "You've reached your storage limit.<br>"+
                             "This pad is not stored in your CryptDrive.";
diff --git a/rpc.js b/rpc.js
index 0257c498f..45be04cc7 100644
--- a/rpc.js
+++ b/rpc.js
@@ -1,4 +1,5 @@
 /*@flow*/
+/*jshint esversion: 6 */
 /*  Use Nacl for checking signatures of messages */
 var Nacl = require("tweetnacl");
 
@@ -8,6 +9,7 @@ var Nacl = require("tweetnacl");
 var Fs = require("fs");
 var Path = require("path");
 var Https = require("https");
+const Package = require('./package.json');
 
 var RPC = module.exports;
 
@@ -371,6 +373,7 @@ var getHash = function (Env, publicKey, cb) {
 // To each key is associated an object containing the 'limit' value and a 'note' explaining that limit
 var limits = {};
 var updateLimits = function (config, publicKey, cb) {
+    if (config.adminEmail === false && config.noSubscriptionButton === true) { return; }
     if (typeof cb !== "function") { cb = function () {}; }
 
     var defaultLimit = typeof(config.defaultStorageLimit) === 'number'?
@@ -382,8 +385,10 @@ var updateLimits = function (config, publicKey, cb) {
     }
 
     var body = JSON.stringify({
-        domain: config.domain,
-        subdomain: config.subdomain
+        domain: config.myDomain,
+        subdomain: config.mySubdomain,
+        adminEmail: config.adminEmail,
+        version: Package.version
     });
     var options = {
         host: 'accounts.cryptpad.fr',
diff --git a/server.js b/server.js
index 037a8adeb..e2527fa7d 100644
--- a/server.js
+++ b/server.js
@@ -121,6 +121,7 @@ app.get('/api/config', function(req, res){
             waitSeconds: 60,
             urlArgs: 'ver=' + Package.version + (DEV_MODE? '-' + (+new Date()): ''),
         },
+        noSubscriptionButton: (config.noSubscriptionButton === true),
         websocketPath: config.useExternalWebsocket ? undefined : config.websocketPath,
         websocketURL:'ws' + ((useSecureWebsockets) ? 's' : '') + '://' + host + ':' +
             websocketPort + '/cryptpad_websocket',
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 5214fcc3b..ae73867de 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -599,7 +599,7 @@ define([
                 var data = makePad(href, name);
                 getStore().pushData(data, function (e) {
                     if (e) {
-                        if (e === 'E_OVER_LIMIT' && AppConfig.enablePinLimit) {
+                        if (e === 'E_OVER_LIMIT') {
                             common.alert(Messages.pinLimitNotPinned, null, true);
                             return;
                         }
@@ -761,7 +761,7 @@ define([
     };
 
     common.isOverPinLimit = function (cb) {
-        if (!common.isLoggedIn() || !AppConfig.enablePinLimit) { return void cb(null, false); }
+        if (!common.isLoggedIn()) { return void cb(null, false); }
         var usage;
         var andThen = function (e, limit, plan) {
             if (e) { return void cb(e); }
@@ -817,7 +817,10 @@ define([
             var width = Math.floor(Math.min(quota, 1)*200); // the bar is 200px width
             var $usage = $('<span>', {'class': 'usage'}).css('width', width+'px');
 
-            if ((quota >= 0.8 || alwaysDisplayUpgrade) && data.plan !== "power") {
+            if (Config.noSubscriptionButton !== true &&
+                (quota >= 0.8 || alwaysDisplayUpgrade) &&
+                data.plan !== "power")
+            {
                 var origin = encodeURIComponent(window.location.hostname);
                 var $upgradeLink = $('<a>', {
                     href: "https://accounts.cryptpad.fr/#!on=" + origin,
@@ -845,7 +848,7 @@ define([
             else if (quota < 1) { $usage.addClass('warning'); }
             else {
                 $usage.addClass('above');
-                if (!limitReachedDisplayed) {
+                if (!limitReachedDisplayed && Config.noSubscriptionButton === true) {
                     limitReachedDisplayed = true;
                     common.alert(Messages._getKey('pinAboveLimitAlert', [prettyUsage, encodeURIComponent(window.location.hostname)]), null, true);
                 }
diff --git a/www/common/toolbar.js b/www/common/toolbar.js
index 6920c0b0d..bf08fcb07 100644
--- a/www/common/toolbar.js
+++ b/www/common/toolbar.js
@@ -500,8 +500,12 @@ define([
             var todo = function (e, overLimit) {
                 if (e) { return void console.error("Unable to get the pinned usage"); }
                 if (overLimit) {
+                    var message = Messages.pinLimitReachedAlert;
+                    if (ApiConfig.noSubscriptionButton === true) {
+                        message = Messages.pinLimitReachedAlertNoAccounts;
+                    }
                     $limit.show().click(function () {
-                        Cryptpad.alert(Messages.pinLimitReachedAlert, null, true);
+                        Cryptpad.alert(message, null, true);
                     });
                 }
             };
diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js
index 57d113a48..a17e24199 100644
--- a/www/common/toolbar2.js
+++ b/www/common/toolbar2.js
@@ -616,8 +616,12 @@ define([
         var todo = function (e, overLimit) {
             if (e) { return void console.error("Unable to get the pinned usage"); }
             if (overLimit) {
+                var key = 'pinLimitReachedAlert';
+                if (ApiConfig.noSubscriptionButton === true) {
+                    key = 'pinLimitReachedAlertNoAccounts';
+                }
                 $limit.show().click(function () {
-                    Cryptpad.alert(Messages._getKey('pinLimitReachedAlert', [encodeURIComponent(window.location.hostname)]), null, true);
+                    Cryptpad.alert(Messages._getKey(key, [encodeURIComponent(window.location.hostname)]), null, true);
                 });
             }
         };
diff --git a/www/drive/main.js b/www/drive/main.js
index 5343bd829..03dcb7716 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -2712,13 +2712,11 @@ define([
             }
 
             /* add the usage */
-            if (AppConfig.enablePinLimit) {
-                Cryptpad.createUsageBar(function (err, $limitContainer) {
-                    if (err) { return void logError(err); }
-                    $leftside.html('');
-                    $leftside.append($limitContainer);
-                });
-            }
+            Cryptpad.createUsageBar(function (err, $limitContainer) {
+                if (err) { return void logError(err); }
+                $leftside.html('');
+                $leftside.append($limitContainer);
+            });
 
             /* add a history button */
             var histConfig = {

From 3915b300557760ef3704daffca0df46944f9570b Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 29 May 2017 13:11:07 +0200
Subject: [PATCH 165/236] provide a register button on login

also direct users from file to login
---
 customize.dist/main.css                 |  6 ++++++
 customize.dist/src/less/cryptpad.less   |  8 ++++++++
 customize.dist/translations/messages.js |  4 ++++
 www/file/main.js                        |  7 ++++++-
 www/login/index.html                    |  4 ++++
 www/login/main.js                       | 11 +++++++++++
 6 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/customize.dist/main.css b/customize.dist/main.css
index 063324504..50572f14b 100644
--- a/customize.dist/main.css
+++ b/customize.dist/main.css
@@ -875,6 +875,12 @@ html.cp,
 .cp #main_other #main-container {
   display: inline-block;
 }
+.cp #main #userForm .extra p,
+.cp #main_other #userForm .extra p {
+  font-size: 28px;
+  padding: 15px;
+  text-align: center;
+}
 .cp #main #data,
 .cp #main_other #data {
   width: 600px;
diff --git a/customize.dist/src/less/cryptpad.less b/customize.dist/src/less/cryptpad.less
index 0ee8785e6..49608df00 100644
--- a/customize.dist/src/less/cryptpad.less
+++ b/customize.dist/src/less/cryptpad.less
@@ -337,6 +337,14 @@ noscript {
         display: inline-block;
     }
 
+    #userForm .extra {
+        p {
+            font-size: 28px;
+            padding: 15px;
+            text-align: center;
+        }
+    }
+
     #data {
         p {
             margin: 0;
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index d39407194..c28172017 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -302,6 +302,9 @@ define(function () {
     out.login_invalPass = 'Password required';
     out.login_unhandledError = 'An unexpected error occurred :(';
 
+    out.login_notRegistered = 'Not registered?';
+
+
     out.register_importRecent = "Import pad history (Recommended)";
     out.register_acceptTerms = "I accept <a href='/terms.html'>the terms of service</a>";
     out.register_passwordsDontMatch = "Passwords do not match!";
@@ -375,6 +378,7 @@ define(function () {
     out.upload_name = "File name";
     out.upload_size = "Size";
     out.upload_progress = "Progress";
+    out.upload_mustLogin = "You must be logged in to upload files";
     out.download_button = "Decrypt & Download";
 
     // general warnings
diff --git a/www/file/main.js b/www/file/main.js
index ff0d52ec4..8df236235 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -301,7 +301,12 @@ define([
         }
 
         if (!Cryptpad.isLoggedIn()) {
-            return Cryptpad.alert("You must be logged in to upload files");
+            return Cryptpad.alert(Messages.upload_mustLogin, function () {
+                if (sessionStorage) {
+                    sessionStorage.redirectTo = window.location.href;
+                }
+                window.location.href = '/login/';
+            });
         }
 
         $form.css({
diff --git a/www/login/index.html b/www/login/index.html
index e01c78a09..3e4e7a21e 100644
--- a/www/login/index.html
+++ b/www/login/index.html
@@ -62,6 +62,10 @@
             <input type="text" id="name" name="name" class="form-control" data-localization-placeholder="login_username" autofocus>
             <input type="password" id="password" name="password" class="form-control" data-localization-placeholder="login_password">
             <button class="btn btn-primary login first" data-localization="login_login"></button>
+            <div class="extra">
+                <p data-localization="login_notRegistered"></p>
+                <button id="register" class="btn btn-success register first" data-localization="login_register"></button>
+            </div>
         </div>
     </div>
     </div>
diff --git a/www/login/main.js b/www/login/main.js
index 194c824ac..caa77fe4b 100644
--- a/www/login/main.js
+++ b/www/login/main.js
@@ -128,5 +128,16 @@ define([
                 }, 0);
             }, 100);
         });
+        $('#register').on('click', function () {
+            if (sessionStorage) {
+                if ($uname.val()) {
+                    sessionStorage.login_user = $uname.val();
+                }
+                if ($passwd.val()) {
+                    sessionStorage.login_pass = $passwd.val();
+                }
+            }
+            window.location.href = '/register/';
+        });
     });
 });

From f434f002c4707be7362ca98eb5dc77097f347c55 Mon Sep 17 00:00:00 2001
From: Pierre Bondoerffer <pierre@bondoer.fr>
Date: Mon, 29 May 2017 16:32:40 +0200
Subject: [PATCH 166/236] poll: make locks clickable

---
 www/poll/main.js   | 61 ++++++++++++++++++++++------------------------
 www/poll/poll.css  | 31 +++++++++++++++++------
 www/poll/poll.less | 25 ++++++++++++++++---
 www/poll/render.js |  9 ++-----
 4 files changed, 77 insertions(+), 49 deletions(-)

diff --git a/www/poll/main.js b/www/poll/main.js
index 96012b7da..6e42ca75c 100644
--- a/www/poll/main.js
+++ b/www/poll/main.js
@@ -15,8 +15,6 @@ define([
 
     $(function () {
 
-    var unlockHTML = '<i class="fa fa-unlock" aria-hidden="true"></i>';
-    var lockHTML = '<i class="fa fa-lock" aria-hidden="true"></i>';
     var HIDE_INTRODUCTION_TEXT = "hide_poll_text";
     var defaultName;
 
@@ -100,12 +98,10 @@ define([
         // Enable the checkboxes for the user's column (committed or not)
         $('input[disabled="disabled"][data-rt-id^="' + id + '"]').removeAttr('disabled');
         $('input[type="checkbox"][data-rt-id^="' + id + '"]').addClass('enabled');
-        $('[data-rt-id="' + id + '"] ~ .edit').css('visibility', 'hidden');
-        $('.lock[data-rt-id="' + id + '"]').html(unlockHTML).attr('title', Messages.poll_unlocked);
+        $('.lock[data-rt-id="' + id + '"]').addClass('fa-unlock').removeClass('fa-lock').attr('title', Messages.poll_unlocked);
 
         if (isOwnColumnCommitted()) { return; }
         $('[data-rt-id^="' + id + '"]').closest('td').addClass("uncommitted");
-        $('td.uncommitted .remove, td.uncommitted .edit').css('visibility', 'hidden');
         $('td.uncommitted .cover').addClass("uncommitted");
         $('.uncommitted input[type="text"]').attr("placeholder", Messages.poll_userPlaceholder);
     };
@@ -118,8 +114,7 @@ define([
         APP.editable.col.forEach(function (id) {
             $('input[disabled="disabled"][data-rt-id^="' + id + '"]').removeAttr('disabled');
             $('input[type="checkbox"][data-rt-id^="' + id + '"]').addClass('enabled');
-            $('span.edit[data-rt-id="' + id + '"]').css('visibility', 'hidden');
-            $('.lock[data-rt-id="' + id + '"]').html(unlockHTML).attr('title', Messages.poll_unlocked);
+            $('.lock[data-rt-id="' + id + '"]').addClass('fa-unlock').removeClass('fa-lock').attr('title', Messages.poll_unlocked);
         });
     };
 
@@ -276,7 +271,6 @@ define([
         switch (type) {
             case 'text':
                 debug("text[rt-id='%s'] [%s]", id, input.value);
-                if (!input.value) { return void debug("Hit enter?"); }
                 Render.setValue(object, id, input.value);
                 change(null, null, null, 50);
                 break;
@@ -295,12 +289,26 @@ define([
         }
     };
 
+    var hideInputs = function (target, isKeyup) {
+        if (!isKeyup && $(target).is('[type="text"]')) {
+            return;
+        }
+        $('.lock[data-rt-id!="' + APP.userid + '"]').addClass('fa-lock').removeClass('fa-unlock').attr('title', Messages.poll_locked);
+        var $cells = APP.$table.find('thead td:not(.uncommitted), tbody td');
+        $cells.find('[type="text"][data-rt-id!="' + APP.userid + '"]').attr('disabled', true);
+        $('.edit[data-rt-id!="' + APP.userid + '"]').css('visibility', 'visible');
+        APP.editable.col = [APP.userid];
+        APP.editable.row = [];
+    };
+
     /*  Called whenever an event is fired on a span */
     var handleSpan = function (span) {
         var id = span.getAttribute('data-rt-id');
         var type = Render.typeofId(id);
         var isRemove = span.className && span.className.split(' ').indexOf('remove') !== -1;
         var isEdit = span.className && span.className.split(' ').indexOf('edit') !== -1;
+        var isLock = span.className && span.className.split(' ').indexOf('lock') !== -1;
+        var isLocked = span.className && span.className.split(' ').indexOf('fa-lock') !== -1;
         if (type === 'row') {
             if (isRemove) {
                 Cryptpad.confirm(Messages.poll_removeOption, function (res) {
@@ -310,6 +318,7 @@ define([
                     });
                 });
             } else if (isEdit) {
+                hideInputs(span);
                 unlockRow(id, function () {
                     change(null, null, null, null, function() {
                         $('input[data-rt-id="' + id + '"]').focus();
@@ -324,7 +333,8 @@ define([
                         change();
                     });
                 });
-            } else if (isEdit) {
+            } else if (isLock && isLocked) {
+                hideInputs(span);
                 unlockColumn(id, function () {
                     change(null, null, null, null, function() {
                         $('input[data-rt-id="' + id + '"]').focus();
@@ -338,48 +348,34 @@ define([
         }
     };
 
-    var hideInputs = function (e, isKeyup) {
-        if (!isKeyup && $(e.target).is('[type="text"]')) {
-            return;
-        }
-        $('.lock[data-rt-id!="' + APP.userid + '"]').html(lockHTML).attr('title', Messages.poll_lock);
-        var $cells = APP.$table.find('thead td:not(.uncommitted), tbody td');
-        $cells.find('[type="text"][data-rt-id!="' + APP.userid + '"]').attr('disabled', true);
-        $('.edit[data-rt-id!="' + APP.userid + '"]').css('visibility', 'visible');
-        APP.editable.col = [APP.userid];
-        APP.editable.row = [];
-    };
-
-    $(window).click(hideInputs);
-
     var handleClick = function (e, isKeyup) {
         e.stopPropagation();
 
         if (!APP.ready) { return; }
         var target = e && e.target;
 
-        if (isKeyup) {
-            debug("Keyup!");
-        }
-
         if (!target) { return void debug("NO TARGET"); }
 
         var nodeName = target && target.nodeName;
+        var shouldLock = $(target).hasClass('fa-unlock');
 
-        if (!$(target).parents('#table tbody').length || $(target).hasClass('edit')) {
+        if ((!$(target).parents('#table tbody').length && $(target).hasClass('lock'))) {
             hideInputs(e);
         }
 
         switch (nodeName) {
             case 'INPUT':
                 if (isKeyup && (e.keyCode === 13 || e.keyCode === 27)) {
-                    hideInputs(e, isKeyup);
-                    return;
+                    hideInputs(target, isKeyup);
+                    break;
                 }
                 handleInput(target);
                 break;
             case 'SPAN':
             //case 'LABEL':
+                if (shouldLock) {
+                    break;
+                }
                 handleSpan(target);
                 break;
             case undefined:
@@ -459,7 +455,6 @@ var ready = function (info, userid, readOnly) {
 
     var $table = APP.$table = $(Render.asHTML(displayedObj, null, colsOrder, readOnly));
     APP.$createRow = $('#create-option').click(function () {
-        //console.error("BUTTON CLICKED! LOL");
         Render.createRow(proxy, function (empty, id) {
             change(null, null, null, null, function() {
                 $('.edit[data-rt-id="' + id + '"]').click();
@@ -470,7 +465,7 @@ var ready = function (info, userid, readOnly) {
     APP.$createCol = $('#create-user').click(function () {
         Render.createColumn(proxy, function (empty, id) {
             change(null, null, null, null, function() {
-                $('.edit[data-rt-id="' + id + '"]').click();
+                $('.lock[data-rt-id="' + id + '"]').click();
             });
         });
     });
@@ -532,6 +527,8 @@ var ready = function (info, userid, readOnly) {
         .click(handleClick)
         .on('keyup', function (e) { handleClick(e, true); });
 
+    $(window).click(hideInputs);
+
     proxy
         .on('change', ['info'], function (o, n, p) {
             if (p[1] === 'title') {
diff --git a/www/poll/poll.css b/www/poll/poll.css
index 8016a10c4..3e534d5e2 100644
--- a/www/poll/poll.css
+++ b/www/poll/poll.css
@@ -266,23 +266,37 @@ div.realtime table input[type="text"] {
   border: 1px solid #fff;
   width: 80%;
 }
+form.realtime table span,
+div.realtime table span {
+  user-select: none;
+  -moz-user-select: none;
+  -webkit-user-select: none;
+  -ms-user-select: none;
+}
 form.realtime table thead td,
 div.realtime table thead td {
   padding: 0px 5px;
   background: #aaa;
   border-radius: 20px 20px 0 0;
-  text-align: center;
+}
+form.realtime table thead td:nth-of-type(2),
+div.realtime table thead td:nth-of-type(2) {
+  background: #999;
+}
+form.realtime table thead td:nth-of-type(2) .lock,
+div.realtime table thead td:nth-of-type(2) .lock {
+  cursor: default;
 }
 form.realtime table thead td input[type="text"],
 div.realtime table thead td input[type="text"] {
   width: 100%;
   box-sizing: border-box;
+  padding: 1px 5px;
 }
 form.realtime table thead td input[type="text"][disabled],
 div.realtime table thead td input[type="text"][disabled] {
   color: #000;
-  padding: 1px 5px;
-  border: none;
+  border: 1px solid transparent;
 }
 form.realtime table tbody .text-cell,
 div.realtime table tbody .text-cell {
@@ -302,10 +316,6 @@ div.realtime table tbody .text-cell .remove {
   float: left;
   margin: 0 0 0 10px;
 }
-form.realtime table tbody tr td:nth-child(2),
-div.realtime table tbody tr td:nth-child(2) {
-  border-left: 1px solid #555;
-}
 form.realtime table tbody tr:not(:first-child) td:not(:first-child) label,
 div.realtime table tbody tr:not(:first-child) td:not(:first-child) label {
   border-top: 1px solid #555;
@@ -317,6 +327,13 @@ div.realtime table .edit {
   float: left;
   margin-left: 10px;
 }
+form.realtime table .lock,
+div.realtime table .lock {
+  margin-left: calc(50% - 0.5em);
+  cursor: pointer;
+  width: 1em;
+  text-align: center;
+}
 form.realtime table .remove,
 div.realtime table .remove {
   float: right;
diff --git a/www/poll/poll.less b/www/poll/poll.less
index 1ddcaa2f0..699e96e03 100644
--- a/www/poll/poll.less
+++ b/www/poll/poll.less
@@ -2,6 +2,7 @@
 @import "../../customize.dist/src/less/mixins.less";
 
 @poll-th-bg: #aaa;
+@poll-th-user-bg: #999;
 @poll-td-bg: #aaa;
 @poll-placeholder: #666;
 @poll-border-color: #555;
@@ -293,20 +294,32 @@ form.realtime, div.realtime {
                 width: 80%;
             }
         }
+        span {
+            user-select: none;
+            -moz-user-select: none;
+            -webkit-user-select: none;
+            -ms-user-select: none;
+        }
         thead {
             td {
                 padding: 0px 5px;
                 background: @poll-th-bg;
                 border-radius: 20px 20px 0 0;
-                text-align: center;
+                //text-align: center;
+                &:nth-of-type(2) {
+                    background: @poll-th-user-bg;
+                    .lock {
+                        cursor: default;
+                    }
+                }
                 input {
                     &[type="text"] {
                         width: 100%;
                         box-sizing: border-box;
+                        padding: 1px 5px;
                         &[disabled] {
                             color: @poll-fg;
-                            padding: 1px 5px;
-                            border: none;
+                            border: 1px solid transparent;
                         }
                     }
                 }
@@ -344,6 +357,12 @@ form.realtime, div.realtime {
             margin-left: 10px;
         }
 
+        .lock {
+            margin-left: ~"calc(50% - 0.5em)";
+            cursor: pointer;
+            width: 1em;
+            text-align: center;
+        }
         .remove {
             float: right;
             margin-right: 10px;
diff --git a/www/poll/render.js b/www/poll/render.js
index ecd94159d..8399d5b71 100644
--- a/www/poll/render.js
+++ b/www/poll/render.js
@@ -269,12 +269,8 @@ var Renderer = function (Cryptpad) {
         return ['SPAN', {
             'data-rt-id': id,
             'title': Cryptpad.Messages.poll_locked,
-            class: 'lock',
-        }, [['i', {
-                class: 'fa fa-lock',
-                'aria-hidden': true,
-            }, []]
-        ]];
+            class: 'lock fa fa-lock',
+        }, []];
     };
 
     var makeHeadingCell = Render.makeHeadingCell = function (cell, readOnly) {
@@ -284,7 +280,6 @@ var Renderer = function (Cryptpad) {
             if (!readOnly) {
                 elements.unshift(makeRemoveElement(cell['data-rt-id']));
                 elements.unshift(makeLockElement(cell['data-rt-id']));
-                elements.unshift(makeEditElement(cell['data-rt-id']));
             }
             return ['TD', {}, elements];
         }

From 6518b56945ece824a4ded11c7fb06f8e366311a8 Mon Sep 17 00:00:00 2001
From: Pierre Bondoerffer <pierre@bondoer.fr>
Date: Mon, 29 May 2017 16:50:25 +0200
Subject: [PATCH 167/236] poll: french messages

---
 customize.dist/translations/messages.fr.js | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index a112d397e..71227966c 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -193,6 +193,11 @@ define(function () {
     out.poll_titleHint = "Titre";
     out.poll_descriptionHint = "Description";
 
+    out.poll_remove = "Supprimer";
+    out.poll_edit = "Modifier";
+    out.poll_locked = "Verrouillé";
+    out.poll_unlocked = "Déverrouillé";
+
     // Canvas
     out.canvas_clear = "Nettoyer";
     out.canvas_delete = "Supprimer la sélection";

From 1240b864ef2c0791a85268cf0101f779749ca1d7 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 29 May 2017 17:25:06 +0200
Subject: [PATCH 168/236] fix misconfigured history

---
 www/code/main.js  | 4 ++--
 www/pad/main.js   | 4 ++--
 www/slide/main.js | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/www/code/main.js b/www/code/main.js
index d82d73273..d4f414040 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -191,8 +191,8 @@ define([
 
                 /* add a history button */
                 var histConfig = {
-                    onLocal: config.onLocal(),
-                    onRemote: config.onRemote(),
+                    onLocal: config.onLocal,
+                    onRemote: config.onRemote,
                     setHistory: setHistory,
                     applyVal: function (val) {
                         var remoteDoc = JSON.parse(val || '{}').content;
diff --git a/www/pad/main.js b/www/pad/main.js
index 635ea0087..f7d16a20b 100644
--- a/www/pad/main.js
+++ b/www/pad/main.js
@@ -500,8 +500,8 @@ define([
 
                 /* add a history button */
                 var histConfig = {
-                    onLocal: realtimeOptions.onLocal(),
-                    onRemote: realtimeOptions.onRemote(),
+                    onLocal: realtimeOptions.onLocal,
+                    onRemote: realtimeOptions.onRemote,
                     setHistory: setHistory,
                     applyVal: function (val) { applyHjson(val || '["BODY",{},[]]'); },
                     $toolbar: $bar
diff --git a/www/slide/main.js b/www/slide/main.js
index 6f04f96d0..f27fdbb2b 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -313,8 +313,8 @@ define([
 
                 /* add a history button */
                 var histConfig = {
-                    onLocal: config.onLocal(),
-                    onRemote: config.onRemote(),
+                    onLocal: config.onLocal,
+                    onRemote: config.onRemote,
                     setHistory: setHistory,
                     applyVal: function (val) {
                         var remoteDoc = JSON.parse(val || '{}').content;

From c4f8286be66be9562b177d902462140262598732 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 29 May 2017 17:35:13 +0200
Subject: [PATCH 169/236] add timestamp to rpc error logs

---
 rpc.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rpc.js b/rpc.js
index 45be04cc7..07ad2e1cd 100644
--- a/rpc.js
+++ b/rpc.js
@@ -789,7 +789,7 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
 
     var warn = function (e, output) {
         if (e && !config.suppressRPCErrors) {
-            console.error('[' + e + ']', output);
+            console.error(new Date().toISOString() + ' [' + e + ']', output);
         }
     };
 

From 0a92719763f4f31b77782044b130b19272942890 Mon Sep 17 00:00:00 2001
From: Pierre Bondoerffer <pierre@bondoer.fr>
Date: Mon, 29 May 2017 18:25:18 +0200
Subject: [PATCH 170/236] spanish! new keys ahoy

---
 customize.dist/translations/messages.es.js | 30 +++++++++++++++++++---
 1 file changed, 26 insertions(+), 4 deletions(-)

diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js
index 40efab91e..e3047cede 100644
--- a/customize.dist/translations/messages.es.js
+++ b/customize.dist/translations/messages.es.js
@@ -13,8 +13,7 @@ define(function () {
     out.type.slide = 'Presentación';
     out.type.whiteboard = 'Pizarra';
 
-    out.updated_0_common_connectionLost = "<b>Connexión perdida</b><br>El documento está ahora en modo solo lectura hasta que la conexión vuelva.";
-    out.common_connectionLost = out.updated_0_common_connectionLost;
+    out.common_connectionLost = "<b>Connexión perdida</b><br>El documento está ahora en modo solo lectura hasta que la conexión vuelva.";
 
     out.disconnected = "Desconectado";
     out.synchronizing = "Sincronización";
@@ -200,7 +199,6 @@ define(function () {
     out.fm_info_root = "Crea carpetas aquí para organizar tus documentos.";
     out.fm_info_unsorted = "Contiene todos los documentos que has visitado que no estan organizados en \"Documentos\" o movidos a la \"Papelera\".";
     out.fm_info_template = "Contiene todas las plantillas que puedes volver a usar para crear nuevos documentos.";
-    out.fm_info_trash = "Archivos eliminados de la papelera también se eliminan de \"Todos los archivos\" y es imposible recuparlos desde el explorador.";
     out.fm_info_allFiles = "Contiene todos los archivos de \"Documentos\", \"Sin organizar\" y \"Papelera\". No puedes mover o eliminar archivos aquí.";
     out.fm_alert_backupUrl = "Enlace de copia de seguridad para este drive. Te recomendamos <strong>muy fuertemente</strong> que lo guardes secreto.<br>Lo puedes usar para recuparar todos tus archivos en el caso que la memoria de tu navegador se borre.<br>Cualquiera con este enlace puede editar o eliminar todos los archivos en el explorador.<br>";
     out.fm_backup_title = "Enlace de copia de seguridad";
@@ -417,7 +415,6 @@ define(function () {
     out.formattedKB = "{0} KB";
 
     out.pinLimitReached = "Has llegado al limite de espacio";
-    out.pinLimitReachedAlert = "Has llegado al limite de espacio. Nuevos pads no serán movidos a tu CryptDrive.<br>Para resolver este problema, puedes quitar pads de tu CryptDrive (incluso en la papelera) o mejorar tu cuenta para obtener más espacio.";
     out.pinLimitNotPinned = "Has llegado al limite de espacio.<br>Este pad no estará presente en tu CryptDrive.";
     out.pinLimitDrive = "Has llegado al limite de espacio.<br>No puedes crear nuevos pads.";
     out.printTransition = "Activar transiciones";
@@ -429,5 +426,30 @@ define(function () {
     out.upload_uploadPending = "Ya tienes una subida en progreso. ¿Cancelar y subir el nuevo archivo?";
     out.upload_success = "Tu archivo ({0}) ha sido subido con éxito y fue añadido a tu drive.";
 
+    // 1.7.0 - Hodag
+    out.comingSoon = "Próximamente..."; // "Coming soon..."
+    out.newVersion = ["<b>CryptPad ha sido actualizado!</b>",
+                      "Puedes ver lo que ha cambiada aquí (en inglés):",
+                      "<a href=\"https://github.com/xwiki-labs/cryptpad/releases/tag/{0}\" target=\"_blank\">Notas de versión para CryptPad {0}</a>"].join("<br>");
+    out.pinLimitReachedAlert = ["Has llegado a tu limite de espacio. Nuevos pads no serán guardados en tu CryptDrive.",
+        "Puedes eliminar pads de tu CryptDrive o <a href=\"https://accounts.cryptpad.fr/#!on={0}\" target=\"_blank\">suscribirte a una oferta premium</a> para obtener más espacio."].join("<br>");
+    out.pinLimitReachedAlertNoAccounts = "Has llegado a tu limite de espacio";
+    out.pinAboveLimitAlert = "Desde esta versión, ponemos un limite de 50MB a las cuentas gratís y estás usando {0}. Tendrás que eliminar unos pads o suscribirte en <a href=\"https://accounts.cryptpad.fr/#!on={1}\" target=\"_blank\">accounts.cryptpad.fr</a>. Tu contribución nos ayuda a mejorar CryptPad y extender el Zero Knowledge. Por favor contacta <a href=\"https://accounts.cryptpad.fr/#/support\" target=\"_blank\">el soporte</a> si tienes preguntas adicionales.";
+    out.previewButtonTitle = "Mostrar/esconder la vista previa Markdown";
+    out.fm_info_trash = "Vacía tu papelera para liberar espaci en tu CryptDrive.";
+    out.fm_info_anonymous = "No estás conectado, así que estos pads pueden ser borrados (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">¿por qué?</a>). <a href=\"/register/\">Registrate</a> o <a href=\"/login/\">Inicia sesión</a> para asegurarlos.";
+    out.fm_alert_anonymous = "Hola, estás usando CryptPad anónimamente. Está bien, pero tus pads pueden ser borrados después de un périodo de inactividad. Hemos desactivado funciones avanzadas de CryptDrive para usuarios anónimos porque queremos ser claros que no es un lugar seguro para almacenar cosas. Puedes <a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">leer este articulo</a> (en inglés) sobre por qué hacemos esto y por qué deberías <a href=\"/register/\">Registrarte</a> e <a href=\"/login/\">Iniciar sesión</a>.";
+    out.fm_error_cantPin = "Error del servidor. Por favor, recarga la página e intentalo de nuevo.";
+    out.upload_notEnoughSpace = "No tienes suficiente espacio para este archivo en tu CryptDrive";
+    out.upload_tooLarge = "Este archivo supera el límite de carga.";
+    out.upload_choose = "Escoge un archivo";
+    out.upload_pending = "Esperando";
+    out.upload_cancelled = "Cancelado";
+    out.upload_name = "Nombre";
+    out.upload_size = "Tamaño";
+    out.upload_progress = "Progreso";
+    out.download_button = "Descifrar y descargar";
+    out.warn_notPinned = "Este pad no está en ningun CryptDrive. Expirará después de 3 meses. <a href='/about.html#pinning'>Acerca de...</a>";
+
     return out;
 });

From 75874424cf3b36366f0f21ea2e43d9895595c421 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 10:41:46 +0200
Subject: [PATCH 171/236] add 'support cryptpad' translation key

---
 customize.dist/translations/messages.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index c28172017..58713a895 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -66,6 +66,8 @@ define(function () {
     out.GB = "GB";
     out.KB = "KB";
 
+    out.supportCryptpad = "Support CryptPad";
+
     out.formattedMB = "{0} MB";
     out.formattedGB = "{0} GB";
     out.formattedKB = "{0} KB";
@@ -400,6 +402,7 @@ define(function () {
     out.main_zeroKnowledge = 'Zero Knowledge';
     out.main_zeroKnowledge_p = "You don't have to trust that we <em>won't</em> look at your pads, with CryptPad's revolutionary Zero Knowledge Technology we <em>can't</em>. Learn more about how we protect your <a href=\"/privacy.html\" title='Privacy'>Privacy and Security</a>.";
     out.main_writeItDown = 'Write it down';
+
     out.main_writeItDown_p = "The greatest projects come from the smallest ideas. Take down the moments of inspiration and unexpected ideas because you never know which one might be a breakthrough.";
     out.main_share = 'Share the link, share the pad';
     out.main_share_p = "Grow your ideas together: conduct efficient meetings, collaborate on TODO lists and make quick presentations with all your friends and all your devices.";

From 99a44f119f6464f70a8ffc4587e97a0a35309495 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 10:44:40 +0200
Subject: [PATCH 172/236] don't send referrer headers on pads which may link
 outward

---
 www/code/index.html  | 1 +
 www/pad/index.html   | 1 +
 www/slide/index.html | 1 +
 3 files changed, 3 insertions(+)

diff --git a/www/code/index.html b/www/code/index.html
index 448020d26..4fa11fc33 100644
--- a/www/code/index.html
+++ b/www/code/index.html
@@ -5,6 +5,7 @@
     <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css">
+    <meta name="referrer" content="no-referrer" />
     <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script>
     <link rel="icon" type="image/png"
         href="/customize/main-favicon.png"
diff --git a/www/pad/index.html b/www/pad/index.html
index 4688001f6..3095c137f 100644
--- a/www/pad/index.html
+++ b/www/pad/index.html
@@ -4,6 +4,7 @@
     <title>CryptPad</title>
     <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="referrer" content="no-referrer" />
     <link rel="stylesheet" href="/bower_components/components-font-awesome/css/font-awesome.min.css">
     <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script>
     <link rel="icon" type="image/png"
diff --git a/www/slide/index.html b/www/slide/index.html
index faf9bc1c8..2f5e675a9 100644
--- a/www/slide/index.html
+++ b/www/slide/index.html
@@ -4,6 +4,7 @@
     <title>CryptPad</title>
     <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="referrer" content="no-referrer" />
     <script data-bootload="main.js" data-main="/common/boot.js" src="/bower_components/requirejs/require.js"></script>
     <link rel="icon" type="image/png"
         href="/customize/main-favicon.png"

From 605377cf31c7ca974a69936c75fdf3aae64487e8 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 15:35:51 +0200
Subject: [PATCH 173/236] update default configuration file with new attributes
 and comments

---
 config.example.js | 69 +++++++++++++++++++++++++++--------------------
 rpc.js            |  2 +-
 server.js         |  4 ++-
 3 files changed, 44 insertions(+), 31 deletions(-)

diff --git a/config.example.js b/config.example.js
index a0f3003e0..be7682162 100644
--- a/config.example.js
+++ b/config.example.js
@@ -10,7 +10,7 @@ module.exports = {
 
     // the port on which your httpd will listen
 
-    /*  Cryptpad can be configured to send customized HTTP Headers
+    /*  CryptPad can be configured to send customized HTTP Headers
      *  These settings may vary widely depending on your needs
      *  Examples are provided below
      */
@@ -31,7 +31,7 @@ module.exports = {
          *  connect-src is used to restrict what domains can connect to the websocket.
          *
          *  it is recommended that you configure these fields to match the
-         *  domain which will serve your cryptpad instance.
+         *  domain which will serve your CryptPad instance.
          */
         "child-src 'self' *",
 
@@ -82,24 +82,24 @@ module.exports = {
      */
     //websocketPort: 3000,
 
-    /*  if you want to run a different version of cryptpad but using the same websocket
+    /*  if you want to run a different version of CryptPad but using the same websocket
      *  server, you should use the other server port as websocketPort and disable
      *  the websockets on that server
      */
     //useExternalWebsocket: false,
 
-    /*  If Cryptpad is proxied without using https, the server needs to know.
+    /*  If CryptPad is proxied without using https, the server needs to know.
      *  Specify 'useSecureWebsockets: true' so that it can send
      *  Content Security Policy Headers that prevent http and https from mixing
      */
      useSecureWebsockets: false,
 
-    /*  Cryptpad can log activity to stdout
+    /*  CryptPad can log activity to stdout
      *  This may be useful for debugging
      */
     logToStdout: false,
 
-    /*  Cryptpad supports verbose logging
+    /*  CryptPad supports verbose logging
      *  (false by default)
      */
      verbose: false,
@@ -116,13 +116,16 @@ module.exports = {
         'contact',
     ],
 
-    /*  Limits, Subscriptions and Contact
+    /*  Limits, Donations, Subscriptions and Contact
+     *
+     *  By default, CryptPad limits every registered user to 50MB of storage. It also shows a
+     *  donate button which allows for making a donation to support CryptPad development.
      *
-     *  CryptPad limits every registered user to 50MB of storage.
-     *  By default it also allows that limit to be increased by subscribing at accounts.cryptpad.fr
      *  You can either:
-     *    A: Hide the button for subscribing, so everyone is limited to 50MB
-     *    B: Support cryptpad and share 50% of the revenue earned on your instance
+     *    A: Leave it exactly as it is.
+     *    B: Hide the donate button.
+     *    C: Change the donate button to a subscribe button, people who subscribe will get more
+     *       storage on your instance and you get 50% of the revenue earned.
      * 
      *  CryptPad is developed by people who need to live and who deserve an equivilent life to
      *  what they would get at a company which monitizes user data. However, we intend to have
@@ -131,28 +134,36 @@ module.exports = {
      * 
      *  If you are using CryptPad in a business context, please consider taking a support contract
      *  by contacting sales@cryptpad.fr
-     * 
-     *  If you choose A, set this variable to true to hide the subscription button.
+     *
+     *  If you choose A then there's nothing to do.
+     *
+     *  If you choose B, set this variable to true and it will remove the donate button.
      */
-    noSubscriptionButton: false,
+    removeDonateButton: false,
     /*
-     *  If you choose B, set the domain of your cryptpad instance here and then contact
-     *  sales@cryptpad.fr and tell us your domain, we will tell you what is needed to get paid.
+     *  If you choose C, set allowSubscriptions to true, then set myDomain to the domain which people
+     *  use to reach your CryptPad instance. Then contact sales@cryptpad.fr and tell us your domain.
+     *  We will tell you what is needed to get paid.
      */
-    myDomain: 'i.did.not.read.my.config.cryptpad.myserver.tld',
+    allowSubscriptions: false,
+    myDomain: 'i.did.not.read.my.config.myserver.tld',
+
     /*
      *  If you are using CryptPad internally and you want to increase the per-user storage limit,
      *  change the following value.
-     *  Please note: Providing a public offer that is better than cryptpad.fr is an attack on
-     *    the project. Please leave this alone if you are providing a public service.
+     *
+     *  Please note: This limit is what makes people subscribe and what pays for CryptPad
+     *    development. Running a public instance that provides a "better deal" than cryptpad.fr
+     *    is effectively using the project against itself.
      */
     defaultStorageLimit: 50 * 1024 * 1024,
+
     /*
-     *  By default, CryptPad contacts our accounts server once a day to check for changes in the
-     *  people who have accounts. This check-in will also send your email and the version of
-     *  CryptPad you run so we can reach you if we are aware of a serious problem with your
-     *  CryptPad instance. We will never sell it or use it for marketing. If you want to block this
-     *  check-in and remain completely private, set this to false and noSubscriptionButton to true.
+     *  By default, CryptPad also contacts our accounts server once a day to check for changes in
+     *  the people who have accounts. This check-in will also send the version of your CryptPad
+     *  instance and your email so we can reach you if we are aware of a serious problem. We will
+     *  never sell it or send you marketing mail. If you want to block this check-in and remain
+     *  completely invisible, set this and allowSubscriptions both to false.
      */
     adminEmail: 'i.did.not.read.my.config@cryptpad.fr',
 
@@ -176,7 +187,7 @@ module.exports = {
     storage: './storage/file',
 
     /*
-        Cryptpad stores each document in an individual file on your hard drive.
+        CryptPad stores each document in an individual file on your hard drive.
         Specify a directory where files should be stored.
         It will be created automatically if it does not already exist.
     */
@@ -199,17 +210,17 @@ module.exports = {
      */
     blobStagingPath: './blobstage',
 
-    /*  Cryptpad's file storage adaptor closes unused files after a configurale
+    /*  CryptPad's file storage adaptor closes unused files after a configurale
      *  number of milliseconds (default 30000 (30 seconds))
      */
     channelExpirationMs: 30000,
 
-    /*  Cryptpad's file storage adaptor is limited by the number of open files.
+    /*  CryptPad's file storage adaptor is limited by the number of open files.
      *  When the adaptor reaches openFileLimit, it will clean up older files
      */
     openFileLimit: 2048,
 
-    /*  Cryptpad's socket server can be extended to respond to RPC calls
+    /*  CryptPad's socket server can be extended to respond to RPC calls
      *  you can configure it to respond to custom RPC calls if you like.
      *  provide the path to your RPC module here, or `false` if you would
      *  like to disable the RPC interface completely
@@ -261,7 +272,7 @@ module.exports = {
      */
     //logFeedback: true,
 
-    /* it is recommended that you serve cryptpad over https
+    /* it is recommended that you serve CryptPad over https
      * the filepaths below are used to configure your certificates
      */
     //privKeyAndCertFiles: [
diff --git a/rpc.js b/rpc.js
index 07ad2e1cd..fc204d87c 100644
--- a/rpc.js
+++ b/rpc.js
@@ -373,7 +373,7 @@ var getHash = function (Env, publicKey, cb) {
 // To each key is associated an object containing the 'limit' value and a 'note' explaining that limit
 var limits = {};
 var updateLimits = function (config, publicKey, cb) {
-    if (config.adminEmail === false && config.noSubscriptionButton === true) { return; }
+    if (config.adminEmail === false && config.allowSubscriptions === false) { return; }
     if (typeof cb !== "function") { cb = function () {}; }
 
     var defaultLimit = typeof(config.defaultStorageLimit) === 'number'?
diff --git a/server.js b/server.js
index e2527fa7d..eb16fbcf1 100644
--- a/server.js
+++ b/server.js
@@ -121,7 +121,9 @@ app.get('/api/config', function(req, res){
             waitSeconds: 60,
             urlArgs: 'ver=' + Package.version + (DEV_MODE? '-' + (+new Date()): ''),
         },
-        noSubscriptionButton: (config.noSubscriptionButton === true),
+        removeDonateButton: (config.removeDonateButton === true),
+        allowSubscriptions: (config.allowSubscriptions === true),
+
         websocketPath: config.useExternalWebsocket ? undefined : config.websocketPath,
         websocketURL:'ws' + ((useSecureWebsockets) ? 's' : '') + '://' + host + ':' +
             websocketPort + '/cryptpad_websocket',

From 909bc2ebf3c1d337c5bd55f0e905e0b8358def99 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 15:39:13 +0200
Subject: [PATCH 174/236] add new translation key

---
 customize.dist/translations/messages.es.js | 2 ++
 customize.dist/translations/messages.js    | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js
index 9706380ef..8f74d2433 100644
--- a/customize.dist/translations/messages.es.js
+++ b/customize.dist/translations/messages.es.js
@@ -407,6 +407,8 @@ define(function () {
     out.deleted = "El pad fue borrado de tu CryptDrive";
     out.upgrade = "Mejorar";
     out.upgradeTitle = "Mejora tu cuenta para obtener más espacio";
+    out.upgradeAccount = "Mejorar cuenta";
+
     out.MB = "MB";
     out.GB = "GB";
     out.KB = "KB";
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 262de94dc..218aa6e99 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -62,6 +62,8 @@ define(function () {
 
     out.upgrade = "Upgrade";
     out.upgradeTitle = "Upgrade your account to increase the storage limit";
+
+    out.upgradeAccount = "Upgrade account";
     out.MB = "MB";
     out.GB = "GB";
     out.KB = "KB";

From 9ca5bc507e7b759c2782c7084487111c44c9ad93 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 15:42:53 +0200
Subject: [PATCH 175/236] add support for donate button

---
 www/common/cryptpad-common.js | 13 +++++++++++--
 www/common/toolbar2.js        | 21 +++++++++++++++++++--
 2 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index ae73867de..ddad01e68 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -25,7 +25,9 @@ define([
 */
     var common = window.Cryptpad = {
         Messages: Messages,
-        Clipboard: Clipboard
+        Clipboard: Clipboard,
+        donateURL: 'https://accounts.cryptpad.fr/#/donate?on=' + window.location.hostname,
+        account: {},
     };
 
     // constants
@@ -1428,6 +1430,14 @@ define([
                         console.log('RPC handshake complete');
                         rpc = common.rpc = env.rpc = call;
 
+                        common.getPinLimit(function (e, limit, plan, note) {
+                            if (e) { return void console.error(e); }
+                            common.account.limit = limit;
+                            common.account.plan = plan;
+                            common.account.note = note;
+                            cb();
+                        });
+
                         common.arePinsSynced(function (err, yes) {
                             if (!yes) {
                                 common.resetPins(function (err) {
@@ -1436,7 +1446,6 @@ define([
                                 });
                             }
                         });
-                        cb();
                     });
                 } else if (PINNING_ENABLED) {
                     console.log('not logged in. pads will not be pinned');
diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js
index a17e24199..127fce91d 100644
--- a/www/common/toolbar2.js
+++ b/www/common/toolbar2.js
@@ -33,6 +33,7 @@ define([
     var LIMIT_CLS = Bar.constants.lag = 'cryptpad-limit';
     var TITLE_CLS = Bar.constants.title = "cryptpad-title";
     var NEWPAD_CLS = Bar.constants.newpad = "cryptpad-newpad";
+    var UPGRADE_CLS = Bar.constants.upgrade = "cryptpad-upgrade";
 
     // User admin menu
     var USERADMIN_CLS = Bar.constants.user = 'cryptpad-user-dropdown';
@@ -70,6 +71,7 @@ define([
         var $userContainer = $('<span>', {
             'class': USER_CLS
         }).appendTo($topContainer);
+        $('<button>', {'class': UPGRADE_CLS}).hide().appendTo($userContainer);
         $('<span>', {'class': SPINNER_CLS}).hide().appendTo($userContainer);
         $('<span>', {'class': STATE_CLS}).hide().appendTo($userContainer);
         $('<span>', {'class': LAG_CLS}).hide().appendTo($userContainer);
@@ -595,7 +597,6 @@ define([
             'class': 'synced fa fa-check',
             title: Messages.synced
         }).appendTo($spin);
-        toolbar.$userAdmin.prepend($spin);
         if (config.realtime) {
             config.realtime.onPatch(ks(toolbar, config));
             config.realtime.onMessage(ks(toolbar, config, true));
@@ -696,6 +697,22 @@ define([
         return $userAdmin;
     };
 
+    var createUpgrade = function (toolbar) {
+        if (ApiConfig.removeDonateButton) { return; }
+        if (Cryptpad.account.plan) { return; }
+
+        var text;
+        if (ApiConfig.allowSubscriptions && Cryptpad.isLoggedIn()) {
+            text = Messages.upgradeAccount;
+        } else { text = Messages.supportCryptpad; }
+
+        var $upgrade = toolbar.$top.find('.' + UPGRADE_CLS).attr({
+            'title': Messages.supportCryptpad
+        }).text(text).show()
+        .click(function () { window.open(Cryptpad.donateURL,'_blank'); });
+        return $upgrade;
+    };
+
     // Events
     var initClickEvents = function (toolbar, config) {
         var removeDropdowns =  function () {
@@ -853,10 +870,10 @@ define([
         tb['spinner'] = createSpinner;
         tb['state'] = createState;
         tb['limit'] = createLimit;
+        tb['upgrade'] = createUpgrade;
         tb['newpad'] = createNewPad;
         tb['useradmin'] = createUserAdmin;
 
-
         var addElement = toolbar.addElement = function (arr, additionnalCfg, init) {
             if (typeof additionnalCfg === "object") { $.extend(true, config, additionnalCfg); }
             arr.forEach(function (el) {

From 76c530037bb87790b773932681bdac74011cfc1f Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 15:51:07 +0200
Subject: [PATCH 176/236] enable donate button in all apps

---
 www/code/main.js       | 2 +-
 www/file/main.js       | 2 +-
 www/pad/main.js        | 2 +-
 www/poll/main.js       | 2 +-
 www/slide/main.js      | 2 +-
 www/whiteboard/main.js | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/www/code/main.js b/www/code/main.js
index 38b5f2267..2ad40bdb2 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -163,7 +163,7 @@ define([
                 Metadata = Cryptpad.createMetadata(UserList, Title);
 
                 var configTb = {
-                    displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
+                    displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'],
                     userList: UserList.getToolbarConfig(),
                     share: {
                         secret: secret,
diff --git a/www/file/main.js b/www/file/main.js
index 8df236235..0c5e8f3a1 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -222,7 +222,7 @@ define([
 
         Title = Cryptpad.createTitle({}, function(){}, Cryptpad);
 
-        var displayed = ['title', 'useradmin', 'newpad', 'limit'];
+        var displayed = ['title', 'useradmin', 'newpad', 'limit', 'upgrade'];
         if (secret && hexFileName) {
             displayed.push('fileshare');
         }
diff --git a/www/pad/main.js b/www/pad/main.js
index 635ea0087..bf53f4998 100644
--- a/www/pad/main.js
+++ b/www/pad/main.js
@@ -453,7 +453,7 @@ define([
                 Metadata = Cryptpad.createMetadata(UserList, Title);
 
                 var configTb = {
-                    displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
+                    displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'],
                     userList: UserList.getToolbarConfig(),
                     share: {
                         secret: secret,
diff --git a/www/poll/main.js b/www/poll/main.js
index 6e42ca75c..eb0edef26 100644
--- a/www/poll/main.js
+++ b/www/poll/main.js
@@ -609,7 +609,7 @@ var create = function (info) {
     Title = Cryptpad.createTitle({}, onLocalTitle, Cryptpad);
 
     var configTb = {
-        displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
+        displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'],
         userList: UserList.getToolbarConfig(),
         share: {
             secret: secret,
diff --git a/www/slide/main.js b/www/slide/main.js
index 6f04f96d0..468ef2fd2 100644
--- a/www/slide/main.js
+++ b/www/slide/main.js
@@ -284,7 +284,7 @@ define([
                 Metadata = Cryptpad.createMetadata(UserList, Title, metadataCfg);
 
                 var configTb = {
-                    displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
+                    displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'],
                     userList: UserList.getToolbarConfig(),
                     share: {
                         secret: secret,
diff --git a/www/whiteboard/main.js b/www/whiteboard/main.js
index 8a8f6e696..dce656473 100644
--- a/www/whiteboard/main.js
+++ b/www/whiteboard/main.js
@@ -296,7 +296,7 @@ window.canvas = canvas;
             Metadata = Cryptpad.createMetadata(UserList, Title, metadataCfg);
 
             var configTb = {
-                displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit'],
+                displayed: ['title', 'useradmin', 'spinner', 'lag', 'state', 'share', 'userlist', 'newpad', 'limit', 'upgrade'],
                 userList: UserList.getToolbarConfig(),
                 share: {
                     secret: secret,

From 8507f7711636bf6e9c4dfa543c9389b19e63a93b Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 16:27:42 +0200
Subject: [PATCH 177/236] throw if adminEmail and allowSubscriptions are not
 compatible

---
 rpc.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/rpc.js b/rpc.js
index fc204d87c..f108b1ab8 100644
--- a/rpc.js
+++ b/rpc.js
@@ -373,7 +373,10 @@ var getHash = function (Env, publicKey, cb) {
 // To each key is associated an object containing the 'limit' value and a 'note' explaining that limit
 var limits = {};
 var updateLimits = function (config, publicKey, cb) {
-    if (config.adminEmail === false && config.allowSubscriptions === false) { return; }
+    if (config.adminEmail === false) {
+        if (config.allowSubscriptions === false) { return; }
+        throw new Error("allowSubscriptions must be false if adminEmail is false");
+    }
     if (typeof cb !== "function") { cb = function () {}; }
 
     var defaultLimit = typeof(config.defaultStorageLimit) === 'number'?

From cb2efe138b2d52f899313c92b90500167d528a31 Mon Sep 17 00:00:00 2001
From: Daniel RADEAU <daniel.radeau@alterway.fr>
Date: Tue, 30 May 2017 16:36:06 +0200
Subject: [PATCH 178/236] Media Tag integration, image, audio, video, pdf

---
 config.modifs.js        | 233 ++++++++++++++++++++++++++++++++++++++++
 www/common/boot2.js     |   4 +-
 www/common/media-tag.js |   2 +-
 www/media/main.js       |  28 ++++-
 4 files changed, 264 insertions(+), 3 deletions(-)
 create mode 100644 config.modifs.js

diff --git a/config.modifs.js b/config.modifs.js
new file mode 100644
index 000000000..1216b3c98
--- /dev/null
+++ b/config.modifs.js
@@ -0,0 +1,233 @@
+/*@flow*/
+/*
+    globals module
+*/
+module.exports = {
+
+    // the address you want to bind to, :: means all ipv4 and ipv6 addresses
+    // this may not work on all operating systems
+    httpAddress: '::',
+
+    // the port on which your httpd will listen
+
+    /*  Cryptpad can be configured to send customized HTTP Headers
+     *  These settings may vary widely depending on your needs
+     *  Examples are provided below
+     */
+
+    httpHeaders: {
+        "X-XSS-Protection": "1; mode=block",
+        "X-Content-Type-Options": "nosniff",
+        // 'X-Frame-Options': 'SAMEORIGIN',
+    },
+
+    contentSecurity: [
+        "default-src 'none'",
+        "style-src 'unsafe-inline' 'self'",
+        "script-src 'self'",
+        "font-src 'self'",
+
+        /*  child-src is used to restrict iframes to a set of allowed domains.
+         *  connect-src is used to restrict what domains can connect to the websocket.
+         *
+         *  it is recommended that you configure these fields to match the
+         *  domain which will serve your cryptpad instance.
+         */
+        "child-src 'self' *",
+
+        /*  this allows connections over secure or insecure websockets
+            if you are deploying to production, you'll probably want to remove
+            the ws://* directive, and change '*' to your domain
+         */
+        "connect-src 'self' ws: wss: blob:",
+
+        // data: is used by codemirror
+        "img-src 'self' data: blob:",
+        "media-src 'self' data: blob:"
+    ].join('; '),
+
+    // CKEditor requires significantly more lax content security policy in order to function.
+    padContentSecurity: [
+        "default-src 'none'",
+        "style-src 'unsafe-inline' 'self'",
+        // Unsafe inline, unsafe-eval are needed for ckeditor :(
+        "script-src 'self' 'unsafe-eval' 'unsafe-inline'",
+        "font-src 'self'",
+
+        /*  See above under 'contentSecurity' as to how these values should be
+         *  configured for best effect.
+         */
+         "child-src 'self' *",
+
+        // see the comment above in the 'contentSecurity' section
+         "connect-src 'self' ws: wss: blob:",
+
+        // (insecure remote) images are included by users of the wysiwyg who embed photos in their pads
+        "img-src *",
+        "media-src *"
+    ].join('; '),
+
+    httpPort: 3000,
+
+    /*  your server's websocket url is configurable
+     *  (default: '/cryptpad_websocket')
+     *
+     *  websocketPath can be relative, of the form '/path/to/websocket'
+     *  or absolute, specifying a particular URL
+     *
+     *  'wss://cryptpad.fr:3000/cryptpad_websocket'
+     */
+    websocketPath: '/cryptpad_websocket',
+
+    /*  it is assumed that your websocket will bind to the same port as http
+     *  you can override this behaviour by supplying a number via websocketPort
+     */
+    //websocketPort: 3000,
+
+    /*  if you want to run a different version of cryptpad but using the same websocket
+     *  server, you should use the other server port as websocketPort and disable
+     *  the websockets on that server
+     */
+    //useExternalWebsocket: false,
+
+    /*  If Cryptpad is proxied without using https, the server needs to know.
+     *  Specify 'useSecureWebsockets: true' so that it can send
+     *  Content Security Policy Headers that prevent http and https from mixing
+     */
+     useSecureWebsockets: false,
+
+    /*  Cryptpad can log activity to stdout
+     *  This may be useful for debugging
+     */
+    logToStdout: false,
+
+    /*  Cryptpad supports verbose logging
+     *  (false by default)
+     */
+     verbose: false,
+
+    /*  Main pages
+     *  add exceptions to the router so that we can access /privacy.html
+     *  and other odd pages
+     */
+    mainPages: [
+        'index',
+        'privacy',
+        'terms',
+        'about',
+        'contact',
+    ],
+
+    /*  Domain
+     *  If you want to have enable payments on your CryptPad instance, it has to be able to tell
+     *  our account server what is your domain
+     */
+    // domain: 'https://cryptpad.fr',
+
+    /*
+        You have the option of specifying an alternative storage adaptor.
+        These status of these alternatives are specified in their READMEs,
+        which are available at the following URLs:
+
+        mongodb: a noSQL database
+            https://github.com/xwiki-labs/cryptpad-mongo-store
+        amnesiadb: in memory storage
+            https://github.com/xwiki-labs/cryptpad-amnesia-store
+        leveldb: a simple, fast, key-value store
+            https://github.com/xwiki-labs/cryptpad-level-store
+        sql: an adaptor for a variety of sql databases via knexjs
+            https://github.com/xwiki-labs/cryptpad-sql-store
+
+        For the most up to date solution, use the default storage adaptor.
+    */
+    storage: './storage/file',
+
+    /*
+        Cryptpad stores each document in an individual file on your hard drive.
+        Specify a directory where files should be stored.
+        It will be created automatically if it does not already exist.
+    */
+    filePath: './datastore/',
+
+    /*  CryptPad allows logged in users to request that particular documents be
+     *  stored by the server indefinitely. This is called 'pinning'.
+     *  Pin requests are stored in a pin-store. The location of this store is
+     *  defined here.
+     */
+    pinPath: './pins',
+
+    /*  CryptPad allows logged in users to upload encrypted files. Files/blobs
+     *  are stored in a 'blob-store'. Set its location here.
+     */
+    blobPath: './blob',
+
+    /*  CryptPad stores incomplete blobs in a 'staging' area until they are
+     *  fully uploaded. Set its location here.
+     */
+    blobStagingPath: './blobstage',
+
+    /*  Cryptpad's file storage adaptor closes unused files after a configurale
+     *  number of milliseconds (default 30000 (30 seconds))
+     */
+    channelExpirationMs: 30000,
+
+    /*  Cryptpad's file storage adaptor is limited by the number of open files.
+     *  When the adaptor reaches openFileLimit, it will clean up older files
+     */
+    openFileLimit: 2048,
+
+    /*  Cryptpad's socket server can be extended to respond to RPC calls
+     *  you can configure it to respond to custom RPC calls if you like.
+     *  provide the path to your RPC module here, or `false` if you would
+     *  like to disable the RPC interface completely
+     */
+    rpc: './rpc.js',
+
+    /*  RPC errors are shown by default, but if you really don't care,
+     *  you can suppress them
+     */
+    suppressRPCErrors: false,
+
+
+    /* WARNING: EXPERIMENTAL
+     *
+     *  CryptPad features experimental support for encrypted file upload.
+     *  Our encryption format is still liable to change. As such, we do not
+     *  guarantee that files uploaded now will be supported in the future
+     */
+
+    /*  Setting this value to anything other than true will cause file upload
+     *  attempts to be rejected outright.
+     */
+    enableUploads: true,
+
+    /*  If you have enabled file upload, you have the option of restricting it
+     *  to a list of users identified by their public keys. If this value is set
+     *  to true, your server will query a file (cryptpad/privileged.conf) when
+     *  users connect via RPC. Only users whose public keys can be found within
+     *  the file will be allowed to upload.
+     *
+     *  privileged.conf uses '#' for line comments, and splits keys by newline.
+     *  This is a temporary measure until a better quota system is in place.
+     *  registered users' public keys can be found on the settings page.
+     */
+    restrictUploads: false,
+
+    /*  clients can use the /settings/ app to opt out of usage feedback
+     *  which informs the server of things like how much each app is being
+     *  used, and whether certain clientside features are supported by
+     *  the client's browser. The intent is to provide feedback to the admin
+     *  such that the service can be improved. Enable this with `true`
+     *  and ignore feedback with `false` or by commenting the attribute
+     */
+    //logFeedback: true,
+
+    /* it is recommended that you serve cryptpad over https
+     * the filepaths below are used to configure your certificates
+     */
+    //privKeyAndCertFiles: [
+    //  '/etc/apache2/ssl/my_secret.key',
+    //  '/etc/apache2/ssl/my_public_cert.crt',
+    //  '/etc/apache2/ssl/my_certificate_authorities_cert_chain.ca'
+    //],
+};
diff --git a/www/common/boot2.js b/www/common/boot2.js
index d894191e8..76ce9bcf9 100644
--- a/www/common/boot2.js
+++ b/www/common/boot2.js
@@ -7,7 +7,9 @@ define([], function () {
             // jquery declares itself as literally "jquery" so it cannot be pulled by path :(
             "jquery": "/bower_components/jquery/dist/jquery.min",
             // json.sortify same
-            "json.sortify": "/bower_components/json.sortify/dist/JSON.sortify"
+            "json.sortify": "/bower_components/json.sortify/dist/JSON.sortify",
+            "pdfjs-dist/build/pdf": "/bower_components/pdfjs-dist/build/pdf",
+            "pdfjs-dist/build/pdf.worker": "/bower_components/pdfjs-dist/build/pdf.worker"
         }
     });
 
diff --git a/www/common/media-tag.js b/www/common/media-tag.js
index 370b0e93d..1f1bc7445 100644
--- a/www/common/media-tag.js
+++ b/www/common/media-tag.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=82)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=n(5),c=n(8),s=n(12),f=function(){function e(){o(this,e)}return i(e,null,[{key:"start",value:function(t){var n=e.unstack(t);n?n.type!==u.SANITIZER&&e.fill(t):e.fill(t),e.snapshot(t),e.check(t),e.run(t)}},{key:"snapshot",value:function(t){var n=t.getId();if(e.stacks[n]){var r=[];e.stacks[n].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),r.push(t)}),e.snapshots[n]?e.snapshots[n].push({stack:r}):e.snapshots[n]=[{stack:r}]}else e.snapshots[n]=[]}},{key:"fill",value:function(t){var n=[],o=t.getId(),i=c.getPlugins(u.MATCHER),s=i.filter(function(e){return e.process(t)}),f=s.map(function(e){return e.getIdentifier()}),l=c.values(),p=l.filter(function(e){return e.type!==u.MATCHER&&f.includes(e.identifier)}),y=c.filterByOccurrencies(p),b=!0,h=!1,v=void 0;try{for(var w,d=y.once[Symbol.iterator]();!(b=(w=d.next()).done);b=!0){var g=w.value;n.push(g),y.every&&n.push.apply(n,r(y.every))}}catch(e){h=!0,v=e}finally{try{!b&&d.return&&d.return()}finally{if(h)throw v}}var m=!0,O=!1,E=void 0;try{for(var k,_=y.any[Symbol.iterator]();!(m=(k=_.next()).done);m=!0){var j=k.value;n.push(j),y.every&&n.push.apply(n,r(y.every))}}catch(e){O=!0,E=e}finally{try{!m&&_.return&&_.return()}finally{if(O)throw E}}if(e.stacks[o]){var P=n.shift();if(P){if(P.occurrence!==a.ONCE)throw new Error("The last plugin is not runnable once");var T;(T=e.stacks[o]).push.apply(T,n)}else{var A;(A=e.stacks[o]).push.apply(A,n)}}else e.stacks[o]=n}},{key:"unstack",value:function(t){var n=t.getId();return e.stacks[n]?e.stacks[n].pop():null}},{key:"check",value:function(t){var n=t.getId();if(e.stacks[n].length>=e.STACK_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin stack size exceed");if(e.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(e.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(e.stacks[n].forEach(function(e){e.type===u.RENDERER&&r++}),r<1&&e.stacks[n].unshift(e.defaultPlugin),r>1)throw new Error("More of one renderer in the stack")}},{key:"return",value:function(t){e.start(t)}},{key:"run",value:function(t){var n=t.getId(),r=e.stacks[n].length,o=e.stacks[n][r-1];if(!o)throw console.log(e.stacks),new Error("Impossible to run a undefined plugin");o.process(t)}}]),e}();f.stacks={},f.STACK_LIMIT=1e3,f.snapshots={},f.SNAPSHOT_LIMIT=1e3,f.defaultPlugin=new s,e.exports=f},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"getPlugins",value:function(t){return e.values().filter(function(e){return e.type===t})}},{key:"store",value:function(t){e.isStored([t.identifier,t.type])&&console.warn('The key "'+[t.identifier,t.type]+'" is already registered, the content will be overwritten.'),e.map[[t.identifier,t.type]]=t}},{key:"unstore",value:function(t){e.isStored([t.identifier,t.type])?delete e.map[[t.identifier,t.type]]:console.warn('The key "'+[t.identifier,t.type]+'" not exists in this manager')}},{key:"print",value:function(){console.log(e.keys(),e.values())}},{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return e.message="<p>MediaTag hasn't found the best renderer for your source, please can download the content by clicking the button below</p>",e}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML="Download",n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(43),u=function(){function e(){r(this,e)}return o(e,null,[{key:"createUri",value:function(t,n){return e.pluginsPathForTarget+"/"+n+"s/"+t}},{key:"store",value:function(t,n){var r=e.createUri(t,n);i.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),i.map[t]=r}},{key:"isStored",value:function(e){return!!i.get(e)}},{key:"unstore",value:function(e){i.isStored(e)?delete i.map[e]:console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return i.map[e]}},{key:"keys",value:function(){return Object.keys(i.map)}},{key:"values",value:function(){return i.keys().map(function(e){return i.get(e)})}},{key:"knows",value:function(e){var t=Object.keys(i.map),n=Object.keys(i.map).map(function(e){return i.map[e]});return t.some(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]})||n.some(function(t){return t===e})}},{key:"like",value:function(e){return Object.keys(i.map).filter(function(t){var n={};return n[e]=null,t===Object.keys(n)[0]||i.map[t]===e}).map(function(e){var t={};return t[e]=i.map[e],t})}}]),e}();u.Store=new i,e.exports=u},function(e,t,n){"use strict";var r=n(19),o=n(21);r.setMap(o);var i=n(31),u=n(28),a=n(33),c=n(32),s=n(29),f=n(30),l=n(27),p=n(26),y=n(34),b=n(37),h=n(35),v=n(39),w=n(38),d=n(36),g=n(12),m=n(25),O=n(24),E=n(41),k=n(18),_=n(17);r.PluginStore.store(new i),r.PluginStore.store(new u),r.PluginStore.store(new a),r.PluginStore.store(new c),r.PluginStore.store(new s),r.PluginStore.store(new f),r.PluginStore.store(new l),r.PluginStore.store(new p),r.PluginStore.store(new y),r.PluginStore.store(new b),r.PluginStore.store(new h),r.PluginStore.store(new v),r.PluginStore.store(new w),r.PluginStore.store(new d),r.PluginStore.store(new g),r.PluginStore.store(new m),r.PluginStore.store(new O),r.PluginStore.store(new E),m.FunctionStore.store("salsa20poly1305",k),m.FunctionStore.store("cryptpad",_),e.exports=r},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t);f.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var o=n.content,i=l.getBlobUrl(o,e.getMimeType()),u=new Event("decryption");u.blob=new Blob([o],{type:e.getMimeType()}),u.metadata=n.metadata,e.setAttribute("src",i),e.removeAttribute("data-crypto-key"),u.callback=function(){a.return(e)},window.document.dispatchEvent(u)})}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=!0,s=131088,f=function(){function e(){r(this,e)}return i(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(c){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),f=e.decodePrefix(c),l={metadata:void 0},p=new Uint8Array(t.subarray(2,2+f)),y=o.secretbox.open(p,u,n);e.increment(u);try{l.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!l.metadata)return r("NO_METADATA");var b=function(r){var c=a*s+2+f,l=c+s;a++;var p=new Uint8Array(t.subarray(c,l)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(l,t.length)),r(void 0,y)},h=[];!function n(){b(function(o,i){return o?setTimeout(function(){r(o)}):i?a*s<t.length?(h.push(i),n()):(h.push(i),l.content=e.joinChunks(h),r(void 0,l)):void r("UNEXPECTED_ENDING")})}()}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=c.getKeyFromStr(n),o=new XMLHttpRequest;o.open("GET",t,!0),o.responseType="arraybuffer",o.onload=function(){var t=o.response;if(t){var n=new Uint8Array(t),i=c.decrypt(n,r),u=s.getBlobUrl(i,e.getMimeType()),f=new Event("decryption");f.blob=new Blob([i],{type:e.getMimeType()}),window.document.dispatchEvent(f),e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),a.return(e)}},o.send(null)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(10),a=n(4),c=function(){function e(){r(this,e)}return i(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();c.Nacl=window.nacl;var s=function(){function e(){r(this,e)}return i(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new u.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+c.Nacl.util.encodeBase64(e)}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(23),i=n(22),u=n(20),a=n(4),c=n(8),s=n(13);r.createMediaObject=function(e){var t=new i(e),n=o.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);a.start(t)},r.setMap=u.setMap,r.PluginStore=c,r.UriStore=s,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(8),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"start",value:function(t){var n=i.getPlugins(u.MATCHER),r=n.filter(function(e){return e.process(t)}),o=r.map(function(e){return e.getIdentifier()}),a={};return o.forEach(function(t){if(!e.map)throw new Error("No map registrated for the matching engine");a[t]=e.map.get(t)}),a}},{key:"setMap",value:function(t){e.map=t}}]),e}();e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(13);i.pluginsPathForTarget="../plugins",i.store(o.IMAGE,r.RENDERER),i.store(o.AUDIO,r.RENDERER),i.store(o.VIDEO,r.RENDERER),i.store(o.PDF,r.RENDERER),i.store(o.DASH,r.RENDERER),i.store(o.CRYPTO,r.FILTER),i.store(o.CLEAR_KEY,r.FILTER),i.store(o.MEDIA_OBJECT,r.SANITIZER),e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){return e.getAttribute("data-type").split("/")[1]}},{key:"type",value:function(e){return e.getAttribute("data-type").split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(42),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.FunctionStore.hasFunction(i))throw new Error("Algorithm "+i+" is not registered");t.FunctionStore.get(i)(e)}}]),t}(a);f.FunctionStore=s,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(3),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(40),c=n(0),s=n(4),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){console.log("Some stuff to sanitize media object"),s.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"hasFunction",value:function(t){return!!e.get(t)}},{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"isStored",value:function(t){return!!e.get(t)}},{key:"store",value:function(t,n){e.isStored(t)&&console.warn('The key "'+t+'" is already registered, the content will be overwritten.'),e.map[t]=n}},{key:"unstore",value:function(t){e.isStored(t)?delete e.map[t]:console.warn('The key "'+t+'" not exists in this manager')}},{key:"get",value:function(t){return e.map[t]}},{key:"keys",value:function(){return Object.keys(e.map)}},{key:"values",value:function(){return e.keys().map(function(t){return e.get(t)})}},{key:"knows",value:function(t){var n=Object.keys(e.map),r=Object.keys(e.map).map(function(t){return e.map[t]});return n.some(function(e){var n={};return n[t]=null,e===Object.keys(n)[0]})||r.some(function(e){return e===t})}},{key:"like",value:function(t){return Object.keys(e.map).filter(function(n){var r={};return r[t]=null,n===Object.keys(r)[0]||e.map[n]===t}).map(function(t){var n={};return n[t]=e.map[t],n})}}]),e}();i.map={},e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(14)}])});
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(26),i=n(25),u=n(44),a=n(45),c=n(24),s=n(23);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(37),u=n(41),a=n(40),c=n(38),s=n(14),f=n(7),l=n(27),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(21),h=n(20);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h),r.CryptoFilter=f;var b=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(b);var v=n(22),d=(n(13),n(0),new v);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.setAttribute("data-attr-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",console.log(s.getAllowedMediaTypes()))}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var i=n.content,u=y.getBlobUrl(i,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([i],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(3),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(3),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(15),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(15),a=n(1),c=n(46),s=n(14),f=n(13),l=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[]}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===f.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");0!==this.stacks[n].length||this.stats[n][a.RENDERER]||this.stacks[n].unshift(e.defaultPlugin)}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}}]),e}();l.STACK_LIMIT=100,l.SNAPSHOT_LIMIT=100,l.defaultPlugin=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download"),e.exports=l},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(17),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(33),o=n(30),i=n(35),u=n(34),a=n(31),c=n(32),s=n(29),f=n(28),l=n(36),p=n(3);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(16)}])});
\ No newline at end of file
diff --git a/www/media/main.js b/www/media/main.js
index 81820f8c0..804eced6f 100644
--- a/www/media/main.js
+++ b/www/media/main.js
@@ -6,6 +6,8 @@ define([
     '/common/cryptpad-common.js',
     //'/common/visible.js',
     //'/common/notify.js',
+    'pdfjs-dist/build/pdf',
+    'pdfjs-dist/build/pdf.worker',
     '/bower_components/tweetnacl/nacl-fast.min.js',
     '/bower_components/file-saver/FileSaver.min.js',
 ], function ($, Crypto, realtimeInput, Toolbar, Cryptpad /*, Visible, Notify*/) {
@@ -57,7 +59,7 @@ define([
         var $mt = $iframe.find('#encryptedFile');
         $mt.attr('src', '/blob/' + hexFileName.slice(0,2) + '/' + hexFileName);
         $mt.attr('data-crypto-key', 'cryptpad:'+cryptKey);
-        $mt.attr('data-type', type);
+        // $mt.attr('data-type', type);
 
         $(window.document).on('decryption', function (e) {
             var decrypted = e.originalEvent;
@@ -98,6 +100,30 @@ define([
 
             updateTitle(Cryptpad.initialName || getTitle() || defaultName);
 
+            /**
+             * Allowed mime types that have to be set for a rendering after a decryption.
+             *
+             * @type       {Array}
+             */
+            const allowedMediaTypes = [
+                'image/png',
+                'image/jpeg',
+                'image/jpg',
+                'image/gif',
+                'audio/mp3',
+                'audio/ogg',
+                'audio/wav',
+                'audio/webm',
+                'video/mp4',
+                'video/ogg',
+                'video/webm',
+                'application/pdf',
+                'application/dash+xml',
+                'download'
+            ];
+
+            MediaTag.CryptoFilter.setAllowedMediaTypes(allowedMediaTypes);
+
             MediaTag($mt[0]);
 
             Cryptpad.removeLoadingScreen();

From ec6ad6772b6fe2779bd3336a50f69ad152640e24 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 17:25:36 +0200
Subject: [PATCH 179/236] send feedback on donation

---
 www/common/toolbar2.js | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js
index 127fce91d..382b2de91 100644
--- a/www/common/toolbar2.js
+++ b/www/common/toolbar2.js
@@ -702,14 +702,22 @@ define([
         if (Cryptpad.account.plan) { return; }
 
         var text;
+        var feedback;
         if (ApiConfig.allowSubscriptions && Cryptpad.isLoggedIn()) {
             text = Messages.upgradeAccount;
-        } else { text = Messages.supportCryptpad; }
+            feedback = "UPGRADE_ACCOUNT";
+        } else {
+            text = Messages.supportCryptpad;
+            feedback = "SUPPORT_CRYPTPAD";
+        }
 
         var $upgrade = toolbar.$top.find('.' + UPGRADE_CLS).attr({
             'title': Messages.supportCryptpad
         }).text(text).show()
-        .click(function () { window.open(Cryptpad.donateURL,'_blank'); });
+        .click(function () {
+            Cryptpad.feedback(feedback);
+            window.open(Cryptpad.donateURL,'_blank');
+        });
         return $upgrade;
     };
 

From 149568689ab6cc40253635d2d9bc7848958f2439 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 17:58:31 +0200
Subject: [PATCH 180/236] color donate button green

---
 www/common/toolbar2.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js
index 382b2de91..7c24bc900 100644
--- a/www/common/toolbar2.js
+++ b/www/common/toolbar2.js
@@ -71,7 +71,7 @@ define([
         var $userContainer = $('<span>', {
             'class': USER_CLS
         }).appendTo($topContainer);
-        $('<button>', {'class': UPGRADE_CLS}).hide().appendTo($userContainer);
+        $('<button>', {'class': UPGRADE_CLS + ' buttonSuccess'}).hide().appendTo($userContainer);
         $('<span>', {'class': SPINNER_CLS}).hide().appendTo($userContainer);
         $('<span>', {'class': STATE_CLS}).hide().appendTo($userContainer);
         $('<span>', {'class': LAG_CLS}).hide().appendTo($userContainer);

From ebfa228bc0c7c91486b429685e992e3e29a48309 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 18:39:41 +0200
Subject: [PATCH 181/236] add upgrade button to all static pages

---
 customize.dist/about.html                |  3 +++
 customize.dist/contact.html              |  3 +++
 customize.dist/index.html                |  3 +++
 customize.dist/main.css                  | 16 ++++++++++++++++
 customize.dist/main.js                   | 13 ++++++++++---
 customize.dist/privacy.html              |  3 +++
 customize.dist/src/fragments/topbar.html |  3 +++
 customize.dist/src/less/topbar.less      | 18 ++++++++++++++++++
 customize.dist/terms.html                |  3 +++
 www/common/cryptpad-common.js            |  3 ++-
 www/settings/index.html                  |  3 +++
 www/settings/main.js                     | 11 +++++++++++
 www/user/index.html                      |  3 +++
 13 files changed, 81 insertions(+), 4 deletions(-)

diff --git a/customize.dist/about.html b/customize.dist/about.html
index 954a3fb6f..3873351dc 100644
--- a/customize.dist/about.html
+++ b/customize.dist/about.html
@@ -39,6 +39,9 @@
     <span class="link right">
         <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a>
     </span>
+    <span class="link right">
+        <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button>
+    </span>
 </div>
 
 
diff --git a/customize.dist/contact.html b/customize.dist/contact.html
index 5d43d15a5..182912748 100644
--- a/customize.dist/contact.html
+++ b/customize.dist/contact.html
@@ -39,6 +39,9 @@
     <span class="link right">
         <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a>
     </span>
+    <span class="link right">
+        <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button>
+    </span>
 </div>
 
 
diff --git a/customize.dist/index.html b/customize.dist/index.html
index a1b1fe56b..9f5195b68 100644
--- a/customize.dist/index.html
+++ b/customize.dist/index.html
@@ -39,6 +39,9 @@
     <span class="link right">
         <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a>
     </span>
+    <span class="link right">
+        <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button>
+    </span>
 </div>
 
 
diff --git a/customize.dist/main.css b/customize.dist/main.css
index 50572f14b..36bc87fdc 100644
--- a/customize.dist/main.css
+++ b/customize.dist/main.css
@@ -525,6 +525,22 @@
   margin: 0px 10px;
   line-height: 40px;
 }
+#cryptpadTopBar .right .buttonSuccess {
+  color: #fff;
+  background: #5cb85c;
+  border-color: #5cb85c;
+}
+#cryptpadTopBar .right .buttonSuccess:hover {
+  color: #fff;
+  background: #449d44;
+  border: 1px solid #419641;
+}
+#cryptpadTopBar .right .buttonSuccess span {
+  color: #fff;
+}
+#cryptpadTopBar .right .buttonSuccess .large {
+  margin-left: 5px;
+}
 #cryptpadTopBar .right button .buttonTitle .fa-user {
   margin-right: 5px;
 }
diff --git a/customize.dist/main.js b/customize.dist/main.js
index 088e1f51a..4e150682a 100644
--- a/customize.dist/main.js
+++ b/customize.dist/main.js
@@ -2,7 +2,7 @@ define([
     'jquery',
     '/customize/application_config.js',
     '/common/cryptpad-common.js'
-], function ($, Config, Cryptpad) {
+], function ($, Config, Cryptpad, ApiConfig) {
 
     window.APP = {
         Cryptpad: Cryptpad,
@@ -19,6 +19,8 @@ define([
         $sel.find('button').addClass('btn').addClass('btn-secondary');
         $sel.show();
 
+        var $upgrade = $('#upgrade');
+
         // User admin menu
         var $userMenu = $('#user-menu');
         var userMenuCfg = {
@@ -31,7 +33,6 @@ define([
             $('.cryptpad-dropdown').hide();
         });
 
-
         // main block is hidden in case javascript is disabled
         $main.removeClass('hidden');
 
@@ -57,11 +58,17 @@ define([
                 });
             });
 
+            if (!localStorage.plan) {
+                $upgrade.show().text(Messages.upgradeAccount);
+            }
+
+
             $loggedInBlock.removeClass('hidden');
             //return;
         } else {
             $main.find('#userForm').removeClass('hidden');
             $('#name').focus();
+            $upgrade.show().text(Messages.supportCryptpad);
         }
 
         var displayCreateButtons = function () {
@@ -88,8 +95,8 @@ define([
             var $block = Cryptpad.createDropdown(dropdownConfig);
             $block.find('button').addClass('btn').addClass('btn-primary');
             $block.appendTo($parent);
-        };
 
+        };
 
         /* Log in UI */
         var Login;
diff --git a/customize.dist/privacy.html b/customize.dist/privacy.html
index 35bab1958..13cf05dab 100644
--- a/customize.dist/privacy.html
+++ b/customize.dist/privacy.html
@@ -39,6 +39,9 @@
     <span class="link right">
         <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a>
     </span>
+    <span class="link right">
+        <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button>
+    </span>
 </div>
 
 
diff --git a/customize.dist/src/fragments/topbar.html b/customize.dist/src/fragments/topbar.html
index a6b459b35..c1ed7e24b 100644
--- a/customize.dist/src/fragments/topbar.html
+++ b/customize.dist/src/fragments/topbar.html
@@ -24,4 +24,7 @@
     <span class="link right">
         <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a>
     </span>
+    <span class="link right">
+        <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button>
+    </span>
 </div>
diff --git a/customize.dist/src/less/topbar.less b/customize.dist/src/less/topbar.less
index b10309f61..a394c4eeb 100644
--- a/customize.dist/src/less/topbar.less
+++ b/customize.dist/src/less/topbar.less
@@ -47,6 +47,24 @@
         margin: 0px 10px;
         line-height: 40px;
 
+        .buttonSuccess {
+            // Bootstrap 4 colors
+            color: #fff;
+            background: @toolbar-green;
+            border-color: @toolbar-green;
+            &:hover {
+                color: #fff;
+                background: #449d44;
+                border: 1px solid #419641;
+            }
+            span {
+                color: #fff;
+            }
+            .large {
+                margin-left: 5px;
+            }
+        }
+
         button {
             .buttonTitle {
                 .fa-user {
diff --git a/customize.dist/terms.html b/customize.dist/terms.html
index 2504b1147..e5e09e9a0 100644
--- a/customize.dist/terms.html
+++ b/customize.dist/terms.html
@@ -39,6 +39,9 @@
     <span class="link right">
         <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a>
     </span>
+    <span class="link right">
+        <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button>
+    </span>
 </div>
 
 
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index ddad01e68..0c68d425c 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -217,6 +217,7 @@ define([
             userNameKey,
             userHashKey,
             'loginToken',
+            'plan',
         ].forEach(function (k) {
             sessionStorage.removeItem(k);
             localStorage.removeItem(k);
@@ -1433,7 +1434,7 @@ define([
                         common.getPinLimit(function (e, limit, plan, note) {
                             if (e) { return void console.error(e); }
                             common.account.limit = limit;
-                            common.account.plan = plan;
+                            localStorage.plan = common.account.plan = plan;
                             common.account.note = note;
                             cb();
                         });
diff --git a/www/settings/index.html b/www/settings/index.html
index f6ab459c9..3098251de 100644
--- a/www/settings/index.html
+++ b/www/settings/index.html
@@ -40,6 +40,9 @@
     <span class="link right">
         <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a>
     </span>
+    <span class="link right">
+        <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button>
+    </span>
 </div>
 
 
diff --git a/www/settings/main.js b/www/settings/main.js
index 546c93749..0c16e9864 100644
--- a/www/settings/main.js
+++ b/www/settings/main.js
@@ -14,6 +14,8 @@ define([
         _onRefresh: []
     };
 
+    var $upgrade = $('#upgrade');
+
     var Messages = Cryptpad.Messages;
 
     // Manage changes in the realtime object made from another page
@@ -324,6 +326,15 @@ define([
         APP.$container.append(createUserFeedbackToggle(obj));
         obj.proxy.on('change', [], refresh);
         obj.proxy.on('remove', [], refresh);
+
+
+        if (Cryptpad.isLoggedIn()) {
+            if (!Cryptpad.account.plan) {
+                $upgrade.text(Messages.upgradeAccount).show();
+            }
+        } else {
+            $upgrade.text(Messages.supportCryptpad).show();
+        }
     };
 
     $(function () {
diff --git a/www/user/index.html b/www/user/index.html
index f6ab459c9..3098251de 100644
--- a/www/user/index.html
+++ b/www/user/index.html
@@ -40,6 +40,9 @@
     <span class="link right">
         <a href="https://blog.cryptpad.fr/" data-localization="blog">Blog</a>
     </span>
+    <span class="link right">
+        <button id="upgrade" class="upgrade btn buttonSuccess" style="display: none;"></button>
+    </span>
 </div>
 
 

From daf112a5b5a294f38c017aea730ab3c9e9b489fd Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 30 May 2017 20:11:15 +0200
Subject: [PATCH 182/236] take api settings into account for upgrade button

---
 customize.dist/main.js | 18 +++++++++++-------
 www/settings/main.js   | 17 +++++++++++------
 2 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/customize.dist/main.js b/customize.dist/main.js
index 4e150682a..b6149b8ef 100644
--- a/customize.dist/main.js
+++ b/customize.dist/main.js
@@ -1,7 +1,8 @@
 define([
     'jquery',
     '/customize/application_config.js',
-    '/common/cryptpad-common.js'
+    '/common/cryptpad-common.js',
+    '/api/config',
 ], function ($, Config, Cryptpad, ApiConfig) {
 
     window.APP = {
@@ -21,6 +22,13 @@ define([
 
         var $upgrade = $('#upgrade');
 
+        var showUpgrade = function (text) {
+            if (ApiConfig.removeDonateButton) { return; }
+            if (localStorage.plan) { return; }
+            if (!text) { return; }
+            $upgrade.text(text).show();
+        };
+
         // User admin menu
         var $userMenu = $('#user-menu');
         var userMenuCfg = {
@@ -58,17 +66,13 @@ define([
                 });
             });
 
-            if (!localStorage.plan) {
-                $upgrade.show().text(Messages.upgradeAccount);
-            }
-
+            showUpgrade(Messages.upgradeAccount);
 
             $loggedInBlock.removeClass('hidden');
-            //return;
         } else {
             $main.find('#userForm').removeClass('hidden');
             $('#name').focus();
-            $upgrade.show().text(Messages.supportCryptpad);
+            showUpgrade(Messages.supportCryptpad);
         }
 
         var displayCreateButtons = function () {
diff --git a/www/settings/main.js b/www/settings/main.js
index 0c16e9864..d02825fc1 100644
--- a/www/settings/main.js
+++ b/www/settings/main.js
@@ -3,8 +3,9 @@ define([
     '/common/cryptpad-common.js',
     '/common/cryptget.js',
     '/common/mergeDrive.js',
-    '/bower_components/file-saver/FileSaver.min.js'
-], function ($, Cryptpad, Crypt, Merge) {
+    '/api/config',
+    '/bower_components/file-saver/FileSaver.min.js',
+], function ($, Cryptpad, Crypt, Merge, ApiConfig) {
     var saveAs = window.saveAs;
 
     var USERNAME_KEY = 'cryptpad.username';
@@ -15,6 +16,12 @@ define([
     };
 
     var $upgrade = $('#upgrade');
+    var showUpgrade = function (text) {
+        if (ApiConfig.removeDonateButton) { return; }
+        if (localStorage.plan) { return; }
+        if (!text) { return; }
+        $upgrade.text(text).show();
+    };
 
     var Messages = Cryptpad.Messages;
 
@@ -329,11 +336,9 @@ define([
 
 
         if (Cryptpad.isLoggedIn()) {
-            if (!Cryptpad.account.plan) {
-                $upgrade.text(Messages.upgradeAccount).show();
-            }
+            showUpgrade(Messages.upgradeAccount);
         } else {
-            $upgrade.text(Messages.supportCryptpad).show();
+            showUpgrade(Messages.supportCryptpad);
         }
     };
 

From 1c04af5b30b47c5cbab315be45023f2d659d08a0 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 10:07:58 +0200
Subject: [PATCH 183/236] add disclaimer to top of example nginx config

---
 example.nginx.conf | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/example.nginx.conf b/example.nginx.conf
index fcb8b7435..37cb0da60 100644
--- a/example.nginx.conf
+++ b/example.nginx.conf
@@ -1,3 +1,9 @@
+#   This file is included strictly as an example of how Nginx can be configured
+#   to work with CryptPad. This example WILL NOT WORK AS IS. For best results,
+#   compare the sections of this configuration file against a working CryptPad
+#   installation (http server by the Nodejs process). If you are using CryptPad
+#   in production, contact sales@cryptpad.fr
+
 server {
     listen 443 ssl http2;
 

From f9023185c16c6498846692b0e1c4e977022f96a9 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 10:10:33 +0200
Subject: [PATCH 184/236] move documentation into docs folder

---
 ARCHITECTURE.md => docs/ARCHITECTURE.md       | 0
 cryptpad-docker.md => docs/cryptpad-docker.md | 0
 example.nginx.conf => docs/example.nginx.conf | 0
 3 files changed, 0 insertions(+), 0 deletions(-)
 rename ARCHITECTURE.md => docs/ARCHITECTURE.md (100%)
 rename cryptpad-docker.md => docs/cryptpad-docker.md (100%)
 rename example.nginx.conf => docs/example.nginx.conf (100%)

diff --git a/ARCHITECTURE.md b/docs/ARCHITECTURE.md
similarity index 100%
rename from ARCHITECTURE.md
rename to docs/ARCHITECTURE.md
diff --git a/cryptpad-docker.md b/docs/cryptpad-docker.md
similarity index 100%
rename from cryptpad-docker.md
rename to docs/cryptpad-docker.md
diff --git a/example.nginx.conf b/docs/example.nginx.conf
similarity index 100%
rename from example.nginx.conf
rename to docs/example.nginx.conf

From 21c39572be2d9f2fcb66e7a9aed982e0a48b100c Mon Sep 17 00:00:00 2001
From: Daniel RADEAU <daniel.radeau@alterway.fr>
Date: Wed, 31 May 2017 11:53:25 +0200
Subject: [PATCH 185/236] Update media-tag and fix bower dependencies

---
 bower.json              | 3 ++-
 www/common/media-tag.js | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/bower.json b/bower.json
index 5734be6ec..0c80203da 100644
--- a/bower.json
+++ b/bower.json
@@ -37,6 +37,7 @@
     "diff-dom": "^2.1.1",
     "alertifyjs": "^1.0.11",
     "scrypt-async": "^1.2.0",
-    "bootstrap": "#v4.0.0-alpha.6"
+    "bootstrap": "#v4.0.0-alpha.6",
+    "pdfjs-dist": "^1.8.398"
   }
 }
diff --git a/www/common/media-tag.js b/www/common/media-tag.js
index 1f1bc7445..446bdd77e 100644
--- a/www/common/media-tag.js
+++ b/www/common/media-tag.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(26),i=n(25),u=n(44),a=n(45),c=n(24),s=n(23);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var e=t.response;e&&saveAs(e)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(37),u=n(41),a=n(40),c=n(38),s=n(14),f=n(7),l=n(27),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(21),h=n(20);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h),r.CryptoFilter=f;var b=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(b);var v=n(22),d=(n(13),n(0),new v);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.setAttribute("data-attr-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",console.log(s.getAllowedMediaTypes()))}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var i=n.content,u=y.getBlobUrl(i,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([i],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(3),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(3),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(15),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(15),a=n(1),c=n(46),s=n(14),f=n(13),l=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[]}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===f.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===f.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");0!==this.stacks[n].length||this.stats[n][a.RENDERER]||this.stacks[n].unshift(e.defaultPlugin)}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}}]),e}();l.STACK_LIMIT=100,l.SNAPSHOT_LIMIT=100,l.defaultPlugin=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download"),e.exports=l},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(e){function t(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function r(t){t||console.log("no event"),0===t.buttons?o===e.numPages?o=1:o++:4===t.buttons&&(1===o?o=e.numPages:o--)}var o=1;e.getPage(o).then(function(e){t(e)}),n.onclick=function(n){r(n),e.getPage(o).then(function(e){t(e)})}},function(e){console.error(e)})}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t])}}]),t}(a);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(17),c=n(0),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(33),o=n(30),i=n(35),u=n(34),a=n(31),c=n(32),s=n(29),f=n(28),l=n(36),p=n(3);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(16)}])});
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(25),i=n(24),u=n(44),a=n(45),c=n(23),s=n(22);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(36),u=n(41),a=n(40),c=n(37),s=n(38),f=n(7),l=n(26),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(20),h=n(19);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h);var b=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download");r.processingEngine.setDefaultPlugin(b),r.CryptoFilter=f;var v=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(v);var g=n(21),d=(n(13),n(0),new g);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",s.getAllowedMediaTypes()),e.name=t.name,e.setAttribute("data-attr-type",t.type)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var i=n.content,u=y.getBlobUrl(i,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([i],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(14),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(14),a=n(1),c=n(46),s=n(13),f=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[],this.defaultPlugin=null}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===s.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");if(0===this.stacks[n].length&&!this.stats[n][a.RENDERER]){if(!this.defaultPlugin)throw new Error("No default plugin assignated");this.stacks[n].unshift(this.defaultPlugin)}}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}},{key:"setDefaultPlugin",value:function(e){this.defaultPlugin=e}}]),e}();f.STACK_LIMIT=100,f.SNAPSHOT_LIMIT=100,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){}),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var n=t.response;if(n)if(e.name)saveAs(n,e.name);else if(e.getAttribute("data-attr-type")){var r=e.getAttribute("data-attr-type"),o=r.split("/"),i=new File([n],"download."+(o[1]||"txt"),{type:r});saveAs(i)}else saveAs(n)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(t){function r(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function o(e){e||console.log("no event"),0===e.buttons?i===t.numPages?i=1:i++:4===e.buttons&&(1===i?i=t.numPages:i--)}var i=1;t.getPage(i).then(function(e){r(e)}),n.onclick=function(e){o(e),t.getPage(i).then(function(e){r(e)})},s.processingEngine.return(e)},function(e){console.error(e)})}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(16),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(32),o=n(29),i=n(34),u=n(33),a=n(30),c=n(31),s=n(28),f=n(27),l=n(35),p=n(2);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(15)}])});
\ No newline at end of file

From 540304807c8ac4fdce5505cf790d9b2359d0a08f Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 12:11:33 +0200
Subject: [PATCH 186/236] remove unused files

---
 customize.dist/BottomBar.html |  16 ----------------
 customize.dist/bg.jpg         | Bin 1405386 -> 0 bytes
 customize.dist/bg2.jpg        | Bin 261738 -> 0 bytes
 3 files changed, 16 deletions(-)
 delete mode 100644 customize.dist/BottomBar.html
 delete mode 100644 customize.dist/bg.jpg
 delete mode 100644 customize.dist/bg2.jpg

diff --git a/customize.dist/BottomBar.html b/customize.dist/BottomBar.html
deleted file mode 100644
index c8d43dfce..000000000
--- a/customize.dist/BottomBar.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- This is an HTML fragment which is included into the bottom toolbar -->
-<div>
-  <div class="bottom-bar">
-    <div class="bottom-bar-left">
-      <span class="bottom-bar-language">
-        <select id="language-selector"></select>
-      </span>
-      <p data-localization="bottom_france">
-      </p>
-   </div>
-    <div class="bottom-bar-right">
-      <p data-localization="bottom_support">
-      </p>
-    </div>
-  </div>
-</div>
diff --git a/customize.dist/bg.jpg b/customize.dist/bg.jpg
deleted file mode 100644
index fa5214591c4ab458a217e30fefda158fcd70d4cd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1405386
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%0A*P<P#%5exgaLwqJ}{7TETGS{?)E?oa0I+
z4d?MH^kt8wzD=$=!%ITlE%l8f`HGh&-kDz=vYJhRgPr!+?=>CA1bCCgjEa$}Crsz@
z;?<2ifs$z=$G5D#fX%i(?CN6%30`O&VoaDa1qrd(lYgWgY#!u@i^W&@6ARHUB>X5=
z7M`B%@@&r;ki<PI#WMM>HILL&$0B)&)+~VnP7p=>QfTg|^s6|LRJj?bf#@BsupYEa
z*Ns8H%`=<ahD?|>nPxpAOuDLT=i66go72Jg;Ox~A6z0;Tc;wk^Ce&t7Nxw~z@_)?G
z0l!x2inrqMtizJ?nAgwm?!TpeqjgIb^!Y;m38I)TWeZTG)V?fWP1{Cpih+pY4Zm{p
z(i!6(2ouecNd;1O!Xtc;#8Ye~y}qB+!*V?Mbr!BMaqey%ai%OL0xE@+*$<f!2*1SJ
zM_h2xS`tx25Cn^r;vT4GRbm*{uj++%J(J|L04`F=wfuf{ixJ-^nT|4NKK9VmRHQho
z*=e^`wQ@q3v<qvg-kfRbCP}co*Sv;iab;Tu+y4NRuNZzpzsa?BVaRcNa3ZK|$UaKS
zzC^9IE}(DLh8wWMG<J>z-t{NblEB3oF%CHzKpsIfG%G);%HIC~hq)ySc~yPAq!^JS
zTLT1+!zRDOzbKzB&=iFSoF6FRx{e5<A|bBd)2pl^77Z3Qn^ZOUOeVrCFt2T{+;9Zq
z4J!gdqs0_OHcyT_BBtGcKc+y_{5A$<W2dw@<x^7X<5uJ0cQyI0goS;W>p0%}PJHlf
z(m-XkcZsVFqO|I|irmwEd&aQJ%FGHzJ(x(VnD9!h$?I9Hxs1yVIE*qb1St+mL=hEJ
zbed2S5<*Z>B21sDL~$mps2n_&$I|g1#qPTN_<60D4od}Agd$Bg>LP8#kr8&?QCmJF
zh=_`-zn?u1<XVMKkFbXt&A9~Qz|45f7^BMKiV!vcYCD$1CAXg{3G%7Z3o_SN;;oTE
zeda1-`<jZ%c(Vyd*+2o2VrXl+tB*QtLKQ{XIVvW~T`n2UvYkSX&3g|>vaq|!4u~JG
zd_~lU3B!|nDS~joTUVtkky~?gPyl5GQBgXAAEroZU82*U>g)q6HBQm>wU1a{t{pgE
zsFeJpW(=F+ZX!%`ebJ`Gl{qSo>Li<qaU|Up5f|;gZF6j@b7Ye3ztD=Qw^eRh@}~@N
zahllh0Tq7_atkgtJd?=w$Vs%>JbW(ey8hioMMpfgAc%sWNT$jCkrU%@+pFV(79Q(p
zp?)TJ3O)5-roSh$Z-_GDpeb!4V{yR|1yxj>bLkXKysGs>j@|04*~?#%<2BUPP7r%(
zxaN3{OqzyhjRRnCfm$UM<*<<vru-EXa_VkFk=A2y7IgR1i)e&R1A?xQZ?cerswwUJ
zA}`0^qa7O5eId*vzj;xrc%^~I@h(^6vD`%ExN%bMqJi#;Dxax#<NK#xna*TY0--Jz
zwn=~{g%-rr=JEy}!DHo8qW%{ZS(fCgXtNr!Rs6lvfBA@~^!+2nRet?Vrm&j|6}CN6
zl}*b^^cc@u$0CH=j&3apC~@2nkvWPWkuJzQQ4xCT(qT3DJdC#!$(p=}6~i}NjQ;?C
z+qluFyTwqq9t+Fq`AvxvW#}I+yTw?B{$RNUboSJogb6Mxy0cso-G;<WfYHPS*n~j2
zAOUZ>Z`MmAWVLHXyti8qmGFS)8lN4N#-Zxn^(H*^466#r)^+t_Ql!(qYYn#(!S=|7
z43r5MU`?0&tLLa1Rh4Rel+wS=u1U&h&44MvzGWgZy|LZm6l_V2mvU4$3yBxg+}RZu
z<4b2g<kkQW6P$<v<AeOSLfrS?p8Ke(ZX%<)uHJfcQB~I9R54tz$LHC*!DFwmtSO4?
zTXOuxZArBiRaF&KO};v=Xrh7uzyWbl;pLkXF?l33APqy*{9iUWk#P6zYO;tkp8i!E
z)l_cLQL;%8T_i^Y*f0kbT6Ivo36F$DL0?rGBF2pRRLXT9Ng&Ir%TF9OS;?xJ_Xl1L
zHt8_i`?vz*ZHcUY@~->^qhHd!Iw|AhlJ0wxqh+BKh16&97(p61k*fB=Ma2RaMM&Ec
z9r=k6DzCzDTe!NQ&PAg6H3O@Kxkz<c3f;7j(We|`1KSd*Z0b78o2r8CvWL~VF4ILf
zWh+c#fDlc0Pjn5Lj_pV!iV6)s9xD=hEz)0A)H<oBUZ*wA8*kXxKz^yK+UJ^*^xRHs
zts8Od38PR$jV#!Z%84HlW<YrEa$RqOdYZy*bE&!!Z>W*z^%9-u=ebdFS=@2h{^Xh$
z8#jaiz`lh})11*y$fA6X>K2vyb@aEPR(frUV|V2dabLn?GX~(mg|_&%1g|dW!L$Y{
zju(V&ua)4d)*;kANYKqg^tm%!wQnJ>nW<HI1J!mj#Cz;yr%M>4To^Fl%X8?(C88pc
zHsApYsQ{|!NgF<*^C@8sHUtm14nE2TNiWm?0OlSE14{dN@L$qe9P;|^-hMrp`x#et
zaR6pcuV9)K6LClrwp;d<Q8!dWE?aN=Cs*yxb@{R6$8|<SAVBhaZbIXKv8pfVU%G6n
zi?XKPch7#9XJuIamg3ZT4oUpMHWn)$3g;39=b_p)9M`cZiGH;wV>sJ}q^i8vaZWut
z@!Mpul@;PC43N0JxlHjSRYlngiYlrheDG9Vlfth3LpB^Rkkz4w#F;Kl)$-Wm)E4a5
z-$8xYa}d}GPnO`zs=d%@#raht@Y)Kl{{RWPqIFZJO;YC=%2?Cew)bvhz;9Tw-g-d_
zt3>0RP*KD&P8*VLs5=sJ6-0}v60DuCe;dE8l-Nl&5hT{gSo=0aqK*OiO~A>rMB8*F
zPXvg)R_LBrhFQ_g$*~;170<uEau!Tbhk!SE96N7wZ}l+oppP(AL{m;kpI-e<*}JpM
zH7btLrfjD{>Wm-6X}hu#B$-V)+B9Ot_f*{k*-(j~R89ls5lk1K(Xy`Fbzh~{S!N2|
ztzMzz4ZmF#;dTV|7Ya+FYs3LT6oYTliLogz+mZ^eMT=Er;4pKE#|(#aZ4`wY4VPh3
zPwVA(MOE;hZinw!#h8k%%E;m{#Ab~wQTYJWViVuPifTN3uj)=e>ZqM89N@6rC%J|v
z2a6vXRY{SOg~-gB?R3*|iG8B4WmTt1R8)~uk_O%r^=ym(0M1nN*IAIGSwL!@=0UdU
z#}`qcm}u_Ah^j7qXil#!xAG~vd0o79SwUG<9f(%7_l?;w@NtPMF&lzEJljW6!WSFx
zsJrgJ@4r{oZ-^5UCBBB)7b0!Oc`6d7=87tb<yXpWw%rS|f!$qgUH!FH5NjjjVB}nO
z6Hw8oTYuWgjDpi{FY7O>bwwm4<f5v(?Y7-di8mayaGrvb>&>H8aHFCV8~)!{fl~V-
z?5os_harG7WW!oF8X^HgkYHV-1=$e<l@Li+e}vt9e@>{vTqY&8UE4ouE*TqdsPT14
zHrSVMluv^BPP!UiDp!kx4p3~a7>whWY*_vz`Lt!nbB@zprxU?=PppY{9nn=&!fcDs
zW}@2G;gZV6-%=rwb|gvsW<#g~%U%$bNf8@u5mggq-*ggE-))e_>mFw&t~x2_J)(~5
zWD+Bg5IlpjqL3J<F6rS@&y?LZUAh;4POC8UbQ`R4$Ou$qzhde>Pa}i|Lh3Htj^c^M
zMF)y)vZC~G7KhyVe$w#_d1ZyT*X)-%dxu5GHDbNG1)#5yX0H4Ax6|c6GH3vzqDN9Q
zL_sb2g75&{7mD%SUe(Ji%%iy+q=>I48;)E50M$NIp*;2uHHPWic?jZhqLXOjvLihu
zuI%*?Qc^-y+{rwWdE9pRRPoj3mES~iiZvvg7^P=68qIDnK0W3mlA?+d4#=vAsk-c&
zs`OJl$jt2)(FPVS#$L_Gn!j4IiiEK!mO45}N9}%<<ezfk)m8aj%8NdQErpjEj1RXg
zOR`3atGKGFFBDz4s;2vIzlG}Qxo$e?6xo2<2_ho#RrB%VZoOG{3H5l}XwXNF&ip3-
z06QkipC5htkT|r|g`nn#3ly=gYgB7A+S(>-9&NRhI|3+gG9pg?9A(WJ4#ythfTDsq
z;e4SgqVAn?!LRU5B*osf%<|NX`AI14xf&^}O`nzIO(7bi&oAZ|GA=~E7skk2sm$NI
zgxId1#cT11k;Pyf#X*i@ii%?4`~Y#}zgLeN?7wvl-YrLvIZu^X$E&xvrJ3KY-N)XD
z+r&GoCgVfNK#e&fi)XU=;)B)D<e7&xud>UWyA309-h)%(o>X~+dxxHtk9RkO;w*^r
z#X-RZ5moTMcJiB|`9<i8MZHtiOxV2mlX3`twvTk%&fnjx^^59Vy&e2ai!-a0Q)OXf
z;|UG~Vv@*5B|sEeL%U>xd$_2)Ic~p3=$$+)BEh+?hcN631;ImJ!XW|v{y)0>uiL3{
z7=F$`4T1AlVDUzH-Aj?=gq)JahFx<ecCF)%RmN;shfy4Zz7G;|RCJWTSIQud&-Cj*
zYxWg+sF^6#)y4+@01k|AOPcViG|Ng#O5v&}-^w8W0GW5&@6%Gd_<QI8W-FFXYUaXN
zNhv*>JF{_;6?C0O3B8dVX&h7`-|8L$C|px+t~KGog{E`v-K=gS?67OvWe16xijR`n
zH&pTEH~XS>eh(8IScZs+Itz+Z^0P76Nu|R$%mAhAYhS|te%ZLx35OOTp|%8~E~soy
zC-3_v{ulj|u0M!w;+YCBg-$%Y{Cxia@av9F=)tidechA0z*SXM7j^nm$H(8#Ri|p`
zA~b`ts(k+4ed}9g@TI^TCf=O-mdmirWz1yl9dIGO)T%*s3D9l8aXCda<>EVlu5O9?
zRd-LGjx00WzdXh9+gfZ!6LdGy+O3ncM&q3&z#_DgqL`5@X#7$(#lrF~M{Q9)I?V+<
zNx@}2k}l|?z7aq5=(|K8gKMd^c<qy}oI6=S+wnxn8-3wLCJn$%#l!~?S7H)G^SW);
zek<wlxxJtiBI@imI%b~CnuBEGpq6s3*#2Ois{0EhUutBTz334I<7;yvA8@R=ph~LS
zky$ZCCrQF34yiR$70Q1Gk2h6y4+p`pis>$uJPHaTasDW(3XH>ST0u_QZ{2*=5lItb
zUp-zzm{%3%#Z{YMgjLBFVm}qakt6W>*NL~MJn0aRGj#WC07<k#aaB=86lBj#eme<e
z8iq`ZS#!oSEY(#gPMIOHRTdiu-4mMc9!{&j^1yzsCE-^gtr1C_TkZH-PH}TGoBjUh
z)hwf4<(Na0^NkXFBdWyFB8uJRXv8J8ah@(9Hrt2<`0nP)(;!2{wo+ZX@o8%h9L6a%
zM+=_F%y!M!8g!<tw?vSaxe>!vRdKeLVL>I|wBRD{o>a!4Fx0!vN|_HSfgdQlYCBc(
zboQy&Z_>84vo%+&tk42AbLgn9HjNS}8X&IfDyj1+(puEh+05cFtj0XkjqD-&hMS2I
z#`!O8#(@M;-M9Y$5J~x|@v@Ja@bfjty-m75oz(KgTT;_bw)`voD%Q9X&nwFFT6_9A
z*P{Y$VMMBR@Jjaw+Z?7JZ5NV}G(p=`<lluvL@oN`n)<D*$F3sg8gHiZ?dj~DkyMsb
z=wD?dqmL_#0UT&e9ZvG2ts?Lw?wD{cN~ksI$1|q3#NWeY<?Y6Dj%i7N{Hgp>vT!ME
z=$WXu!|U@O>Q_Zc6p;van-YUI(`>%~03(Y6u1+;Evu`uUM#<180k*r2IEJX3s(ExA
zLk}h)x*8z$Jg`P)ad5cMR>Ue<JiU{08y!t961yhIt+hign{PW8kPw(-XR7HXtaPhj
z1wa~L)qgEp;-rY8L-Z<`sG%oaD>T1O3CJ&6EAc6;?u(X1U2O4;mz)ma!<51jy#YnR
zGz4vXW#0N+Kosf2nd3OdM-VdXS0G~E1lTMy7C`ZInsuOk5ntdaqGsEq)10`eAu6uO
zs)?O(tm@YdxeKaS4IUQBl@^dyb|6qx@+O}Isqyf;e08G`?W3zLL86LJ`96-lcT9RZ
zeMi%qdl@)RcM-^09F`(f;tvOHsX%Qwq|@$^lBw>1jku(WDDn}P?oS5J*8cv79LR2|
zaf_M4E}SV0KQSuaH2k2D<4W5iDacSjP0;$ABU452Gm7PS21hPDQX87v_vEB_P|?`Y
zpsJz*0=SzXE4zo2P(w|;s{C~_=L53Dl3gv-h*6#G8A7w~p}HZl5rR0K#`*bG0W=d7
z-4IubA|>s;3Cesm{H6yq(9)qW;`({dH1ht^3wTsDuCR)x<mljXBoxM#1%V?*fwV1z
zjRZtDSJ!nSUWBk}`IIAlqIr#b?$EPlQ!yL%NlVy1Yt7i4x7ZOAk*cb3WWi9>1yxgq
zjOtEdCQU8WJwTC=QJ-ov&d!ZzEml~euP}A?oQliscFk4PFpslphDb_-)v4)z1(4!%
zq`8oV<jZh(@snaIIx`&Z1JAPWZbtwTQB*cT8WKe=VvO=th0;BsvG+R>#aWS#qnprD
zC+f9cH>L-kVA!pF^>u7#{k7v3++j<XCAA-<k+)UE1#KNJ$#4{KMI16;1Nu3ZQRjt6
zid|&1adMo7Bkns}3FC<CyqYd@S!ss%aeIOs$@iRJq=`inWa!`2E>%Nor}a^#-b7lN
zA`Up?^Bt`dj(iieEyn?QT6w0BOMr^F1|kXqs4B0;atk(TryduMtXg<av`j?DsNzM7
z-*v_IO%TWx?Yc>@h>>@fnDcE!l~d6*&W|&-<5W*`TKuBn7+Ytw_%(DZoIf{*4(K~$
zF}cen_L`87IM=!^!U>R~@D(Hcv?JLzMO0t9EO~s|>)QHEW+VwYTe0D}YYo#sWXVVt
z-E6iuH`sv?6?`JPNS+k71-i&}CaR)CcewL(Gp-pZ@iFhin|!4Qa9y7KnFtN5V9THZ
z+fY>5#Y8e6tEQ9F>GWp`aza~9lYMAl^kRHP5ngSF7+GZJ%Z-UR>HvL<&-r%guN7ew
zsV2#7J?iKNsf{+`6Zq@2_#>`zjOaB=(ObFQmLnl!q^IR46lk7xA5~R7$XgLb74U$%
zvysHMw1tM^6W+FqLdUf?;<&Gg$vutEJ1HlEP#w{BRrp=D>-Hmj7V)vz^tHfIoS9m-
zOw5d3gxL-x7=WwA9!Aj}e2ac0<A%HLol;WVMxT$xeU<i7VFP`~<h}zLmy&X<sk?}g
z8L7nBM3b4Ss3#BwB#sssT~aGWRFCaNw_k9$81`p2!vvpaV^MB`jl;8qqJ<7-%f>s+
zJc`+geaFF~q9PJ+)1ypfW_3}b;W~+75^_wA&_#9n*Cbau+hU{J1w}$<nkO%;7mw4j
zxxW1+Y%J>G!*3;(6@sUy08oi(U<oG8#~deJIUTa(jy|fcD~0)D2tp*h2X}6p>IHnP
zW$cep?OLae9(qTyn<P{sJoAW-Ac(q(yv-C_*pUUcgX!{n^t^F%qs>iq<Wq2ExxlW8
z^D3@-<L%W`v@8zdB^BufvbXy-=<o1|n<Ap7-W3r#w8tt|nlTi~&KmthMC*#XZ?}&s
zyCNpZvUvTGI)#d}9BSEGsUnccq&6E8=GwNXiX_^vkwxFac}}gS$8pG?l;HDU&?owT
zru%)q{{Yuy>*icY?v?d%hSN7C%6zKPbs2JNAn}LN;cTiq_)q%uuC%Smbdqzk<P(;1
zEY0W2O9+UnjqFIusr+s#N{PC89~<>64}RAs)w^2Pq3~|LHwhn@;STC)!<Ox!BZ{b`
zNG7`p4~_TelRnj)KLm*?9lg{q#2aO^2v0mBMuuEPKCcL>yP_w`ugA|+vpi4A-t|So
zmF{fJ&i?HUit{%chpKgrv2PUE_K&k7G|mXFwCW-fn?$Mfmdc^YJ~=Mk6^f`5A*iA6
zx(@#U^<IT)wK9O{W8^Q!f3q?|wj|pMyD!QT{r3L=Pa7`iom#-XZthwwdKxez%(*qe
zOn2EAZ=IEQ`Tf5AA?<x`C>0S&5ETZbsn;iH5rrx{TkeFY@v3qD%A5ZHw%t})vsXFB
z<;<jM*-fH|%J#rS2){f@e5d+#YW$YLwFxb!6+~4{yej_QKl191Th&V{JSh@ek19!Q
z$VoIpRQ~|NiN55&`E}+Zklja++O0#C@NZ5l-QUW3TT8Qr`*}h0{g?Z1(JfrZQVV|h
z!0w1_;(;ons(*f$T7>+MY}88U8*UR|hHjH4gk*}lA{Ziy3hn3VRrB`h#}Un#$fG|P
zjmF%KA8<!D*ok-BZNG1gm#Q5Loe*-GIoQcdQ7%)N#>e3!$0z|$>1iDMm;SwUi<HNk
z0Vhe7z)=wu8r@XYe{bKVCRaBwlEY7AtN#Eb)wXxoRTX@%g!_DTKD$18o#;^Rv4mzE
z#*^DR(ia0ER8C~7z7alG_UMifc4LYGj3z^{O}5T5Y~hh2lI_h)<N9^k)g){|3v^!s
zzrXe0@6gRwNl}r(g(bI`cqa#PAQNODV4vqfBtlgG07OqcTl<Jq?QSY$M4k|K^ZgM&
zZlf$J*2oB{U780Qd0W|6eZN-!03Xw?-OmW;kEMApkM!TJOCcSODk5U8FNH6Z>)Nkr
zJgWZ0n}6SqfiM8NzF<ITqqw5^O}gMU(8!d#0H~?4c==AfG-bh26Yt}%fJoW<ao=sX
zZ9ioFztgVPnl4tR>P%m!^36V>@xI?F`}ORZLvaaQR9(J0;D#x=mg%?Le&6@|b<hb2
zNnKP?RNYip=lgUtx;({K&Pu3pioS9yfgnf_cJktUDtP;*{{Z=Q$zz&`#jci2HrS##
z>${Qv0Qd>|Rey5x=k3=rqGrSzk6=54YKGg&pQ%0xy}rq}-~E15eyo{{+-8BNA2RKV
zAe#QPPxSu)&#s{rqKMs4MtvrXhY8SYh$-%;x8HSD-FN>0<JZe*g7j`^jqkqXzp`!i
z{{UX6sDd_|Fn~WlTKWF~UZXw4`A0<Lsyu}iH{BEVU%%V^`s+>5xC&iEoZFKsnwH9_
zywV}ILYw&?ANA-?MoiOLdl=nnHVI(KlQJA$O^bqxygpN60`s@|fd2q}w<?8k1ZvxL
z9Yqx7@%Gr4sv*YJyo9bs#RfHi54LdFMM&-s$A$2|H%<O_R7L$M)0@Dh6H`_D8Mn5`
zaOB9MI1IQ*ZOenVC09X6O|(^Cgz~BTrr&<4G76xxjAMBv<zc`?6m7&Nm7?3~Q6=-b
zpqA>M5La!Lcj&dOJ-Wx_NsOY2DbRJ{VAT*^74YgJrpQ}ti~FK^->()It<g5rX|$3~
z8j^}S(;e2^Me*TBeUW!x3W?*!{yOVqridKO#^^gx8J#Mt`98BLs&-6Ap`%Tk#=?gq
zQUp>3-4(?VY*lwpDyqJA>c<m}KA#hTUvv0d0~hFx8nj*69P*q2rT+k!yZ-=~w@;~l
zetMo*CMj<`tr(+;FWd`;WG)c8ZJykK!B=7p(HDw%LPS(VUZ=r_8Z1$XOC=bP(00At
z_Xyl*7j;3{_EcX!K0mtn>zS=YIYn!-{f^6!%j=0)6T&V5dl%hpM3ujSYx{=jx1S^b
z0NAfyaI3X)nTQfz0DM?MeSb<e=<bS(zl25Ox+lj_SZ*LT-Q8t`sm#ZHd8#|zCpP*?
zQ493!yQ(1V`hNTM4ywl<JEvihGDBqvCBS&Oy3CD@P?1GbbWu|N+b@Jol{)ARp{n3}
zfe41~d$1r2k4tnSc|j(4s;Z*?fg;#;U$UzB@}IXtIc1hiShV8Czrolzge-(|Y3U9K
zs(mQy%iG;{AwBm%-;!*edhI3p*@Y>yn9#zT7~{@_;tPy5u%RiEZ{(BbZIO0gsW$SQ
z;xRF5;zn$jvlciu+su(TsGLz%v{F)1@*=ycr-ejMj*d9)mia1Z5WW?IH(<+ia>=$+
zt=x~>u#)qRvdxJBZVT9Sk8^8+c^~r;aWX|szBv9Vi%hk#$LSn-;CPnN)*KKQ6cACd
zCeTD%`UO!CRCZBSUDZ_;hAqK_+{UNFXayM-p_Al_psI<;cO+Cr+>>S5etfELw?a6K
z>oK(p`S<VE5?H+qB9u<>OnjAE5GM#wyMIWKqgxK@UUpr&b6jpxT+k>GRw<NXS~sSu
z-P*#70!~2VZLBK>+)CHn5-{&MCDm!xcn;!ZL&X&ZKvgzFOwujJTZx@TUaU_`ITa4b
zqkft8*mi1<!8GV@9tlKC<V6h^?u*pyy9xep$ZPUh&%=)-VeyvacFDse0^AY4=g=sM
zq>4lYyj&#RI;+iea~aAgzYNK)WN}wz`&J{k-Fn6M9CvMp*gz)F=@mx>cOp%f=YF^x
z(m}6^;b{PhSr6hlc1?3d4!=~%D{h#t*=t{P=Bp1jLMpDyHia4`McFxQs%pD06h&L8
z1y*q8*t-0fzR}SskzYh;<P!L8B?t#GRYXNZLtaRtz7y%|+f}i&%Ntso8+$3RA-2R+
zv$2#e$!0$#5#;EnH^2pU`nkAVzfzZ7%DuY2a79og1C69d_&Q9x$W(hSk*Nx&9ri^;
z-4s<eUp+T4a!x|k11X19682T#Rk1Quhoht>Sarn)UmzfJX2C@}Y9uO4x*@Ln?Y{kb
ze#=mFwnO=DSryy5@;K332t;I+E$mIKw;OqRI2#`BgIjSH_dzAydYwx$)7n2^%?zhq
zVYK#S`n3=gNJEQANUFY74}K`SiYFhHM6k-LFwFTM#q9GDW?X2h&75{)sgq1eRQ#@P
z3Xq{FqK3+fDm=FFw?OAn!KUMMO<*H1vD;+7xXtq%Qtm}<t~p~RnbH^9NXM+21b7r1
zb%SZ6cakCj7`WnWC@u0`$cJMLdltj)85^3or0WQ*x}s3u0(6CUY{eB2xGw16k|)aj
zNw(?Gwo9h0<$9Y_lH}BM$B*LGah{08ioSA|)vja79Z@B6H?}1NY)}il+A4DAx*AGa
zY4$HU3%JuJ`))rIo64U@=Arggc0%36RYXnA6%fANG47}UTZ#zTLQAff^YL8wP_c=$
zFJ$g8f(p%jj9R3LDz)}qa9fls^ePJMs%@{3-4(UsTzaj_^utf}q56F5A;o1}>IOS2
z+tl93tdZG@3ScIpt^xuFf^&b=j}Io)RS|k;Ucon{oJ%4$NjdEMWa<2hY>3#XsPYwE
z%fcf3uKpL>uAk#x{?+q}4KyOl03^vrK^?^hefcV<G$9SqQ4@4U`6j-UAp@ZfBs)Tu
zc(%C?2O_r}uEvs<zuma(i#w=_)18oTK}`gRQ4qt*Cd9sXUnpHKwQ^3b%gC-Wmmife
zZ6->3uA>u>{E3l(jT&xPAs8Zpw9=}uCHYQ1<D2X|D<d(|3cQ;?Jkn-qV;Sdxi1HzR
zCZC6}E%y*nSq>(yuOMCAR7FAY!4!mn^*2uF@f?;;C+YVuk22M^<Fk`j++-^{Ob~fo
zHk<4|>bS_7x3U_d0*NY$mdY!14#SB-7I7C@^D`6K5bLxXUWwP0<TxfLgw<qPvx`-{
zoI<+3`O1KO7zf)CCS5cYP(vi(N}GWv6(sv~Wd;-o^$@FKsP|$=2EsIB*-^3BHV?TX
zAfh7w0P|D(bcxc;`zq7jO_wX(HDyO&DtQsqnL0J@j^gu%0Q!J9ZhdM<*&faCJ}96{
z>dCR^ao7&tu^Jm}3obn5r=z%n!0e~Z!Bg3G@|!Q+clvy%S-6PIPYfqr4$D&wFKZci
z8d&lDsPZDaKBi<hLKK)Y6;#%HibP^fr<35GSC;+@mg)9So`PA&<4US|tjivWWi2Q3
zh{c@b>>-J-7gbOc-CdATSAw3vJ12!+m{`m<YN(od`9SEpXCh0c(t#S9k#`qu)l2lI
z$+~?hvTTXh8XBlMO#2c{k<ww~CK*tgFMDJTNW4^&kgD=jRM|FAPw&vN`AJ6jgn_(P
zLe?C2E~k?=!|*DqdfN+v?&GyJ%}Q>r0ULhu8^aC0`{gA&?~9_16moERCh6n{Ka6eZ
zc4JqkF|s?%vQ8!eUmF{PD4eab794UTHjJPImOD)g3)%+UeZWT#fr_sBvt9JonQ5Gd
z5s(&|Q|y#DqK*pgKO{<|1ghT-=<KS5iMNhPl=8+76ql)3)kqksPsAt0%r7I=G#2t8
zkdqBUbj+JtSfGwL`nw(DBt;bkYyn5D+%(RT09bnYUq6U|MTn$<7RAGLb5?YF0M|;w
z#sfCZan_xgLl#g&t%3jzn{763DLnbM^1Rz*YN7(-wy2%9)oQX!FH|}?kiVx|y-$Aa
zpgAHoF`MH$vo3-a#aVzpkGyk6R5(^lqe|P%eE>p;Y?`)22?Nu<h0$n*1%8oYm=&W~
zJ&gBX!Jo3XYD+5(YnpxT(wxU0ai<+=U1xD{1rU%-kol8(-vZAn>7S#EUi_*_?fZlW
zq;iOF3~_K|#88sVm@cZKh#M#^p}43*DY+`;Wmp@UqW=8RLhO<kwYRsoE`3!d{{Wc%
zb?KWGSv8NTY?@RFQjDNP)m(NSS5t2cnn8LPPQ`>?dG1}V#E#G#Yv0|6mCp_=clkSC
zFj)Hc>Gvh7OB&;Ss*9TnXCz3clsg2<_hZUfjsxSw+wICmg*$@kf_Ugk8`y@F${c#n
z0Hm##V(f^pvL)08D=chfi)!mBF_dW|%zttEoHhu>5J=HWkt>%>^=}l{Yl+yNqT_7W
zT_uZzm69g6A=?PeBKv7X^9YQ{aF||h#uas0Y{d-~vQCutO#rPeOYrmxrpp}XAve@l
zUv*87`i{7ZZ7w#fVm7$FWR!~ZA(0c@HBPRewBu5rWmHk5eR!mU0OF`z*M|e@r`G-(
zGJmJMs^=Qg<j5^+U`C(#Ep1z}CfPX#!YuHPjJM(SHH@M=DiRkG@+hm*0#=LB%61!k
z8bieu=oO~1n^&Tu36ov7Hc~d-jOw&(IIc2c(jvF_>1&MLWg1^+3qf){MYD?=Bli$7
zT&9(-%k*|kwk{-J&F(bVI-3&=I!<wPTwxK$9ce%s@aJZXXu9moW?3{lqRnd4_0(G|
zZ!e*CrkLsSn%k+*UcDkLry66rBGRfj4WV}Aye8X@5AE{1^dY0#FOcUNNI2U$V=qR=
z@);#Z7EI{C44f-*aXV6C@sf%>9#!x0F5}9EhT0;j-Yb$`WHoc}ty;(9v3*}8>+V=%
zibb{_2w^ffaw2WF+Ail|&#j_I1$hV|m#hf1=L*Yi@QTV5g>z>i%!2k94$N6H_ij70
zm>swwIA9&*MC30oB2UdiFMrXo_jw;h<Jmp;=kG)(>U$DvGQjF_?LMMIpG}ie*g=DP
zHNsGSG^Py=5EV(%Mp{2ACM)A~O}FaBD=(?NLBC%H%4^gz>ZIgs&F0y&6&#NqGi|ib
zY@8tiW!D@8G)<%u`Cp}e=J4N(s2FCR)>~teG8s+Gva35Nh>_elaoccQX%Pw7$k8~b
zxc3}St8NIY;LB~v>}u1}E31Jm)}54&)UL;T<15N$Ys^&SGtCQUTYHG8BB*lTqHSm!
zU5=?PXw6bLAL5Mjw8rJN7B`Wy?d#DSk8>geP61WKaS7H%rzJK^+7c&SLEQN%wwwNx
zNqIR@Va!IzZ}0?_CLA@Cks`d}wA65b<Z&mO*q3%%ISq%>fJ*8Lkdf|-oQlIY%)Lv%
z!6#fYFdC<r<OgBPl=0S+ZZfZTTI{279afN#3>{T*(G&s!<|=cOT1Ct<Y<o*`yxOu&
zw25-o=B0}0ruaD+KQR~wd61-qCSKsGn~wVt4<S!W8EqO(cS9S&%s{2+sj_LOjA9*@
zD&4LdW|Zbq#e@-5(Z+$-k)#9WhqGZAfXtOQXhC@*5YcK*ol@#Gd|Zn#wQbT0&F*Br
zO-N}Xi8l1oi{0hhR#*v1xhn1MksBl>;5C}<tYDcmY}X>MlM<fZOV!xyqM-@K>+B+!
ziLe}Ab)qH$LyO5B5Q?fT5DTsaexPa=cZfvDttZHtTZ&|O?5kSamh4K>EqvJi(ZF&D
zGKazh*vlc%Z8;g6ZwiR20`*%M`ZPCF_fx#Kt}f7hw?=h1dSq?a&AFF8{nzi@v6V|T
zxMUPa>muWk(WzXJnqi07XMm9!i_a$|Qc>x3S*ewjdijTGEF9JiMRb;`D__2-!qz2R
zi)jzKfmb4P?~=6fMvPI`1MIZvx>3|m=@CYLc~_Cn7jI|9n?0sjs&b{du~62P=^*1S
zzcG*nH$Yr@f_1e~{D<Tw#EtBq&0kt4tr}meT7{Zo#>N|xQe~LgP4;oiBy1gIm^MA6
zsnOtzaZzO=qf%AY*mgOXn>&g05w=O>pgmbM2DebZp;k2#CuIcuT5R5y+;t!De12o*
z@<x!$QQ8PLGrgnDk+S3S#6i_VFd`IC;)TXGPbo31&^5y%x2HA4Y1prmWocT{MXaor
z_)mGs4@Pa75uPcL0bCSrK<wB!LW*a!+*8!P6Rw&x&ahy)Q&({Czr$zQ*yHx#D&^xg
zO$@5%(HJxZHE0}cxF8#Ew&0Qv7rKV-8;og|J!Smp77Y>C3)+h0JD1*Z$f-5UB8)A`
zcsP%3A7KfV*#XHwf;>80S&c)7FVD3XW~6Qu)2e&bQF?yW?JK;~_}I)UA;)o;yljwa
zB@FguQ^}HcEI6#k0d=@eIUpM*-i+Dyo8qbk;Uwj*UgfwHc+~#@gw3$cibvuvK*<Iq
z40)!7Bub2^=nS++V>uzz+!M6nwaFVIQZgKR&OOvdE%W+Fb`s$<uhYfJaEE)OlWp5b
zk$JeP<7O|%leBh;)I=uCIW~fe8g`!I7<9<j1Xq$`*jSD&He2>CoA#DA2*|SG8wA|I
zXh}i0IIB(o5pIOoCiD)>IFWC4GxL^!boA?VH*t<<xpuPPcY1YGU6Sd}50N)lePnXg
zCn~=M0bF6g<r?C;TP|0$@|hd0$z&WLLI(jx^&2<U4NlKw>CTYn$&R~^*i2(J%waKI
zH1YY)#(qG=nOss`jdd1dK_WA-H);6qS0O12WZvg^%zCUBP2lOw9Ez%o3#omE8izmt
zVFqJH%VsT@ux^ab<c?zFgUHXZ<xO@wtd0(%T4~8*cUZLmq}5=u2zcaWXkD1xn55XQ
z&&Ma*H+yW76Ut5kks7KQf+_L3v?=VFv<{|;62=da>3)~uns1?vzd@E}b)i{pWgc9)
zwV2I1x^@f)eAP<1nX)7_F`G9Vax)9t9o8tCnP5)SdU>IPgXzso+@5^9<F2O0TF3<7
z$!#4s3S-WLv5hMtp?jGOp}4()YheT*34f>%UWH!hxu&^gdv9Gl%(xVA1eW>v0mjA1
zVoj`e+;%fc(3zSv(;(ooB4mfuY|_6A!}BP4=2;sj8~F{`9v=WCfHP9WO4kMWb-jkk
z`0<_s0+id1ZtAdZHO&5wsB7db%TM2rfYD6jSC<pl<t{P2Usfn9sj;k&Ut?rC!Eapj
zGG^6V{{Z9~;;=E30wTE2=Q8Y<qQ^mTRkq>2Mhar;s!feYjq5(IRZfka*uli~vc)9a
z*}{$_HnV-QwJFI{6u@Hw#%W+R-sd5-uW=Q&`+`JWiA1c$Fn6+x9CBWBl;ri3znyYc
zkZZzZ2`vFM({7XU4z>$CgjKM32n1bq1s!oaVVRzV==(Zhe~&wr*HPoagT%(IFYhfS
zvsEg8X{40n;#MS#xgHQBOtkTl_g@zt?+S@64Sh8Sk)ZSN<>$>Q%*<-jeaBu^O5Ir1
z8?R6rjZdl?YegCsIf`06Is;5UC79D{qi{&}bXIYc3cg9Oe$~hix7(0iws|h%L&HpE
z#-pRuTkT-PB3tLUgk*(~*w3ygkIjB%OC6(^FbA@-#i<4a`|OO8dK+ZoD06TexVD)3
zdDDvrv20caEGt8>?d2_GaG=U^;$b-;=@QY_W4iD&$WcjCwhg3qBQl+>)qiAq6OLvu
zsHtLE*U43V+q~y4v2JyAn`=ms9#-5L5X8|1sSbC<oO7Ib<N__40&#0(ji)FC4m;Cc
zf*Awc+7b^gYZ&D@Nn{qwVoq5<+yGLWZA}Ioht)(?OwtM?5;skg+yZRx9$!23)X=RB
zm33VMQ!ki*@R<%g)MS80<HG4QsT|N76(>JE3z#CIATIlDx}|2U=@y|u#xC=%W5Vo#
z+T4DP#<DgDCsscw$o<5IWkUi)ZO-tDtIaXoA?3@LBqaq-M{SSZh0G^TJgCm|7vmQV
z_FuY>>JQx)!l#Y4UcRa)wtPNVh!nBie9WN3Idp+<N^DyO(_0A_7(SoJw8&(_X3BJ!
zHz@lRQg|azq<C(&uXcHN%v^06<}MI&CE%*Q)jdhG#kIO#k7c!(8@STevK8~&7%ZD?
z3nERFi6jK<VopYggra07i^x$`Q@^BbN22v_n|~r|UEU8#XG4ogH_CFm?rq~d@S}?k
zC`f1{l58m9hb1KzkWhH4E2{5DG@~`lEwg(OwuzDBsTLiB(V~Qg+>SAm*hp~}Lr#Oe
zgi#=7LX!C8CPanT&bn4%F)kAVO*mJ<Z8kHAfEdUFZ@N!sKAkceJvnCfyH21pFf0&3
zxQHVehPXWAQ>!Hl$f!*Tw9$gN>TUoisJus@tcFqLI+t}*jlF9wU8FLFZZ?&k#i-A{
z0i<m`;;OjQpzG}#vH*kikJKc4bo_rD#Inm+x^rJDGDo?`-j`iLASAyQTqg)xb@|M-
zF<X+L;PzZc9%VsW*;Vz}hNn@qx<yVg8%`-Lhqmn_#Z>G!SYd|SCQ-49!U7xKTm|Ay
zY%Tp@M5;n$+&(gd2@T3r*lM=1iw~5L%`k}-84bPmvf)8+jL<-dX_U@@=(ld<P;7gx
zjF#2dQwbR;&kBO0!?~v&i8>EvqgM3~DyYn`$*^!YKOSxPSybGfEmKvpW-#c*oN{Eo
zuf53y*82_fQfL(c86?<^GWVFqz=t%%>V$9Aq_-(DR9=fl$6!>Nb}@uV_5?^~M=9eY
zE&v-Y$<Q?IYSRrvdVXg~GT5ZtGwr0~uS6E%zYJx^5tPzBBd~^qhz~_XUE6=SrQ1aw
zuV-i?AP+r4l;!OOeHG?wO+XoymO(E^uxK%%OPJ)F+tO{A7ZOp{%iYI>*o3#i$Jj&S
zF7Z)P`am{qY;o7G*CDaiU0ly{v5XYt)JrUN);*j7n;Aex7bjRI8ds6t4n$?wQC(LF
zJA0>6D~Iq10hrSy9G-Rjw-zQ#587E1_RTyX^kyNv@$v*vP7a@Smk0o~Kuf<3RkiLk
zqZe5;&gWS1C>oWO`j&mF_AT6nKFus^p;luA-_rZ8F(J;>CR=e)qGZS=IG{+_5(;dm
zx;(x2QMy;;3Zsp(Io;7y!}6$dEpfncY;v04N-#SNR@R0Yr0bh(nd@H48mT$hX~0IC
z6E#<ij2CB2$Pu(JA(r~Vlj`JAnI9Ns%KBZ}m2X>&#;uCNnyDg4b*7qaPr~p;^Tjqq
z+oKYPgK5SSXLadg(TeJfAV(Y=r&sj?zM=)7m(oiZ+<9F%<SM8Jfe1)<LV3mA6tf!9
z9RC1P^iHc&HCq(Zx`rayz7@2zx9KXbIX0Yun%K?N6Hg%)&5<@_t{|zSq^Yv@9DWQ*
zMn-L+H#bbgeLEA`W|89i4nu-i>E0_ZHW?R>O=X(6ay_i65N(acCzTUsjp(tSW;v>u
zA`7w^B0^2J>C>m$S34HSMDaZ=zmJie7mTZ^G1)euUZkoD?{y@(5veYZG#2J|n*b7Z
z#a<}di)j7kYo6VIBUWK|HExu-v4#5lxwqUl$~VM%!8d__ERn)|n?z+BR`(K4L0PI=
zhlgqHWW65KJu$0*)M(2d=OMSg{APU8G!=Z5z`dhp;RunKi;pP})bX#?*JXAm6E9}N
zeRiN8xAaPlu;HT4MF+|BOlGwr9-r%GGI=(47OE|6+R3(DLnm8lb#6K;kIa60uuRC1
zs)DYz*tm+=D1O3?-&hbWruuHW%WU;B+C%LeP>E%45(Dx3iDwAJ3HV_coM4d!JES`(
zpYOi-ZX`T{TT2{jrHGog+k3?{BIopiC)2vB@3L%*{Wt0N>Ls=@{{Te!jy05edRzk}
zvZJPE_625m>{e~tk#7n#X-`p-lENc&`SaqzqKcO;E4NbPu%anpEj4w4(~h*NrvWjL
zJ)~INYxr8Mqw2;eZPgZ8GVS>VD|X77vPp*p<n!h)@oBN-jso!l;;1S}M7x#zM=@<P
z$KK2`iTL~$>g(Qi;(RK^jRqUsd6}@oZMFukcvS>N?-3#*a#UWcGzS{>If2xI>kO<C
zOASTs4YLy5k3B<SZJ{?iD#OBzqACg?@-RYGHQjpecSm<3;!a@>?b@QLfjFVr*2D)a
zggcD5^qEo}by$w!3tYrev?T)aV1?T22M__6gG04Op9^jqL=DFy{;T23acyM5Yp?No
zh&Gh=fC^SQ9xgDMb&_5#6Ky{tI)s5v;j3hVLZ7TvO$ey7o9ir77<SiDb*mx>RkzJH
z)T*q7iBM-%$&jEiBsS}vg&3|Fs=K#!TJ5T;ijoYRe;Bo8$Fjk8vec(BCc+Kus<)rA
zoNM%-b+-w&411`e*A+zL#6VF#wI`}d+Sv_2gG}T(EWGoJ9#f4FIO}^Nq*7&7Ra;I#
zWx8ylsr8oVl9q<JZ$sBqPh*@x*(LRJ0?gy#g@xgTkI%T7GR6~eU47XV@?yH|#}TP)
z1C9}F%x6)DSBfFZZ;1-ByoV~a%|ZG2gnY8PMl}-IntY2Hv5?T*W7O6?=b}%GE$16C
zafJNAhUl7!u_2)VBy1N(<uT!2n-MRPBXNZc>?X)>ylrtK2Ht2`Q8HE}8Y6@}e=bKM
z+hrup`8EpMH&$64_A<;Vxg2K7^1i}_iJs0(X{#Zi_vGVyrp(GRY2*TNl_rJKAOY&g
z9ojX`cDqyZrkogF92K3l;K8+(h->xUd2KTrbMVV}OjNinOJN&Q8wL@PYBDz^lH5B>
z+~j82{YZ$tavYln(Fm+%)e)c5`v$DpcCzO>se?%5s7)}9JPkC2{MQZEPk80o2Lyy$
zEr?Ni3d!u<$FbHR<COQ0E-Mt<v59e#AUt%TBeuYIQ6#u>Yo2mEW$u8;D03o_m=k28
zS&eArKvzw;DU}*oY{ha<n$<;Wel=d_Z5;P+O?9WOB)Zrci-<0w3a=tY)1o2bJDLs0
z`G3k#EH5;_1HWGhN$NT+quO6(lj+nOhipc#u}0OwSre{6If75miz0P+kvz(gx)Kf7
zg{Iwnxrn$x=(eBa5vF7@GF*Q(tgNiAxBMRWAIM}JII)-r?F)9y1FSO~ELd^oT5dRk
z6Og46s0bg@$$KKx41Xc4wa4|J8fsmfSDh<bYngYGrSou19+PKkl4Q3W)D(H6aM?rK
zffDc)roiej2-9vNyM#6`UN!jjUB|MMa}w5AN0RgY+nlD^iloZPirY%c$>iIL;*y$h
zzBvKI&<oUf(MtA~%|dpv5z6Q3jsr`OVD_1v{4&1D+-}{>KCS5|DpclC*zzq}QVFW@
zG~1@zk2n#;kyM&7;n60SX8M;`9tJa@S31!JDP%C*dscOn8=;XM0F|T|W%!dr74Zib
zz1nOLoca+s@<0rXvK(7c<K>w)V-{XVRgsju6B?fqTv|BuT;M&jlUY*pPFWftAseP-
ziqQf%C`g@LT3O@q>!ahhdYxAhm}w#0VXI8;#}|&AfV=U*sWtKc03tKaFBR>oC^|xF
zZK@(Y@WUXZ#dkef1W%SK7F%TBtj>LI(zPQ003m^_Humt1w&YEZt?(mPN3264S5`am
z0mFM@-CS4&$Wa7c-8l6~d3K>|6?`0yA?LSM(Hlp5x`Cg@xT%vYpEl8nBUa-QIDn9s
zcd+sxiXj50Ersz<P1!y>g)HnJ(r#T1XW#d~nsl!}IX5!_;1NLg&R4j@vB4VHN!O9F
z6-|j15js1_@l4h1ex~}<Oj=1ySg^%AdWAY1YgIBs++0T}8W4PTMf#oMepMX%tZ_0B
z{GbABs2{ZH-60n?O5DFJsedejm)CFOmPF-9WK*V7H#~3d22_UFYD+tN2O50cWkpd0
zoB(WEU4WIlJsq>pR}!Vu+%{YcN=2Pjr}H(mdKW?^dB9ai-gZlk6X<~IacVT9SCh01
zn3`_aRkL*bHBSzv!*Seu8=;gDENfV_ZP*s|HIA%-0eFHlrs6j0iI9V!03?nID@ft*
zNn@^hTZ>^&Uc$%16jiabVrb-;+p{Ce28dj2VO7O7YEzxSamZ}g0fa<z^GyYSRMC3|
zO0l&)bwwKqE~AaAf%2S<G|w?>F15<6?Cx>#m053+T*&NKWRymZTS93$nz)mqum>HP
z4>r%kY_Mukfw=(_wGY%IWhWrO78Lqidlz!PenCfY6WpIz>BKf5qhY*gG8yegAbFu4
z54P*8xS6-n1}#&mKA<w%pHw;CuDCJjl1?!i?<1dG5?H7r$zAIZ0rhm^A19H<OnJ0z
z?C29jC72{}xneBY*ZGxPdoI+N&+@33Sw12mtL@i~lyHd8bU18nh?+dxg1d54>5(ut
z5?e=c<WpsRX932DJ0Qg<Fb!3!Zo5Wmtt8~~U2+3(viMH5e8M<xBh;?C9i~-2gkNfl
zz}pdVpchr~J@nO|;?7<*iRkvc+{4eSDwwK)iUrIz?cH`Mx!;X4qEl`Ax8%0iNo@cm
z5F0NFsH><>)Zwx6y)k?=swSY}V|R3*Sw<0^W0whClsMwIyjuuTSdkWNgI&#;@my|1
zcEtOOA+|(P>p8}7y<((#x6~FD_zfLaLk^|wPN%SM@c5Q0_#<@{sOW`+>Xmv+f%uej
zjN?p7WgJIQv~Z)B5hJP|C^j^;JS+QDvkwSp$Zz9%qN|)&9mjO)R$FtW*SP)>YZ27D
zztbEvW<zjOzEf8sz@!t5wH2q^a7s)uk06wl<n0dXgnpbN#KUfFv~Y1;Zo^J8{1hk2
z!)u@S*v$A3IE}X|rT6*Ca+Z5$?>LVUy;)$viWe7}aKCzb)ZJpj6AzbNpVvrY3&CA+
zlR9s|HzH`HPKixo#fymAKI3s=wl0h83A}*oM500fMi$ypO{SR5K1GYWn^9CfklFqj
zjN{>6!%aPDC*O={11X0)(Iiby+6pU3*K`C|X30hYg~>23J;S%@R_tj0IbaoV-;(ut
zqtijSc?Kn@QrydM_5v0klwG;W`?^67%Bj6oZNz={M2&#6Y<s=5+`n6$6}6~%IcEi@
zZDtk8koy#x<~p_@?8YOm-&uhC3M!&<U6Fp@Dbn{>GJJ*DRl0YOxod??$sjsWrdM6a
zVs&-fTR#FQy&fy9O@#aHdpF!*)SFohuO0@9tXx}9Lqjl$VRemPPMLoA%*rwtnDwNU
zS$xUFVfpN`QRQ}t#blip#T@L3Zip?2RM$fbL}H}v!`JMge`zqz<Y7^rWVMv@amZHg
zwF1CVx7Y$tjr^c0r_id2vZ{I8qsmDb%<4d!k3xqWp)_jTcN=fG-_x;zlZ&?!MI==s
zMA>)Wq~1Gm0{#R`ddZ07IgNp^@_~Y=s_nXoppYtTzeyr0ZRI*9&$U-gG-`mPWg#8d
zPqc#i8)YPr5Qme5+W_;5DZb>KIEsB{s0gU5#6~~zFR%KG4J(KCH5z}2`HeubgM}rn
z_8nt3D{O<(p|=U9rq;C48TUj<1mufIs)hin;s@pjEth*sIdNaOx44gC%A~!t>+>y}
zNW57`U|mHtMNVhKX8~0Z&^c_2xSBvON>+YZm9Chy#eFmKovCudXa4{xHuAa$-DKl9
zQCtqwVIj34L|z|CrsRV|s#=dWn&w_Njo8F~?xDuUg0>B#aRH%oaj<}5N@dtmUih=X
z$ry0Z6jiiTkYG%+RA^Nv9wU#vvgN0F^&YKS-%~S0!BS*71ep{tuG~pXgtG;c6kJCT
zz+#!A{d`bRR8wSdc1E^8O4Y1t>2-H`ZG3XEaA8teTDjT>BcTkH1!+yWaQQYW&=Bs9
zGs}Z!Du}PqJZ^qDi%P@n@u_yvSaq4$%nWrQxn9jogE2b~t&l-Rk*5(zUMB!lL<41B
zrek`gL4)a)9(QuYT8OJ(6|9=V9P|Z`HdCn;`vrf>iUflP5d3z;QB+f7POF|U`A=pv
zw~ef&f<o2<CjQ9Et%^waU8O9XcOe)R^O|+`T#YKl*?WC_p*<y&NelIgHrrtO3U1OG
zkZsosjM^q4t5h;9uB#%ukk|5Mw`KO<n_&%mZwd;kA)3N<uN!w17~Odw_?*<nXQ0?s
z$twBRG{-7L#hoSf6CvDQXPb<RTo44s8SQ~8D*mG7*PGS7Tw0dOk0E_QnX}?buNcu<
zYQd8faYUSOmBtCB4)FHXOvPMf5x_0Rc)@K671=$+5I{8Dae~dnO8Iq7$`zKxR4B$W
zffd(Ta7+YTBt%YPiaW0#1gpAj)SD|@lImaL`Ab6FxdY3z7h_-`ALK-QRX~%D-Vm2>
z-FownAw6)zJcO0?HnuJHUSgx?Zz=Md?dNW*X`9B|hu+6(T4mSExnk$zQm4F9Kh6Z~
zmrR8OkdYfi6cqb(^HVKANeBLPQv}e9ff8@F`!8P6RX&tWzqeix#FZ0o(z~Ls&tA7t
z`nN?z@`#`N^uj8EcW&Y(Ot?iRTTHtmdvW3STtHbbDiWh0ioa2k0c<}jvZ8gG^)7T@
zOCG1vR2OLRJQdO`r0hcqB4SN^p>Qo>l!ipyXyXyXcwQ9*=8XY1prok7)GRg~)}Wr2
z+T4|1Ijk);Ue)S41h~Fq6Z5O)vInvuNM<NFC@Z?VSZl{;OO+m{#L2x!`bcv%vvO87
zm0~YU47L?>3+~`rLwMp_#%);bIHn5GKFI=$Xbv`JgbU$dvC?*R*4=gTsbgNq#FW$5
z!_f=+nQ{@^X1Jy^X7eoLdWhy(HMvhUAMof`Ri{yqBT@uNh7vtz7Qsvr5q}dxRNNI3
zgVW5+#`hD)?IvARU#rxsQ6doGvD`UTX*8UWRdGRFc=^bREwpc=K${C``ViCJr+yWf
z=rH8@@u_6?)K)rqk~i2`a`H>>Xwwz%#wjR*>u*AQQP+UQzT`OOoz5J3zs0cG(J<fT
z40{4%>c+x?EtQRI$(ZaH>*lg!9i#TM;hDUI8%9|zx{PkU=73u@H8#>5F>NoJo}Bd7
z=~9z4z}IT}rfw^eYG!of*zP@)Eb9r;8EzwWISnoJAH<N}7kgAW3$fi`+6{&AY1Md%
z)eZg?3-HR=7?mv0)67<89=FdVhB1p;g@#q`st-E%7>4V}$}8&Q$O1$HuWUci39H{x
zbXjIM15&*$*~+PI!Jl&>oTB3-XC92`K5F*XQPqZQp+DK~yAjj^g!81ph_}USwP#Vi
zU04j<LqcAajl^lUJ?=$|);9dKBLr$YD#`aBl8*PuQCSv+qi2$ur!AwyLnN{~OAmwc
z6&RTr3mX}!rwx3xD96-JahG~^(d(^p)iG?N(?lP`;m}VRPD*%`#Tkykh>|(aVi6)y
zQdI&kt#|%>-C{cHuNsG#f5hy1d#<g8J|}3@+SVA2TJXNJWHD$pfaAa*Xe^^*>|*8)
z6K3aZfp;a|0bl9xact$hJ2lQVO0t>QQZg)&u;onz6`+wKU6a83aFHY{avE+kZ_6bC
zZHAOY)kSoohXB>xH=73-#F}oiDTe&}dyi`Lc#p6TI~|7R@NDLH*b{N|i6o80ai-ok
z$kAC#@c6#W5lZv?DQ1Si?s~c%^qr%=k!rKLOb1PE?zIyqpojRpsW#2Xj}IPECme0>
zYHXqul5yR|Tu$d8SIB`^&Yp5{$)6%Tmd~3=ByJk2^WS~<U!BoWci*HYn`BvUyqW3g
z=yX*YYeSL*Yv}mQ7i+9?>hNh4Rs?;PLe|NeNDfVL*BpG>akN0(-s$sw`0I4jCSw&5
zP1^EiYR3jVEM}b*kkd#gs47v_#0B%Q2q&G@dhD{9otX9U=|$$oBNQEcsdmj*Uuo^7
z1=V9RqqOr<oF@qX0K>QCw;oO&SBRM*4%;XZFP*ymXvNkaUfwN@<~IS0Lau1xu)qt_
zRwAO8CkO=<;*RrX+O{99xeuXuR8*aX*hr?!V@QVR7bkl_?%zoXcoP20^sfH^w^W*!
zZIxDqSmIJu*wL&O9E6Z04#!swq(TQt#3OYbMz-YV2Uoa?ph?u33#1J?YMoFb&Ax~e
z)CPZo*HYtf2P~*!3|mU3ayBcRCn0_XZ6*4-B!|e6MVF+uMfDQ2Z3?1o(T=aW#5QoO
zt5@*|4q8>ARF!5?aKuW<N>H3)L$Y6zJ-CDpM0DD92|1{?+NyWCB2U#Vu9|8Vu;CaU
zSCTUpw<D{Sie*o8CK+jok=UNg&JwRA5+)Hv&D4c{Nl1LKFnv{%nP<e+mR%~y&Z53W
zd?%tcWlNPdZAxkRZMG^YDP49XGEhTo(ZECi6GKuwMj7HJIB+%BbhxK)XyA7v*;?TG
z>r<Co)7H<+u?h1mUr4pi>C1~Yfq0QDbB!bF9>SoLM60_^$Ys`v#Zv-2d+Tr0+qV9#
z^6yhxJsKVvt5Ipc9?9tI@7ZcRsF2=r9P*V66<?iSIw3X>98o1wYl*bkCnDG|^Uqax
zH8F5)7sd3K6NhCKTC<gL3AmExG-N%N*siOSCAOG1OhC|_M-W8FxA;OGN~*8BgJjlg
zMNMgMF1|$sd)8@A!N~8=Xd)P~B}8PS1fl|4kaB6HMOOAg8R9xv8)?g~wN@9H++5cY
z_gOR1SMhh1jZUY~twzOh+pKRE0k326NWjIbbkDl5>Senxa7TrSV;Z_k#x3pcLFW(^
zr&V`;51IOT^$U&BY9=F-+0sFs3B#@%08$1QxUIa%J_?RRb(ewWTx7Qda0{3g$gBL<
z^*N^)-lX9<ZhK=%GFf8^<lO5Oc7-a&)v0VZ4m67S5#qY!>f&jeUQ(2a_Z1XfY{(Je
zRC-kPQ|d#~=c~)O8I1XPMwHtextUZb6FtMsHY5U9kfOMN<8qM&w_k~}Js?_;Vg#lu
z(aC^{P-Tm|O+eK?EK8oy$K3PK`Pi*T{7bzdY95PTo~B}1<#fDaRonOabDu$i+qQTG
zt6=24<sc8$QV)ot69`U%&U6u?1MMT<(XXkPzNw($x!ne(-M?3z<80*?SXBHh0P%xf
zOr2NaAPC#=3G{pchXkG22vOlBQ0SQ^ozpbm$+?t2VQk|P*|x2%a>hK!X41IZtt$rE
zAi63F4*>}#`wEGwDjw+uo=4NWNwhUMV>Hm~=16gCqdMa(F#LoQPTObClblQQ9psDM
z-BjIFCF)trgIXSHK;*p}*n5p_FU0luLw>LEn~S_cw$4dD^;3BiXpPX$vIx-MWwqim
z-tCWc-BaDc;7B4o6J<s5Urj4oF0trsV@r+JFcvZoA)4(`t9Qf6S^z08a2W4y(i5$S
zqoC_5qGT$nt(@uwZdrcaJ;pxN_zX{OqOu&e)f$&$vOgwC@g&+bMnQROyD5r~l@vt?
zxUHv#<ot%Mv6fc$jyT-uEeCiUB~y2ZprW_jQccNKNVq2J<$4@Et#o0OsR%I;<&?==
z6oRkxZII=0ttqvmQS4fylQ<fz{7Y4Ar#{RRHv(iggSxGDBrr;wGUKG46Lu4RigNs8
zP4Q~XTURMHCmqA9zX?cK#f4qmylozc!t#u<WA_)FBs4)mR3&s?aYTSOHDFa>HJX>a
z9M4JHv8R}iM|yTmRxj7T3`c1L9S4$&j;W#x%8i#6zb#dF>D^I>V&fVk0Yem8Wu~D)
zBY>P402DxCJ4?9}r~)bEmx>B<Alr{k#N!;vJI2X)d>dwr(%!2Z*yR|+{Aw-yJm!My
z9jmqmuP^auo3Lt?-wmvh2BaB2+RT#L8^op~^z&^t2YQuZr+Rfme_yF9kJna8qMaiD
z00z(SYX;I_S1ZaAmP{B@1Z`Mt=ZK^=u`+BTk^^ouqN#6PdS!W;>jqZU^`@I?{hSTu
zY4w&pD%f+G6<{FSk=~P3Bo?Ck%@CYLC3T=CxRYdoy`Q14;zeVvc$=P`y-Kkjms>QV
zoF6-;rLz5IPXZUYZSyBV#Z^AU#vhm4Bqaw;(M{Vi6M2=<H2(nPpT!qj5M!KJZUWo*
zEvBvpA%CZu$qo#NZ_AHigk-oyQnE!M5Kr@3M+!QkkfNc1AQ%}7jfro`bDPPd#`DVy
z-6sh4*#>kWF2a)D>QpHqX2NzilGDI$#RC&yP{ojK5fGIX5fy%VQp+VhhF$5jm{C~%
zT9U%YD_aRpIoO#PWCJ52J0{8-FRZBL%oNwMhFhtssV1lCt%hre&wega#bm*VaahO#
zSUBW1TplLhzJ~CU0{B90)=*6mQAHPGNm|i{#W}ih8x-d{Ohy@`T#r%tL%8m5d2>Fi
zEDXFV>dG2Ak)*_q><eTyHp|*s3y7xkE((1dP#qpbC|(p!U(0W=T85U_k4uOp$+w)7
z-9zGAp#d)~_FsZU@Sh9PZ7MP?GSrGqS1MZg>02Et@-W74Vn>2)%zR2&$Bz6&7q}1v
zfsY~b7J(0n?x;xDdL=}crZoc%NzwpZeq{UvLItdJK^=-!L#VCEUq3AJLPSlIb?MJ=
zVFk_e;E^3%C=Qz<7Sd~tEAh?v3EFWYlWwBEDnqh3B&ey&bVU>`{{VIUx{(SDXfV<i
zL0-$%ueRRA+;x!L67s6)wBmkPctPeWs3eKFru_-h=2#iM3aUP>wLDgDwS61o0>B&)
zQYMlqnwY$RgnUImNUH3cb#pn*HMSV+GY)G}V6<&j8xj;AU{zIjM^KR0kt&y!B;S3|
zxA3CEXh1%ShCREHUlsUtqc~es{$9u{tZRiFa!WE}NNz_m9$eO2(q0u*QU&etPX+pi
ziVs5>jtd_0;fAiWEXJrIKipPvT!<lqh9bURPSJNme<~<qn-4^eQbvld78P=qO;#Wr
zla*xKve<EVR98NL<+^OC^zNK?R9&~|e<+=h-^O*eB2`&SmHAIKl1y+T7%DF4d|Gu)
zHrY5R@l@RvQ_oI}zMtB|$b_k~fAPPlLH62Xp;D{fat5+xGhJ=g39z@;NfF^2>ZI75
zq;231*%2ZdAnbe;c&~&?ZAFLa?tOHM9H&fie3B$XF=DeJ)yjxMK-2ujN9RvI2&5uy
z>>^Ezq>8ADfzdq8IIuV{>8!9nP7$SrdL*Y_t8Kzyz`24k8Q6SHt<exr$P`qRld3qF
z{iJB_&W)Am1Ry8{A(*;(fI@xgY&6pM4VGlIYWO1ZR6*dSzY$a4e!5=c-fO){`vk0l
zqceSn-3;MXG?=97xYTyAyZ1AV$0gHURXWdn<u%wra<E<)?GM%^&Gz?0*|b76>qf1-
zBYtE_3MkZBP9c<1AV#>7p(+6&@G)J}WZVnR+oGs+i=f7@>u#XGKEbEv+AK6U^|*vu
z5TC(Y<lv&rkdV+C9%PZ54S@^5nIZJkm@Zr8X_HA-Y+_coAm~-5o=0P$xL`splJ<m5
zJ7Nl=rU-@QIV$vWck+^U>r^m*%(xCHLnqQY%;Q(AGd)qFeqJh7kJJwadjPVWAVPTz
zl?Q!;fPK)>Pkr_tkhY$Rb8k_4xl1OmGsf|JBTgV%;}=Dbs2${S?h+_~yWNCBuPQv_
z?4U|c;HYrf2dCDw(6vo~-&ow#t;ht3!z#8l*;1@(=Uft&UCvubHlO735vrmV$>dc~
zm-vsWtvb<PO_v(cuNM&O@j7{~Omiltrv+PgWx9yd9?6sfOBan%1+)e3ro>Mw2`JDd
zmN*Q6&<YN?pb@e7rp84{sqsKGUWD)lbL^^4Q;W>aBiG>V)!4LAX1{eU6~lT%4i9=q
za&?nLO6U{9<1x$-5LMzqF1xDq+vw8>b1v5AVp7e!ytc6ZTCNmHxpc{`pgPN9h~udk
zn^F!!jW!~mK!_qCgJHVG>(kZNDJNDgp~m!?q_j3)h~v)Y&?Bv_++sxnoo3Ry(I+BS
z$XYaIf>aJ?DFp#TE_3fj9-eiY2BK)Ll4gFRHJbiAe}(7y6}e38i?5?Rp%H;3cEQ&h
zXce~58dO9VQFkuAhjjRs=B;?`@1W<pIiiaU;@2Dc-;ftS2)|D+Gc40Dz4Z%_Gmhca
zsKYk-j-hH42VvCX@X=lfu_0B;btPFp`9|9^C-98U%B;cs&B(U{a~7<qvdwV`IY}Mu
zlh#loTvRya-R+BtpZvRKuc|mkO{ldEr~646f&@l^$APp2%X6%sCCh8_M`<W^J2}TP
zQiBd9TMaX(x^Hmi!frBTBo_C8O42(dy}(4|yxamLQfScD1gVvHMi=ZZ>0w>H5>8oa
zVEpW|_ytmH_2~PA+ib%UeNpunwlZ+}A(1|uV+nS0M*({ZeYDb*)|;hFa<niD@A&3;
z@b*?1%?tXGn^@u4{cG?6`S2t<QR-fuRb3jexFI~T7m7XKMQlfkf*fZN#}}slE2lVy
z1(v^?Vl%E}TFI<Rwrp+Zd#O#ZriAl~`R?I3@grcV$s1{w0j7jdja5&fI9vyHa%MwC
zF3n@af~xGABd%(pMNHM9?ISLe>)TWWF7P^tCVy8oE}aq$h8g#BB@0Z)Y@8`>5+XJT
zE6CKpWF6OjlQRS6rEO$bcLqaJE|c1ymRwTP3wTY02$vb1i&(A#Q`2Cpg3Hc7V|L+}
z(x$HoJRfCNBd?V$x?^GbeT(4`p;Tg{%D%3Rii#C<#LwCSp}6UoA_=(jn>b{Nxp75b
zD!owXT~n6!^1VV>#BwXPQ4+TahHJp8=|HwZ5ZiG%DxAqwx8j0|iPHhYazl#qt|^-N
zQYGD2{d#1sE$)v$AHe+aT#cEAbH1J*wai6O5m7v%ZoWG8x%p3>)8};C`t|w4;o){o
zlj{Efe!WBjocJ~lFVwql`}B|nDx5W<=PMnJl2e^U+__CaN7<Pt*^&!}Od2`~&x)ug
zAw*R~RpP3Mo_ZsE9LO<9uFa&4HHq`uR;#HXvj|V;ba=RI%wY}9*Ei<A05&c6m6PI@
zxOOlzBh5i_QE=`f9E1^3es})>qJLhcdVAAln$4ZXrI5;>a3LH)C8>KT?Ww8)D(sxq
zOq7We^)AS~Q4^?f4~g)ZE27YXIRxS=T#K$1Cyjb-!m2Umo(XYj>z;aP$Er{tXUP@E
zS!5M>BV2_@OOX>|szuz{2_c<o6^(zYT5N4B>`J2}g7s86%&;ttL-HGO=$0+XFAk%e
zP9JM>R5fUkMGa82hOxPGQ%2N5$RN1rIHN7*Lxb;Zzd-yh$@f&<6Lnp@F5N5I(@Z~7
z@k>oE$#I8g)laE*Be0{Ah%&+WGgU?82nn%*htwtjqvaE$!ab41>0f&FR2bGg%Gg_K
zCMKWZP%!ALYL)VR%g~XN7Tay9G2@2ZMHQ{MxCz64O1t@0*-3gkp^=Q^G-Uy-UPH}1
z@VYT8;G!ZLFEw#R6#=r}>iJE};T3wW#;f6D)DW1LJ!Z&*5E}eR^c8kWig8z*Uyk9T
z{c4HzF8im#CtGb?q0_pS=1Z?B?^w!aG#GK*1$tw~TL`oYyPu8Mf3g88Z?{=9XPlZ{
zYrrDIj`5{ARY;AFVR<G(uTRt2EH_^XTWIIiniHaGE^oOnl@~b|pFF;#^XH(P*Al~Z
zQ{QA61yz&S>+v0nlH(TD$l6&Tj@$N>74LK=AWbVqBE7=jlBy`r(mh?*9ZUh4sCrxc
zvMjkJU1}xtDbSx0c}28U6z_>}*-Ma*lvLZtQT1~^p~2{q#k+^+qmH=DO6rQ`lQv0^
zqByL_MdIs%j*Gq#5n1kXPs`=dF_N-OrpJ-3JrPLgUk-7nF-rQR7AcFCuEDjy{X<Q>
zv&^w*gD)GhqD6wvcS_66$%QOXNyfqU{{Z@yP$$+(4lc;ssEPdh&-9Db?Qf}>x^<(u
zo+Txugxm2T&y)rf%`37D#3M^?JCljVUvUuH2Hj9`ux+;hdyBEXcI%CXd#4igJ4^L5
zGRAJ}a;n$zET<j<cE=ZJjk0~{$ReVRkT|S5&n`fc5!C~0>Q**@SV7mUN>8T0RCI}T
zlvj6|y1ZtDt0PaF4AYF5O*^~I88BlZ2|q8NbBBRM>*?^*OM{5L;>T_Sh#h(_nwhZT
zB>{wH@Yl!kqk44A4;0gSN;$anSwgX6L~tvuT5*b^Yz-L>*eW^*EPzHm$w!j_swk$t
zIk9`mSp!ZgPW*_{oMtp=G6WrvDuea%0xsC{=7NY@eLMdEWnQHEbUZ#~9O-5^v0#U8
zeS@{^#${2*0iD;9t4vB()g11ieP-K=M4ZtOik`+TUQJz&yD@ES9aJC0nQOE{Z8j*4
zxZ0{V`<=D&oPde72OI8etJKn%Wo~wFRM-sgza*ATOV-Zg6n`AJuxa2hbXtFl#Dm)u
zASL3ez1GzcSIF~3<@Q~Iu+hpW^}apx+J3$Kt{hnT9rJPx#;3Z_s<Muc9osg+c{K3{
z)GDnReIlJOvCZ=7kK@wXeV38ZGxt%^qd_Fwi6HpoDukPEMY5-ziFzf(;wBei3m>wz
zi0KOg#Ayq_JP2*Fj{a9|kvQzXW#7W}l4Wddb7@tyAnlyj15FVXR9io2^YX15CmbK7
z7$2m(efLfJTI!ya;#sBgUfko1%_wZEWd+v=7*Zrn`@`eDo2J|m6$uy0DvET#2~lBN
zIOOYa22{B=W51RA?edAz{{SJohl#sCA+X71ON#Lj#VJyi=>jCXsHcsZAE{9gQ*=a6
ztKmA6588HwwOflYn1FtYb}F~E@vJ|XE#t-yq+!VJw%7`Yexw0T4T6`zDH8ZzN{YKB
zra>~%m!qwecDoLsD!m!AUPZV56;BKE@T<R2G3nG-G;FzBVAPoMm`MytX~1+8RCZ2C
zsG#S<`CmIHpWmsGZ8A)KNCp!Uqx`igrwqGew!(xezm}iX5mRrvbjMUav`b|&0kWDw
z4tx{~8uwU?kA6e08Uw<sx(NvRASK^q_%A<ht1WR!3edY6RCiHSl|oL<8VV-Lh@1Yd
zN{Q#=`t@ky%Y@Kb%$pU!ZA_eXfm0TD74i$emHpLMWKV?Mdib-O;x4RmW4b6!A)z9p
zVxCCRJ~#c-%5I6e`Pdrww&69*VH7Hh7=wRVFk5mg7F#nHmE*Kmb|ghY6aY=j<8LY{
z<N9<#YaT4oW&~mv98}@lP*LIi5m$Yas4ul0WH|6Z*ja1=2whb(`gh-S@Ti_X{(gG;
zmeiG^2WVu#yTw{SKPId2h>O4eeG~II)FEb83LkY(nK7N!<k4qQ6Y}brM%kTR1~YCK
zZFlY#&TOWtJV$g?K~2?nUAkOdt<8S44t;^oj?Xx$4Jf25Wa_iSVc?>x%X0ess(dOU
zm&Z=29$}h;n*kR5)V`tczx7^~8IBj1#git(MyFTTSv@Hv&67GWb=RIm;wpq_LOTzH
zL?0XP)tE<$kZD>|mzswi8K5nxy?OZ|yl+=O7S(E|HA1chMcWUgG_Z_M5VVM^z=aIE
zZK3kmi4lHw`)}5tW-DnK7`Bco>1>GKB{q?Nrs?tH@75&GOVk}!Qx`YYY+akkRIZGd
z)EH%0Hq^FJGH6q6)pqip7jBvl`pEoGN~Gobe^C4rq>|aoX4yO4;$4@vge$(=F5B#g
zilgV{I(9qh@<<qA0-Mm-6*tqqr5rAivy)v#Mabr~Jmh#}1ZA%hMMUkE{{Zjj?3;bM
zRpuH^aF%IkStLS=CR-$^<RclKmy0bUX~YCm<yAK|+_z7Th^w_@9Ml|5Eb&av0~S+j
zh1Q~*pzDm04(qrfCj3`)U+vJ89bt1+vD}Ll)93|1Aje~N-fF-*AuP63+)H)&R9}?;
z0H;~-MTmvfr6_MzsfwEkJ4NeJY9Q*3NzC-V{w_MsEAKLESt<co?Ed2WB-tF4;<Tm2
zSBWcV;v($7ZTuQ0t>GE&br(;u?9h_H7#F2iFlq?Own@#hB=OBWrrY(Ka9Wz}OxE|c
zDHXVl!)f=ft5B5+JKdCNQ8^;+J1VJcyN?Cge%%{iYLj|}>IVa)!s%S2{{ZCq3^8}G
zs#zf*syf4{9GnH=@>?RJuIQhAtVRu)hZ<C!D0b*995yyU!U3@&gK{@oQVXv^$(paT
znndZZ_;*)y<lp}QWWPV@)eoqLYwom$)*MS#TvnSc&~_qCzw6ahk5Kv>Pm;~kM9NB4
zjbml+nJETh*$HtmQutC8`4sY>ewDh5r@1{oeRHUICA>%RT(X=>QhSwCZa{*MFi(U<
zPP4GMV(ddp>~$Op)Wzc1+%uTY@HRKNSu;E&V$oGLPAEyT7mc?>=srv0-_IpP`Cazg
z_UMaHB#>GVx|@(Gp(v)vtG?U+09Ek4R8ryjUS}!xv4}n8j|`=}Pa%V1$ay5@BB{+$
z7l^Lhl@&Kly8R9^1Yni<>#FC_1zzN_UMi!@kDsYN{{VGOzo%FFWQ<J8MmzSBtIZ=g
zaV+2|tMFeGLI;~cMdYcn?gX4jRFPFT-2^7Sj2ei$_wbxP%hlGDUr<EUT6M|h168ie
z>`ifbrp&k`2C3WFx7fTWsxJF^>#~AlC3+`PLE@fm+Fa4(Pg*x+_?{XLF=ug%*j<El
z*{2*PXRvG!Ft2)FbChTKA#gW4iUPZo-by*Nize&YSxUEx*-DRDYHZ13xx-X57aK1;
zjMK_0Dl|J039l}=!IhCpgt;6`YdMnr<XT)dk-El(#WMk6A8<#*&BTrd2(A(U6YmL;
zDyk^eGg-brmc*yVZN_FZ6(qA3H7!#D<})-!8)aG{1Q(%7S357Y!CYv76;zwuN9O+k
zv#u_;MQKLpr&}$o>|K}@k){<p6{=^7-~kq0q_#!GM0nhJ<!%g3kVRF2aqdP$MA{da
zbXg8VqLD`b057GHcZ1{-8HZD5)w7K(N8Wirt0hHn)gwH~Cg$oM;EBu$Q8@Ken%L$z
zjEQ=eja5vhmN3>GU7b@6hqs!p^DWpmP=&K`QKDhj4GpIiH$nha^z{}efz&@4irH~6
z>xW*c$fzLHd$O9qiz6Z{t|O`f^a4L{!H9}>1yw}J7mo}@fbI`oMR~FZ5yUHNinu7<
z`x>KpkWFk=%NjYOHZs~Wf9J05I07dng5qd=0Gy2LM2bR+opI9)(z98UADbef@wmiT
zj_sM6w65J(yrjF6Ae;$-d?Pq0@hKC`ik9e#D?_R_8KqVQK8!3_v$2t2FyEU}`|Yi)
zcEQI9rrS2dWbLXxOp%jGv-=jr*mVMqEsT9XhihKbC1pnjEV`#_;DgfT#gJ%hlVs9!
z7XiVR*_!d<91Ct_inItT6<lw!S(cK~x+|MZy2}XCTR~zI2-_8GQCCb!jY)Cd>bUBf
z7%HMLLEUsV@+YwEw*6LNR4r0xmG3QObxgCzS~n_Vx8ETLBCDS0z>zmcnjT6dqAT8T
zQBhEO7WDw-jh)P#BMqXC^_0h^PK#j~nC`zV;$v`WvS>)bpawf)+k&Jn6NEyftI-wS
zX;qA17CauUtyvB;3bG>#PE1BjMagkH?K)!=M9mCENVgdZoClI3I)$wi{{Ywcl~7NH
ziWLi3_2nhjPkW1uxfaqGTH0W5+eMnphujAnW%1@<NZ^Q|A^{R3f~U6W)#EsxT6ol2
zTtwwjS4|0S&7qj<?$VL8h6MADlm7sb#8gZST_s<zD){JL?zaNP@=?KWtFIffSgp!t
zhDG7b{31iGZi3t3(=RgfXpOjxf|Eu^x~h^8s62^TP7{GyEVHq>hVU=ovog6(JP;pg
zdz(gx{CDFz<A8+H8EkFxO_X=vuNJxNE~lzwZf0=W`X<gnr<D>j8r;hm$*dg%s;;j?
ztFnt%J?4f$Ll&Kc4l+`s5(hPGkrhEq)X{epW9dyEPl?gND=WCuWZ1hVJWAxRlIRNZ
zQ5MEzgL9Y&ih?Na(|mrBQUxxQS~AX2k>%-}NUp`@J2tjBpWt?bD!^Dq_7;_egpcly
z2W)`&Gq5VDD3>zO6|Y*+xKe73vL{_ARj~p?YHl#cAUQ%OvXZHhia3eGh;m*n?bdwu
zus+JRYN&lerGvN7vCK*(g;aW`(p38jH4k*tASf>bZ@SS0ZbqsFDZ(>FO@v$}MCdOK
zcNM3UxyCtHRa->Jm4!@a-&Y%tBZ8}{>%+21lHu?rAE^+9RF$oidY7+u^z;{uWSKKa
zjn_Ob*0AcEamIVEsSM&2G;(6Lpd%fv!BJ41e}>}PQe!ah;>Ar(mndy+E8*=^KGq`-
zFxe}_=)NKxQaY2Ws*%VxLqj3oWdb;3cVswdhF7)Drs=<r%cj)kAZiW~bkp>ecyY?J
zy*Cw>tUGS(v0vN-hCjF?GZZE6qbNLxRX0_P3A(YI%zm0Gw9BrE158C$)wYemX|M*z
zbwXZA^rzpK_v)Su9Yw`-QK%VasFSHFs00;pRp$}-poT51g8dDv9za0E5VsXYH64+S
zrr0=Q*i=WYiKlF?2(4$-$OjxYp~Y+RVw+8nlB=#r2Mg*S2q>HRR2bXX2RNJ7gYKB}
zW^ijowJ4(I;)=5?wWcV|GV~|nM4)CHE}=IP5yxrg8!k#5QN=+|sa)paZi%v@R^+9O
zVK(*-vfx)jO9`^hx_qHWBpINbg?JTJ9$rM|!m6OXwdO?F2rt&{8prXrtz=xzZdG0U
z=&}M5HQH&VeUu^~MIIkX7jI+aiMooRZmZ_5yCct=Od`tq*pVB2Y%OL*Zdc<z+?;L3
znrvG&Hvo7K7hT*$M3FqIbc}(QIwpq`W}&KllJ@kytSXbRp2UTjWb0(wKO6z^UTnAd
zq-yClB2Eej@#3rD-H_8m*6$z6+rGD#J+;YYy8_XP4I}aA8-$?ivWZDS$!)o~tW_PE
zMMWhvRNuWNi*^l1ohtppsmWj>l$S^#y%(^`h_?EdaU)A@#?XGRCWI>A0u>djqRZ|t
z@^RGcyApoFmIQ{9^l|htelYft5>f!4d0hGciQ(i*q33P91J7u~L2j&#pYw3ywbqeM
zqo#@YB{SSWltiH=n8^0700{O#Q}ibe1+e`Izl2VhETDp_b5!JB6#SR{@6u-x$=;PJ
z4Te8-mT;v;84<5cz@3oMs;6wk6Y~u=+jU0OKg_%D(?-6?r5X~v+BDei=gRrrQ)K=2
z+im{pi`UFzBcrOms|hf3GOL9p`?{!#n<A?C-~BpKYTu?RtiJ9}YXsbST%}c+0o4Tw
zX|g93=87nrA|}e4FUOCRF4Nk)qMqW`enpY2$dhL)utDQ8Cc%6N{YadD`xHbJ{k~VC
zd#faYRU*t03}UiQmu-BK3M#56_3_X)Nigzv4!?BQvMfwBc+>2a+1@_YRjoc$`?BD{
z$JuYSRLABwz(4S!eL|_SBJa8?Z_(yGY8RDET(k|h?tvZH6YQzu&)>)X-3;Jbn8vBm
z6@;vKtC3$&NUy%z#t4L>q<l9(_+7SNDYB=Ii79K@s$TSGRmk9*HrlTHC-nI7)1<Fw
zmEz$h5Zw8gY6|6B7V*rA##MuYQ4O#Lm=N4UiV~?Rufi%SeLH-o&&Nw$P^`SJwL2&c
z*p!Hh(2I@5H&H;rc_I+(h@KHw>DhNw-4}G}ookTBrVjk+0?RHsf+g{}D){OqT|r@z
z(;R3-0^$zs@>STCSACUt<>%vMRQdT%y%WrD4muUdm?VykH`NExVbZf938?c=Nq>*x
zKurf_c$dJB+i&QozrN_5dA7t}!{<3O9=<5?8y-@dcVa~O{XRYueUN;7_0Jy0wMslI
zXV{vxl4L%P63Bb>HYvA)RW3d@P4{03)t!Rnu2t8t)JAXPn?1SDLm?z5H`~tNvV5;p
z)QA57VMQnavf$=WF&gL=Y$d0-eq(@YCQl;lOTUi`{raDh<CgX}hbsCYNvn>+6Dr?>
z0Yp#B5l@xh_wo1rx+rG6C@K3fYq$`H($a17`*j~4{BCi&?UiD(PnQuwbABn(jKsLO
zC$=8wX+v%V+?nY4T~!q5lOU?b0Bz3(-wlLSRS`uuRNZ#ltIG^l;&kS04#|LJkOU^p
zd2l51LM!l|e*XYH35IK!!pP*)+(}epzHJ*$wZuUYd~B$mJSSdq?588Ad?}&;#*Q00
z%8GB@Mfg=!-*ivgruJ_x6rxa;Fw<JqG$GzrH4V3BI;-_@6h+@}J0h>`)WVQ1?CUA?
zFUJ1>et@xz!lx!7r*<FsqK)5hR8T{4Bo$r%0J^7y=*kns+eqVqz<vR>Upsw^sAY>G
z=C6)!(YDb_5LQVCilVA+yZm+e^hZSu1vv-lUH<^xI`EPKQ)4~6ZiuPZQse+2MfG`7
z@%!|WD4S)>q=#uA6jk5AqOQrmU1PRn1`i&>Y4PXJ_5Pi4-5PZi8%_={{vGx|-+#Yd
z5XGfZcVtmb)QNoU`|sDOYOfAzSA_E0d{KT#y5!@HM+J10MH7Fli)HE*tcW>rh}x>6
zq9-K(0Mn|Q8xT(8wzTe-5LM*k1R>!*6MqT*tG8auT~TJ>tmj&YinrefISTI3?e(X|
z$>+lP`S|LhJ>;8=R4q(U6_qe>h__L27j4xC%70W(K7Km!Dz+k_h|;{EtHWlcwYct^
zZYWFR{{UT+_UoQJ3eC)z&bY06wt_;bL_}9l$dPWSsmtSZMDn|B_vpX?Splh2>2Zj%
z>YHjZI>Rbz=MhmcP1kiqE&Qk5Kce;3`m?pIdXB((GEWdR(ncZT3Ho<k(RW4j$ba9i
zOjygNbJ@d;W-dCMi4%gVsxO62wnbgMAHuJN+vR5^%-0XS9sW(0{1HJv)jz-V>(y~9
zfHVuPm36BMCuPYlsf%bFgtz0eZT<fM-+rOFU6H>n$D(8}vD^J3>kSYpFTs3nzwVuW
znQvlywF+7~Yq~3`AHyr*JaJvmZTzRgebqXtraM?tyYVu~ulHOflOB7BMh*|ssDrk^
zi}SL0{g=;P0IoUB3do^aO>=95ius7DGGi2*F-84|O@3Ez>DLPkc<dmZdy!G$bp$~S
z$d#o+QWE$=O_$1f>Ra}+S~O^2Hi$@EMN8=|lXWFT-->zLm;0wuAcX0VN<-uhlJ20(
zUI%Ty5Wmg+{x?sA>$NQlgf+&Bn&O_ZxQ(6dh{gaVS4(76B2`_*5m9&|s-mYKJO2QE
zx{*s!NsLDq{F2F-WYeyFN6F*ec<-{OoxiX5+o~y8wVUH29LoU)9!}d)1~1XXl~lKJ
zSDNwNc_)GTz89~DlqCyNs%|5wa8=;z%i95M6i0~~FA*<0Z?LZDo<99BG?74Rk(sS^
zNLEkbmH6;UvS^><u_z3L<ebSARJ<aRZ@%iO=XF(0x9XB5Xal1<)+{oRZ6Yv=8+Qdo
zH|B19qOX+uqU?%`=dKZRS(j{}QRU$BoQ~6o^BmEXRphO?v7(8fi7Fuekwo2gUHbE7
zPjp!uR+#m=z(*7R0IE_TJ|y39SBt{Gsj?E;3|Dbf`jg>NfH|OoZkFdXnzUI?$ZD$V
z;;|y*U}8$7MqG$z#W(PRJ*7qDyKE#Vil0h-lc5yR8cR!6u?P|!lOa?cn;yYiGf~|H
zOM*A`A}XgfUDXiB&(B16msxEi%V8d@o|<p8)K=Uu2yL{kmmva8zO)hCi8lI4I*xhH
z5vf(G-X<=RNR;$u=6hFSp3S+$_;M6g4r#cTk=;2W^lUPL-Aj0h=IZLgTsqqLaPq8P
z!@LHK#^C2|f<MxL4s%2VFWJKKtG4RB3gwu&WjTyG>?bNXGig;Fw4y4}?X?-wRZ?*k
zcU3M1jgas4FE1TjYHlNoYDH6cerJoqu!|^!)T|#cRB%XDumVpiYP^?Z+w`jc0A7Wv
z@w=Tm%NRX7RP9TigJEAbd&?FK6htFNh0-Dyc_}EiB!GzFDyHZ=`Zl;58{fflQqpKe
ztcx;emhfD9bR~VZoDJEIj|njH?4`2v0!GygQ_mFLPv>;os`!BGG8%_mkBbPO{Z-^t
zQFyN)B|+q$x61vIJnhtV)cM(E?3iz3b8DbSMFEm?SD%*DfXP2j#ygOzDyn^3rs>yM
zR}#h7jt#A3l8}QU8lsQps*d8kd5Evn3aW{+{VTF;tFg2>t?z1px;HqMmD+g4SAK|Y
zN-izG+hLJHKmpjfpCsGlw-rTHP5x1L>ZvPStH|PHRr6${av0<#Ddc&UfV{ZKeL{e)
zFBMWHBu$Y46O#3JKCbE5Xl^o3K56-W&yqGsMv7=V7Ui<>HAPiLPD|r%Jy#WKLbGzM
z8kyS{`!NHyZg)hNf2a(PcGXM9$Sd-SsGD`xxDZe|w-!++IZ(qs=IOML>`;FZa1lwM
zF(oxU$ro}I`A#Xn`AJbauh$H^{{R+~63zZ$0$g_qw?u%No@59j+lr(40HCH~yq9uK
zxAKUxbuSOBn+7Iq`>fYXqO@)1Y~@22J(?)2aWx)WsEcM}w&TQHRYl!5P#;jZZaI|K
zv8*^AM^RIo-cvPIiT?mJU}0`G{@vG~eMTxDeo>QRYJh}%QG0?uSEFN^9MW!-<~*>9
z(H-fv<ZS0pEAlEyVy#P7<J3IJvpzibkPy}OI}fTl*{13w;-~zzLKI!PF0hFp<T)a?
zx$mL0aZ+fjjXFDdRcQ!Sqf*^APYS8ye;Z=|08RR}t2mAa{FSNLo*jx}b8i(WtuTA3
zL=(nQzWjs;g$ZOd$8jV&3^-f2`U{g{i`K)%)`~_EUU*HKPKN9@Qnqw$iaLUzqlikr
z5lB@{eEB3)*%dbEW@Dltld5D75)8DsQOfg$yD?)LxhWTNeHv+|<FshJjl|}>eiT%^
zsuGHQ`djNJlb!X0*>;%M*TKFfVvCt+Mv6)?qq)sN$C0F0gjbR%_Y-AQPr9l#AyiDp
zY#g|`f)Ub1lX0d5aU_o9cMV%bQQKtM6gDl_bXDCE6K=j__=N@~y^MzCwA8oJw-OI|
z;x|-ONAi54s*lm!MCG~)s;YSFte8abLKz@4L_@!8Hft7)*-~S2vK>v3)XL!rktV+=
z5-W2N&>#?fxPl^Wz97qGzXef6MN!|9F*IjiX(=lz^n+0)8!(=T#7L1RU9$YLjAD%g
zprG-({BSdAl0CV!t^&A6zb?M%#)xYM1CrfNzR&2aD(qlQO6sec!6}O}OoDN_62y%`
z7-UIWMnQQJD(-uzfQV^^5av0S+SvL4l|X90ik=zmy+gMM%kaAbG2^((Z&w|sI6ABf
zptjp+Dx_*EZXX0CvG0y{7Ms%c*U3X0Wy3wCwyw3)&1i`%<2XGG99IvkZK$x>81?aj
zV(?T&QAU+~nJ*MF**8^DUH9tMadzlqKFPl8tiGy1^qB%_99LveMPEF8BK=$a`bFVB
ztT2sKvT2PsNidRl*T)HVu?jS((xq;##daFDM$_$xAsM^DvE(hPs;^HQTkAY~9XU4B
zqFJ1JqJ32ZvaY(??&6{%5(uJfzkQV#tl1-yDm06pI<0tSid@dvaL^#FOvrMJ9I~$q
ztH&97DKKX#8M0Av4G>gC@l+s22vyDbZi-2;ru#2QooTY4s(2npW|#N0)i}6HuAW%x
zwCtF{43S+Xn{*6i8ATy6ZP@%fLR|h=c3w}fS`}}o+I<5n)=AV3=BGJ|THt*NnRZPY
zM>Y~h%f(3@UM;T3s)%F6fqLRt<jp|KH4?`b%wh&Lkyq16uC-}{HlzwR`%jV(nlA1G
zA_VZSBp)fdqIGNz>?la32R<|_GZNm|oTi|i2ZcgZX`>4c9ga((^tkyAodsjgSYt3<
zl;eo-1JR?kEmfmfh5(4#DGN#j1c*PUt6Kbx$VC2bnsp|!RLK?cE-NC+lual+(L`n0
zRdN7KqwlwHoDtbT2}^dqti`4p*^=mAqiU>IMzw;ijN46hKC=bRtKWn8+R@a0D`OI_
zP&6jdN>pk1pIEuTn%xZ($fees`heDa{{S_{^%E=4a%dD;R!e0b`l~0G4#$j$;QeDX
zmF_Vap@`YZb*XO&qhk0t0@<nptC|8g$l`M7Y1i37nXxog*P?OC)g1dxXfe8cp4MKV
z(qx4`JUi=Lb`1QEqCx}G8*!y}J3}lxO+F&S(c3jf1Y33GQ377-Jo|l0pn+?b+R{@y
zOOUl+dvRLxtwD5=;aV(?sTgp*qiFMyJMqOp#hW*~n}7nHPNigQOV)w3%JhN-m4+ut
zA^ZZcC}OqlrAM}D<0ux!8!+p9fzNC}(WnmSt~P4ugku=%)|0gh7}2Ucl3fG_T7?SY
zEnqmznQb*G5L!mfTL%4;wIRvF1mhX8A>^mEEWr1H0+rPH^HaYWR?wR8S{|#{?n$I{
z7NzPxPhV-wNu^w_ePd61=AlPLHs(7G#WH!;ql1q-*>%BjrX-VpQw}rJzbL@;<6ZQ|
zW!(#OcM)<LcBfYmPA9AES#?Fm+(%;)cSTJA#rBmP6G1d2R8i{!XZP5w8MT#~>#7Xl
zR#J`?h8c=Qn0FaGha|i$zDXIAUfU`yDI|xUR@BAE993mr6YyG%mtnZ1ElBjs>iSlW
z*WN;g>`W#^N++!{_mP7Z3cnwdDB{()`)rV#MC)GVV|M{LY@H_&f(>vnI-a*Yihdgu
z=d&chk++9}*?C4cD-6^aH#&(XT%1`dLXOiVvlZOMhY0K6oamAqc?_w@Z6^wFcwbR>
zw7yVw{w7y%C7ddn?o*nhr(#(KD3{I(e>GMVf{h|CaJaT6>JeAGUkti%<S)>zs;>0&
z_>s=e^phA}WAy(3mfsbx2A|X>rBzZ;p}uGdA=xudB14osh(<UxX5#l-4(9_^CZC@%
zno>Ebo{wy6a`&h&90;|t>()E(zWDojFd9iHD*>5pveKb4s3dJP<3PWd!;-O>hSij%
zHR0-?E1+Y8t5AJ?J<*n=Wfb|AjAB~-f!w2*z9V|hLvG8^21MBPoF8Iap}C<8@SQbR
z02LKdJMHY^Dhk=+Ssg8xsXUU>O4CJvxYb)VbKo@088$9H<Ad~{aUOZM9YAaq1whP4
zw!F7R5~0m4AnFA!reRf&v8DRSTCZEXDtvHn7Rn!9&;pBGg?;mYvEOa8R>n|?s*iC{
zt@L{e#&S$(bZ=X**ppnOgZO=9`HT~)v~pik7)0?PpC~h<pm<a<Sn*926?f~oNMR@T
zKf`6sTn9vt%BZQA2HRT=shJW(Sg;Pj3Kh4vv5tc!^=e2H<RU-@4TFr3xY{JnOWWjx
zv-515B5P2wOphh5s%zV}=tq{_bKi)+BqGRrh!-GXNdX-W)2<LGI`XvWk{0r@oGVl5
zvzZ#{{NYnni9)qGWGSiHi5l)Sr%~6-xTUeV8PIG^RRG&0M?c6(-!y@469}8SSTdl`
zX(LoYY&lJ8K%;2lxcC|ZHsF~4S^^-rY`D7+uTE>3B)0JOQ@OG>DjyUZSst=>5e5dY
z#A;?gE^I@QHNthjYbcZriH+{zxZh?&NbbgJVsYG2H5XJ$PN6rSUSPAF!=>XE)G{&W
zn#38df!h}+dw%Oc+=i7Jb^$oyvLp07(SdGf+z~-+XC{SjlSsV6ZCc1CE=l-oin%dD
z6^rafc-$t1#RN7dMTFzdum&J%jHvN6d)#y@r?K@y=SL;vx>ue|k^I9)Dm|@?DFp_|
zG8mFnn|dU9@z8ilWtQAVxF+u$fkoJtYD)o-I2wF;seyJv)1q<W7+jpA2B^jDsA5&r
zT;Vm?q1X4^iD6wPBY@)q>#`Ju2>~2d5V`Xvyb+1<Oo6VriQ4*#vGkhupXx35^Mv~s
zWX{y=mU**&kZVC4DNr418}b?wai@pbybU|-xrn%-#I^J7P(O!Q<36A&vDpk=Bk=Ml
z+138_cJ;0}jyEPNj4H2TUr}Dcp*alRBt<634RR)?>3%zLpFgE~S*03%id46A722$7
zvsPc8-cu*G@}Sr_%f&3j$dnmwI*YNz-Y+)eavTI!8b@}-jvfPF8~*@`m$ia1p0)ie
z&*9CS-p$lYyi-qd%t8hscKux>>|+bi<Hg}KXfLwkGEUlbqme#pwh~1nI*vL_k#SVu
zh0~uR%b;9Q=efQ|r^3ao!nLrXlW$AOhmn_wr(BmDRaoQgK@nUfZ`?3%D63ER+v_!H
zP8;a+9nYXf{{V$o5bpH*DgeSEy#{=`j4DdFFEZqGijks2VNkX=CjS7BQ#QG&2q<-^
zUpMj1DJb&WXYo9q%Ghy<F90;;Udtr&VjRS|0U5p`g1i%#=pk1@N;o^tE!Mufu41OC
zZwhbdzh$<Rx?!B+)j6hFkwU~OF}z{Qs=$;JXz0c)4%4bmDiX4yGMhD;Dx|G&**64J
zr`OEUink~<dD};!emdp#+^e?C=1qu^B}#21G?BxT;w?Ij@*+TWhfu(k$m_cc36qN8
znpYF>8tW?RY;PKk4~tDQ>D5CfkX%u5?rLl@$F)zRn08SWcR+Ezf^Gi*0LW<D)!LdW
z`FORa1tE<&x@Ka<{1$BEZ5*eR4G=6gxwhd(eV0|PYUqlG7KFOO);+m~pF4HQCE&fT
z%5}e%=$`_|A>h||z5=esa&to^*|RPowAtIV+zQz4Hq(*5x7jy=9C672>%y%0O~6$@
zJULE3g-62XXV2T}A0$evR%FMQC6J##+rW~dC|+8vZCyDF`7i!)k#1z6OFK5S!nK1v
zy@`*tDpb6c`H<UQ(Y!HPMut(NJE%$~+a{&F$|G+$!$|99rq6)-oln6%I7i8~b__`q
zphvNfQVdLGBpwXnNJ&proX`a{rI4;P><NX*rqWtAXg$GI;bY8zSBI(Myw|YCda&TG
zaL-gU7?va%l&s#$#teMcd^}#d=C_rdlyH=g&7iP##-ky=qsAJzfG+(llB$>~-emc0
z)|zG5t<BD+%DII^&4jD#T3Aw6T$v2Uk`6db$8&j5*jI(#C@vZcG9GQWgPOFN)!kvk
zb9j{c3l7PgmNs=?9jo@@n_k(gS&uU4Hv11We&E`X+vJL=yGG+kh^hnw`tz&$e~Rk;
z<s%tA{Vm=XIt!R?QHj3Os~Onp%Wl=kWSkH>{n+m)ZV$HUA8kQgG%FqS`J8*LH9L6j
zr5M<N?-6QL{g$1S^>kXCdo#neMxtFM)vDY6EVpgSi8=$7gst{usdkuc(vB}FsH&GW
zY<Jwz7ut!bdJU$unUwbRR}!y(D3s<!M_S)vY&$tH);cHUHVy{QoKz4;6jkk!MSg@-
z$5t<4UZwSmACHP?Yq<TkL2}V$_1J?#{d}no60EBjkQ7lNnu78%6YUua87DPWEBW8U
zw^CqbPvMmMhUr>I$^QTXw49h^q_3`$;3>eJCDzpisB)WjA&REzD<Q#EZ??T#76vRh
zAIXy|h^;C9@<@{u`Li4|Dl4s1_Fu2RPq@QwMzXYS_6AXlzQ#ij7^!k0SE?{;5;zfX
z=Ay1FemiW>X&pn^L{MT!@nFNPFo<qv+BD8VkT~yVZ9Heym<Gr;+KcBQz$Z<^c?*yu
zXo>z;JZ!nr+tKc>!l|aWot0xS&ecVy<KJ7QTZ~Lc4m;4<YDVwPb*Uh1kjH43bVS^h
zcIj)UI(eUJ_3KpF4GZ>9zY)ny6V9~_w^?k^9X{-`Xb?eHVnrlTUkZpwsn&!zAEV9Q
z&stpGiYYN4RE*OtHqmNKuhx9rmmHg8tDcG&D(gyzX2;2>E@oG{e~O`ucjC@MH(@rt
zr;vg_0aryxg%wo`o~HU~q?@Psu4SScdMOh(q>8lbSqzwdMY~K7d52Z@z@G<N7bP~}
z0Gx+As5=8-3hy6J+RK)DYo*8aT9GpBzJZqJM;Dj}q0Nrsa(1O;$L#^I>H{RnbK~ER
z+h~FgnySA?=U{k-8F8Z-&9+^P;aT*>pN(Bl#MZLPBgE3Omp<|<{{Z}x+nPHw5P+No
zZ5kE&&#c(zjw;EA6fGvAq=FT4Lg_n`n-OEcq2EmSeQr^vE#dWd4p-|g8<ES%wDgM!
zdC3)yG)={uUT?Y`mlg0s1ZjCR)50oBgoV=^(k83whAXNM(afJokz^W~9s4+wENmW(
z%nMSCk3)quTW#2dFxwO$YCDMN3h*^S+iEn%ZtAncyt~yg!Y^u~#=<b9#&H?Uw~R?B
zhbknPpsk|KWR0MDLvFP0@uwOqs~{JTjbo>qn%835hUP_Ej#;;rM`B%mF_JuVb=hmf
z+>sU|N6Z@c?gGe*A?U&R!sABcX}T|;iDa@Cn+M#QSRH`#rMyu`6WYem*CnVmr-Do1
z@cm;}YM^Rv2U}%Jm5IK$*68DHHYQG!GF=Y%uW^EN=p^7sJh-{Qgq1X=muFh*rFg9#
zcb4jOyF8mv^Hp4~qEnF8RI2t{b(ax`TyKyd5HzX5J4WF)2s>}TddloP@SKA@%C%kv
zTe-Z}UY(c9oeGlP=vY?82})k@*m?D68<efIMDoH#AtfYq=yd}uG`xdrq^unYu>}~T
zzM{^dLx{_4k-kX7PEwOE5GfHB;7PZiDYB#Ah!~e-F$&XaUYz`I#U-$IJ@&lQ;RSk<
z^=Yg6L6^$KbDbR1IT~o<HwC*lG8=z<#J1*ya*1gs5^$e2IkzEN0brH42>={c#k0mZ
zZ>c>%#a?x-bHMWQnG!9P)lOA%!*E)ph;j+Ab`wI+Cfj`lSXT|U)m#?Ga1b<IL|L;{
zc`cN~!Z3-BQ^;(N?tAAF>N!k?VB$fsVW+{@Tw$j{xjmjQZNUMD2Vw79=;PBNTgR->
zCBWp&IL%G0qsJ~?$en4kWD&X2V_Cc+)BCW7s>(?<aFm^FRRIUlfA&uThMqN4x@a*G
z5ax>Vx1XZxqL%uFGgmAyc$y&+s*$>gC647Ya%pz8wQ*!1D=#(JWEbD7Zl68mI;+JL
z8&FX$h;uD1V@-jGR2p}VCOCp_;`1j~3y)V5K#T6+Jw5?Tan{jES|>={U#T2GMA>Qd
z??~!&ZnfPNAeTAjSKh=ntB=`D1&ZX92`#-KTM1$eyy-du%W^xavIG!?o|#m+)VzjR
zNyT4xGrh2-jV?^9?1DVn_SJc+I=!C~7!)Dm4g^?DyatA^5^d9EbswCHjvZ*FsRV`^
zC9W}|)wvwYY_C(>yve9C2n|fdVBNZa5Mv38js<ja+BCUNfj&ntwro3mjpbe1Qnz$E
zytM3damXn!s+y_o%A@{di7pLY41q2VEPrmiq|0$PB$mp$Zl>r092AD~uyR^BGwg~4
zdu+bmv=bu99ie*U+-%RAL-<=}jXr{V3neLG!xSVTY2`#-sxs|1$g<nN#&hedRwur~
zM{e^typ?B?%U0Bd)}zCQ$~J=8BJRX?jieP#-9%MYQ*jM0A*U$gub}(;E<J>R=L()0
zdZA1GNR^Xf3502N#I|uMtt)vRQ*~sEF8=_^ZXm>mjbKAVO~yJHp=>1L_&`Eh&rSMg
zptysXFRMrkM*->VHI6hATq)OWs3ExUH5kO%WdwFbJ|Ie^vF)-iY=c%<!mQqjg38Go
zzG@i9mgX-Btb-zNZa{+4BZE_qI-*6yoqhQzB%1;+j)rGxWY*%x$Rl3U)MXYj9c?IX
zVNT6*sS(9Hh)=5m+-BcZ<FjeNMF~|)<EA!n;3I8X!>QDsybpj%Fq-y`ySBXmL`CZd
zGsoh)57LH&raxOgP(h==vG>*vjIl!`avM&%QCO6qq^hlpj%=u;N~yP9G|STNt^WWe
z=6SZcWfV{`oR1p^vMhrll_ckbjMy<Hm)mt(BS*#P;=2+#+~dc#yP~0XEr*tqy<KIV
z(BEg7Q;6$TIG^IfBKA6%Y)(ozoML0mw&J0JsT0Y#k1;h;>Mo?IYVExldZMC-hSQU;
z7CnOLvIV9?kx2tk{{Rlr3$rA&uJhgEL5wN&BJcI8A2t{_Bp?8FcBa>$y-&iSvCW#Y
z8l9V<730Bq(+^pCPwDF>W`<T_mTFZj8b-<_>2u06P-Qsg;?ohNarTUWa0Ok7#V%VK
zfgp6|&@B4XSF5U=)%^&(w8<Q7UWWXbY(cGoP%=@#mh5L_b9JS6%Birb=>Q-KAa02|
zoleXtGHALJq8e_vEv$BpQjUhI1^#UyT3%{T14xi6-A|~M=UhTfxTx-ki)w6Y_LKUP
zxvs|b%OaVX-!{Tq;JSNk&Gr4XmYY`;?B~s4m^H?NzobC83Mv31d0DYB!uqrd5-U<k
zC(uw=(~T4G?v;cRY5}H$?{iO7<=5{~Sl*spWSVEGaILZnxi!%u`>a+7&wLVN;IEMZ
zA`DHP1_idsRi_Zq5q_j3Z0XJIE@Ot$>ZO(|HXVG}>`AMywPj9YY$}reV2eTQoHH`r
zl~qJQ;yVg1`Lod<sGEz8Z#_58U}2N;+uJ9n+FE}w%E)Y~p9a(-M6|L7y@OH(v?dZL
zA9Lf9qL#~~GwdcNK<sHcmcur!CFF?Mg=E;S%6?yc8%^aY9`CpU(I_aWqiu>A5-#c1
zOwDX>YXfP{y7&!+xUG1zxu#0jks5ga0E_heD<ZwrN*R%T#6z7ndlDqF*JXifLq>@h
z&=8wcLJ=WCMN%fib8nYR9aeWCjcH$Phc->y+|Gqo{{Xs(py(sRCAS<#P*l~%T?bE*
za~1BE+oAn8y4jn_!1C(+YSSp2BCe2Pzj0Mx8@VJSJNazM2HHRcZHJS%+9Ii<p)SOW
zw@W)sRX91lHhDiQtS77zT&j=<4bd9+EQ$8b9&v$0<cQnMHaxhZn{Fo+>Z~kMk`BZv
zaZ<zq8W2$yrqWmAnFXdpEhwF4)ESXluj7q8-P9+T0+7+Y<Q_E>l-p)0%u%34RSz9j
zVwG8g`2{rw6<dzNdNab9qsw-Xg4P=-P6Yn|YU3vB4k$cgq;H6t^WU0&Usv`~YpMM!
z$hM*jt5@*2cQp|kWQsYJdA!q`DsDmsfK9XrypTlvY=pZbDfM4X^+QnYij}*-xW{q&
z)XCw^kdq+JNo_O`%e3*d%!w>Iq$cC&q8yb_c@Q5|!4u|)^0Dg5Szg%W2V;JUCe{qs
z4$z%qsMAm890`leks3Umtv`)ZQ9hOF2x$!`6OYDe*zdT}2f9}_N1b3*kw-yH2PD74
zvRqonBTSN3Sr(Q%wee}O*pXw6iJb9fMQGYI4Yu5{oMzjS+8$(v*Ai6`QXJPzdCft?
z=2WqQM$M?9Np`;P60O5y(T+9Q7X8<?hb?<(RuLR@MG`^tmmQa)a#SSfZxMj?G{nBk
zTCJO3I;orzbCE6`iE)%ww5*g1S#OI1$=kq{5;_x(n<A*uw<lrX;S@}ntp{DX`FSFc
z;oK>wx;)n`;mtIX8BSN~Cmg4ZQ;Z2QlGjwz*<?0E^G&xtEkte#Zaz(dl58pAvK84!
zxHK3Zb*z`!oSJ<k^rxBDOUYs=WI2AKOb2pD+jY^4CRE6M!*RwFw;4gl(8R^W6?qfD
z-fD#Sk+lk|J*93#8PvE5IZc;;52|7J9uX(rmTXUpTPgBv&uEHi`LDK4A|DQy89W*<
zQ53Q?%0l{KlLXE9v{;1AYqqL?i!TTRCInCtSLOkrI((263uHC=k))O!_NP9+=o;S9
znQ7M~dy`Dk`-O_gX_gz9Sz1-guCuVmbI7q$I>%H-gi^j#awG?2cG3$QnI7(QK0*WG
zhanSXg2$`Vr)M_cMv~FFK9<Vd-D|q2j=e0O89>{7MH_V7WZEYb6$7?iCTPa8)xSF?
z%rr04MPqj?0bj_Gtx}>4ph9Q@7`YzMwr(?<x;#KdP*epF)fA|5%!>%N&)%lhYYZ-~
z)Y)uQs;I53@%e41cud~1wN&<xIwX8sbOt##<48{@6fTYjM&f8~#9VtDB*@7a2gTRP
zHuscy8p_Kv)3vF+mgEdGEi)Nb&7@Y_FJ{z+S#=wDU2xRJTu0SZokqiC4y!P&HPpQA
z+lm}E$22^0<(c+*d<nRlZcDL7q|L2%1UY6T4L(jVs_+`C5058^$roYur!{%h$dYla
zr!k$5+QhMq7V0KNLJJ{a#35<*klSjF-YQp+6E+(JkZoK9apr*)ENbhlF7bMdj}(a2
zl>-sx&WSR-h7;B@ns630<{fcHB(xKF{{Z<l*O+w&v&FX6O%|rRD+66`zXYDl2Nw&U
zgfn$VCq0`kyGo#4W>qdw#ju;Dj8>E@NUXF<!_Tl2iAr-QjDtk%Bj5xCiP;aCRhsRL
zXmP)#mv<>&5@U_~+T8mPk1raR8f$30iq@2z7F+>zLC2eHm9yd|5;r#zT)KBB)=HVL
z*&KYm>Jxb+>dkMut-i(H6meO8$_prxSdh-|t9FdH+y!l)aKp_ZIn{;cYR&6z(0Zp=
z<InaH9mjP>6-{vBxhq8K`(c{N68;@v;W!A)wq$#GZf;0QJex_MDRIdroW6PWRa{X}
zW?=;I<;h6GFEK3K>Ty3$KBFu#>${gEU1OMa!pFCPl7lUyCiPRWO+CMD!6pqFas%iM
zJN_JdZV8uQSr(<p)F`@Z>Nf~Tc6IpWwM|UCQdOkMa$|^z&2g9#+g=i%h}+QO%YD}b
zP&XgcoNF@te^9C{?PlK8SJCQqzGE99w8GZ1Gc4bMAj4WHD5MeJR@zr)EQj22<$JnH
zf?SngVQ(&vVb(ZSIh@htns0{4E4etvb5i^24>;+>d6=`vj!a#qI`oDQwDV)T%%i*s
zvs9MRg|EL`aZIZn-eIR+-ieEy;PPEYVNvN&SJ+Rwm1l1DF;N%s3}V4sYmBHe-a~;t
z4P+--Vd&=In!MSQNJd17C2p~*Io3=q>r$}oN5nzslO3(FlFS^sszR|P*Bb4qw-wdw
zIQvbf7>O8(Q3TYA4t<1FVHmW}_$PwdP|^!262|^Ru|1tD4oex#s1%nOdC0HK7WtB@
zwq3^o7m@AN_AOY}SE*Opry`o>mfqr2OL<_*KN-g@qcPc8F`i~SgV<J_H9l>ExGu8W
z;Hught0`-4>VfU^<NlyB7w9Qpb#3YQ5yj|iU`fTX_GC(p50ym}Igmn8%P>gxHe}au
ziZM7G8)=3V+I5E8d3l<up#~u%NwnJ_myg(KMp1xAB0phgN0J6HAY~!$>q%c8X|ir2
zr!{z^whkuhh`XY%i5T{q$HX4B$R=eHY9E@~Ka?amS;bRRRp26eTP-1+aza89B^C@5
zWkVg2IykL`pB^$ZbkrWn>xESxg{GM-TUgFEi{MtDAmpw7p*}3UymnMY+o<M{IM;6)
zd)A&;RYMz^D1ScMq3hb}E4xF<YBj3fQpio@K+SQs5$B0Z{$R_1iMc8!-&<sasEVXM
zdZ>-8?dbKKd-(N&@f@~dyI|Hc_>+|&^Qgi}aT_pon8@pm3#0|Iausm|HzfCq<~mQ2
zWcFCq-ZXV`-ZM)Y^Tp-V6EcxDdDmm`L1EMSRaLU!symM)-Bhj=jXA_4M8kCIJI^}x
zW5rn}#)4$_Ttwug=_95LD30za_f(Y-kr8%Xx}Z3=FwzOHhsvKRGUfydc>Ew+thz=k
zl1!<Cs*m2~H-h_^zB!On6KqXzT6cIv+aL^}18A?N?iYuAxxi0#1}mmo#Y|DN{b0u(
zu*#Pov9-prD{8S;W<!XnCE8~uG#o^ph6+smO5!~i^Lwb+ba$$j8Edz#Ug_M*94VL(
zjy=Y$+0&FJAV*PbjUp_Nag>PiID)dA5ovZr6mbMop)DZGvnkkYfb{j8+2loSeKyLw
zBeaDo-tRN9s|MbgY1(ndfwmo28-UY}6HOC6vSE=)1;&i!jH3>^o*jDGEHSTsXY6{_
zI<dMcT)!M0KEki0r8}`KEh1Pp`a2z{6Qhw#?67If1-Be!#-lh$jkh=C`3Q)1tWd_p
zG{iBg`v_2y1Jx}JoTl4)GY+=<3ghn!gTco6qnyx_W##Ah=%)zAs2CX+6;P|BC7rYP
zGTNB|)(s8E6ds5|DcerNBLH}9vXmoHMeU-cCT13HM1>9!KC({5t|rxSykbZONJ1P<
zNB;n_AzhJGSBm{f$OR-IdLf^@+l6bL%~+GMnwRTkptU*`Va9Qm+;%%)2-<=G8a7CX
ziQ&Q|*q4_j**foQW^QVu7{xo`8oFb~>qz|~$Yvro+=3TDpl}fkTLNtmRX8Du7a`pe
zc5uY2y;7>El_B_T*4{>C&4pckwxfur08ms!BtYFublDMnsV`Bgakj5DLRIafOuJoE
zj>&#AuEZA`Ii&9ZLTyPmK^0O&-(*rn*tYAf$|CY!ql|<OBiUS0+9hqgTT*L}w~z*a
zrMjXbr`<pI>P@Z8t7#j)e@kdW*sEeZMGMCKQ8!(-^1G`2)q1N!P;YhHmmSN`^z;7!
z(dtM!-BEDVkd?9J%~R)O-8_Haj=7P!s*E|nQFawnAC&#RdivSyUA`&yUC?}d{{ZLL
zfmBjW{ukjFuhV73ff3oW<u=TA8Ydrp!bApuQAmiDei0EBRes2waS{jh34)%x=;leM
z7%oukJj)lK3nRo*z6hJ~vKYXUtCi9|DBCWeqdd86ef|l{Vjh7nwSKrYHyrh0r1GT5
ziK;jV=gWz}e557x>Ug0KAg*!%{{YO8?JJF&L_b)}p;g$Bj7guDS*DumCMB<NCpeW;
z-;0IjNJNPZU{92VSvEtwkb$-*x-9Y(C06Xu$cS#LS-6Is=!Q#a=_2z{E42D8-f(%g
zh2_z!qA?!_%pxzmIAqE^<E%9#JLcOiDlCYyoQ>NP<cFPzsd1sW+vRKE$PEpD^(&rT
zg}k;f>$EByJhMmcY4O~r6tR&tC&aU67`a~|)*pO%M|mseu=%w4nV~>OID#oBN3__E
zpXy|0(^F*P(*ipLk+J#M#Ea-mj>sg7H7nl-NRhDS;BLF3_#L)Y7pEOPy@D=k?v{FY
z$mpY9Te~+D#W2XhWd+MApvzNc)XZ_l*lH5?jCeYY%2rgzwvI5IoOo_&HzviWTxs4f
zbzuR^MT+Zn6)R;G$pk2hjS;;hl!yGx0|?`5vbxA}CF;k!v%`U!`kxc*vr9|y1c7Y_
zfKv36(#Da^ZfypeX&#+SpA7-`2Mp9ZOg+RGA2~65&<+r=W+pp}s4Azyd5;z0(;kNR
zR59oe;+cL9-7zq#EKV$zuHpG@5tExM@Y!UW*ws}9S`_=D?xdY8qWY5l9~!j84Ku&O
zv7E~8p!-Q8?@cWln9TN<viERdMMfh_L)=ZKNKk*bOlE0ovB+)F)KN885;&l<1~@n%
z(EX56#UfAbzxL`_SmzqNA3yi(sgc4qcXj3debDx;>27JO#X~O}e5A~&yE`dIZFJ&8
zjL#JANhVdq2WAHi*l?SCnJ=hBNf5@`Rx=)CE849^heMM@$oq1={27lkDXA(&-Ul`i
zFcMw_1d5J!+;P6*_$8R8NT`UYi@)vH0%mOGaA7>c6JJ@Q$fQI&eOyp>UkT@b>F26M
zWSR{WxyHMwx`U7DZFL+v#Gg7^KykNWxds3uag|6++iV>$5oHw&6@wFOkik?7ww+6t
zBEhLiV@%R4__C5sV7~D9e0Si4N}FuFwk6x+emgGP4c_Dxc;=zfQAO0E2c9%;;~uld
zn>g2uNJSX#u_Q<pqhY}!M}!Cqm;;}v52-lS(EFKKtfOIxmCu`D9453+`*b8hbi@rv
z2}wy4a1E4v58X^Qf|v6^UJI4uhgn&4_B~ec3D>sE?8aU9Wrw#m5fM>00pjCGzyAP1
zQGBAOQ}u<+!s>yrugdD7!<uf)k!ft&s6qtny4oOuk~m;VxTy*kJ-i^ApHQ+7#}X)H
zV#SPvg%GA%8`6N|xdGyHb!149LCEUTIkNA`vXH2vskcJwm&mZfayhfzg5!AZNhX5b
z(3If5>}dlX*b3RUNJF^4;K!07us$|$l@>d|ay0c!FUr#1H%UEKdrC7uQCa;4p<Byh
z4c?zMN)zD2c|yA3nN72~10rON7r750CP*rTBD;0l(mlM4Z$>F1VU=#m$y}<DDqS8+
zBqK2*=DG6;EI5+eHH{sIS&t-`jLFDV+w>PD5SHvNwOYedG<G&g3ae3VGCB5Gyvug@
zF?Su9ZbW^j507OXLyQgzC?bl95-9xi=BBU5v+Sk?y$*QAepyX&m3OddV74qrly%NJ
z>bnu(29OC{ZIF=IioDy8a^u?qO)O!geUT(`@E-+dVXEi$fDKbGK=V6&L2`C$k7^Yi
zNF{Vz427yF?_0yOXM^p;WgeQ`R~a`Ra$}%Pwn(VRmg<ADkyXuD<WSvtppPWLWcQdy
zM~W}%*;8~>-F~F{kvCNH;Z|A>)r@tqmqi4>mE_^LidRWlq}xL!xU&J~qs09J(kQBq
z+?BCWP1l!4!hcr8U+w<AWwsF4y1UV6_O)YHbM+;w8oh;$-a8VOzN;#3hD|g~a=xlu
zr-qrwdoScQh|^0N>8=g|$*vIh4X|@uXn|062!ZLt7|8HyX7ukT%Hrz0Tcn|fi%yaS
z5~_Vz`?jeqdxF_aU>+28sqZ`n{9<co1erlyrkO@a@JEIh&omK?3K|=VO|WU<2?2a~
zPaZx|RX!DZ&6@E?>LX4uE847QNG$TYiIyo6ry{MimtJu(`G&8ZTTTiTm<n$H0D(I+
zMHYdm!zHw3)p&Xw_}pJ#FJ#sh$iToVYpN6e9sa1WZ3Nbc9*C`NWW0AZZ`x@Btfpl#
zTQWH9X$#!OG>bkuypPUcT6Gbp8<icvXn+v*SEo2swAz7ZUj-so+N?MdY-P!PQe3l;
zazU3LNBKRmt7`ZotKBgqRpQ?OM0cdE7LSNVvkCMvuQ8^w+Uu-7voXffK2&#7qpxnd
z{N)0){EGIQapRiF3(qjqDDk+va?;v=BA!m64YT=#m!7ewlGK`uNeGY3R^$k|Fj^8W
z3QB6n?%2FMl@SC}K4<4Ia?lN9WMCJj{CV}k6->2C+#2TH`Z0+Wz$*M|F{-PH5yahO
z9{xqg%?;HZ`6FoGFC?glT}R3qgG&7jHl<6qvVcJjwyM49a~+S&8hF}mzA9!Q;-H5x
zQYB4^HdRJvsSMI=2+*l&*(tAv<U-jXHuSUDNmPkZ1*Xt|SL#iNi2kKS>OB^gO{=a6
z7d3L{&A4DAN_ZlK7v7D@T?T=&aK<p~ifi5OI4HZPZA-ynoXj*CoG$B+B&<+$^A<No
zqHQwMiu@+Cvc@S6jT?Z&5}9Ukx@^X55EyQ2>S`U}5ZKAIQYHF#Kh&o%rb)DUBEW`S
zq+tYPyu!soj--g70*I>}mGi#)IPS{3AgUKsRyg@R4Y+kw?zSxtD6%C>_SMk=6<4^+
zV5;lOztT=F#$3EOoAjdB%6&xC40h5EQLFDmgImT;jW!H^$)^BMc8+A%(4HYwMG^$r
zy_aI$Q+}e3A&PjZqPWZaNbD-1dY{)l2i6&Lv>>e|r7Lm!b8Rc=5o5M&xFyZE+zpW$
za9dPyudF!k3M7I_{Im62>0{Kclg^Xsa=Q<mS*tYJKl24vcY_}&w^3Y|9<pf>0{7*&
zARUbIk#cNXoc7|`IOAje46B2Y*v>`NyfX)pU1|@>sg;M>$(Y;1YTJnLNOnQ-1MU#)
z*zx8HyZIC#Pg5SBqBzAqPa81HYVr8U@8c<qWiqSXfmqV3j>3l$GB}c-M%Bqg>Fn&C
zjiE(R5l^9tIG~I%rpH>|zM3pg<xc60gkRF%aI+V$EpXK8><>ymi8rHtZObs~J4!~v
z^}K$@K?Os}IheB}+KLJTWfn{D;~PXgjkXO1N1p4Uy%YZc6$;H$)jXR8^;w%jp^=q@
zjH3*`$$|q7Rk#vk!M4RDIB3BmkY{&02CktTSJ_qjD&VbVsn21<wQAPl+AS_iD#qtF
z!z_+qHE&|U9etekn~;VA?8q-VZ@OS920}85f+*9AL!ufdX{{N4s8VNjl5f(VDsDqi
zXDbXk;|{i!a-);I#>1SNccV*3K~#BF_X!m~u9u1WbL4AtA3w^`!{V^)h1Q_C1Ftpx
z=F9ZEQR<+qq^FwvetSuY7QL$|=GP@f2UvfZcF{cS5BMZS+hkEtI(Fq_IXrA%E6=|c
zs)T0-h75#ixND;?Wn;D9?ku+7=7xkyM#_h66|faTPvftqkKz@tv-B6#SEC&N09&V8
zXA})RoM|R-#zO0ZWoM5_j#AiZ;c*4_9*qm$2yU&CHu`ZcVx50neJuK-)4yCg88bfA
zI24%nZ;7_V9bLyI&jJbw`x>LoyldMyPpBJ=ni&BB8wK?PgVsQEqH%13+E$u%;;6)6
z=mBBAw64j6s2ClM<k+$^TpjECB{25a0x_$yYWACRm=t*kCe4X7L&*SCO;rcN@3N29
z(PYw1nD`DuU!Fv01YBgFO1zbZ&_xvF#FBvAqvgLMZ?L<nA_A|>W-|SE(q{hvlQ6w7
zv%SS)PGzQ;wy})lF@&V5X9Rm>=X6myBv;V{MG+c!(M1sB7s|AgS`Hpa?D(%dsEJW|
z25>8C0*WfqIy_7^Qr%f~Pl;|SD7`hkq;1SD-d~NpkE)P}<TRxZKe5pHk3=6!kV42=
za#de-Mmwt9wk5!FJcz_9qNwXn0Jz_s({)ZO=ZP23UF6M3?HjGK^Qs}swH2;zlA`ah
zr;XKq$+~a*^*d2#6d856-n&C~(Hlb=Z04=tg7tEV@d0v58k{#A-|1=8ax<T&pCaJD
zEa;*@r*dQrob3uaA{2RX8;?EhhyMTqaAeDL*%VY!Q_7(E>X@d^D^ESWe>6#aMWl-U
zP<djQ<f#q}zv1}B>dH=D^3wsUdHIIosVOHSRX-{9DUvD@{{Wd0SE1X?S=jYMl85mA
z#%ZF1(Lu$(hXJ_dA;m`8jN5RcyyL7goP<FW=y=t{7X=Yg_xYFAE3Hjpr_lal^?Zgq
zah{8v)3W=*q=Vcc2h^HHMcj7W#asJ$=u~urSzLO)ZB~_PLyK1Ns94(io3;g2R!Io<
zX|j8?jec6TNF+<a7naCf83bRtfByhs{{ZzR5ldhH0O9?8)nuy++z!$$UQ4F%@whe;
zqqhdSB?Wa+%XFk6ATrDt%)a|gAgGc$sEVV>M2CH!vu4>b21TYVOEy<=Ok#~Xd6a9q
z_81}{11-@}HzY+=Up;1hQJ<UPnBA65C5(PkvmIt&oNYm~z2eMc;M9pWTuhrmBor1$
zVOI-d+(&-2zLV<-(bP?iBA#QF)t=f52(gd5E<i?Sx?s;0Z~+XJv|W`+K#5U2^vT;u
z8zUMzqFxovGr5l?Q(Z#GGtEAaQIq5L^{!8tpN>GW6@@;eS=qu_DqD(f;sZ)xP5~pU
z#GFmh7h1*YM!V6Tm$_q{)nvIH#nsnu2EehJR~(sdVs0N83@R|JvB3Cl?{PpI*})Vd
z6kQ3JHughYuw~j5e|a4n2T6oBqo<dZv<K9hctsUO#3t2I7k(c{ORY)GbIcPf2iTQY
zi{R13mfl`(kdrUE@o@<8Yuk*34lBFvCVWWL2m}j>FHy%M-a9uAbXK}HMJSV6EWHm7
z)ty$+Y2KlKiuQ7PeM4}|F4*bdS|g!c>N;y4GZ4T`Qc)oSA-V3X9CyeBWkFPBVp=(<
z`jcAK0~oBG1Jbt1UJNf9bXd&tp;pvU+gakK<x47@f5QQs!$sNGTJR{*tHtoU?9#tl
z;VX9*F{7yCcCS0#ZmF{!oG4(Zg3FG1=Jv|z57LB#^z|z}hn(KUN~}8}8i(Z{_`Aae
zamY<7r!!!8`lKo;AQ62aOU+SKQ5KgMyoM8D=sdpqrDtFz;kPJn7sP09uUpdHI-EG}
zD}mO#0BW)J`ymU6Y^*4Yh&{t{NRo3!K24jOcQ~IwdFG(KeU-w{-7v)(Tw=Zd0Ofep
z^(-rLGI^lLlhjb;FVhyihWI&UGvxpkl_e(#RM#%d@Vz6$B54MW(Kiy-#KsLxZ3qcW
zXavm&`-i%Bxw!d>nv;)7b;H@k6GVjOpVs<s(ffR+(4xf5=2Nv$5o>0tMy80Qrrix|
zq=@I%@e{ITs&{0++<5!|2>6#~0Jr;SKK*>8iV#RTYJSU(hSXyj#oYU;7;RkfrJhk^
zPJ@%3WQyYjQ!<SNzNaG_s-}(}&Z-v@5*@@%wF-^=`C{Ob9d)|N4uq_f(HHZewrE2K
zblFj48X%hdqd@0`<ehiZtv`#VSd<)67(#8fHfB3;=^`?MB0f|kG~<st*ChITq=cx6
z%YFCi{ERnI+kdOh-@o<#y>Zf3LgD0!II_eVY`sgA^!JtLTL4}57TE*<0of4*MLrQc
zA|ic}I^?E;q&uSj0N>lMs;9o@TM{qr^W(21reuU9K!RRT6ZL;j{yi?6CX&99D(;A0
zRafCYQ}*h^9g83>ST;~pk-=XezdjW<{{Z9FVh1M$5!FQ%P1OkzcKy0H(kgg1m-|S3
zRa<LtZ+-c%_5T3hp_Rfoi7B{tc9Q@#Mfo#%b&g<j?C&CuI^=endAHR8wN(!wf~orX
zdEb7bSmJcrT~7X23i4}>HyH#OVNpcPmt;~evVUH$btemxl~Y5c879juI<J!=o1&J>
z{{X*3QnH-lvmj#>hmM5GQbwDQ%h6DRLtg}{Yw`F00B*7)aeQKj%S(P%)QxO%65)N1
zKf+t&ISjkYDHdcZi1Mz@lZvP*_C;O1?a`i-;u#e*^vFuU8fn<Pdttiw1orT|rpTR0
zywZ9v=T_3bdv90HbzN=~MY6OD{$0_0qJK_~XF?iU^7he?yDe_hO|R<NJPL2sGvZof
zYa<k{%1AJe5;{pXLK?w#)mA9oa3=0bd3$Onw}DN|f4AK_5!1X<2BJGZ2F*0~;^!Na
z4ac8v**MHld8YuIHl(Qs2X{o-TQ55*?uqB43^yRP&!ZDJ*sN!w9JS&v2QJc&%A&9R
z_~^PNg)Jm!YoN5tF`F%oPAT@$ck-Jc@cq21@4rZVh8TMwFXEoan~0c7UESeCuFL7N
zeLln@;=YYB3__;TwS_o%rNx=WYQjTGB5Xc!(Z>XUQAfG;Y_D@9GzCtlwUpY~UsOiI
zMgwIc8?s8x7;V;AlB!KeK;oMT#(cyLvhr<7e{Geo5p^O~NqJzH{v%cGZP=L2oGSrr
zni<hok{>l+D16sqR9(2fhr04zyFk;J_^suwMjK+4E@aZ0w5Ty<8*UZwHM{)L6;p)4
zMN`{kHAk0jOVZrd_F>L9>t428%<}TqX>C5;ZmV%U9K>!X+vV4_5e61t2x{|;I&e4m
zdf7x3iVh<#2h^(8%qXhtO$>EJUMbgnriMj>U(Dx2?4%@CLY~qLM0CZ*P0&ulj~6%X
zDK;QziN(c5Ujm&Q*1<f4UdSVM*o}7-e;TcpXpXZjmF*BGBvcdPD%mg2?16aSs06kV
zW6S(=9hPs&vT>$L5}>xNh=_||;`4B0yeNsq5mX3>6p=Pwye4@glIx*nPZU3<IgCu;
zVd6Q(3t!A|>JmyY`;DKt5nclGNB&nkWXp=a6cp7{ZY#3N!yU_X+d7*%HV$$j+rHFl
z$MPzVa?2h`5uzBxPBhuNsm1XX1aVCe1RPT7qcabV4nF-oQ&AqRl1p0D7)><VImCFI
z4{S;R3)}}uNf8i!uaxOYrdp+%YGmQYb!#MCR>hgpBTONL@U?N<e2^Sr;Z$X}II1Bc
zps4WXJcPGPU>WneJvSUbOFt3+0ES8Zwmet7%Ud<4MX*K6EwuW^C8HBk0|{L?X2up;
z9&Si%MBL>a08x0K)&;nUA}VZIfMmD%O$gh@jUi>vnZ`eMb8`OxJcx{3Z@h?T-_*Ud
zBTnBwE9DVYk&<B;slgZXSLQiV<0KQ=7ZnHukpvYxNx2euUgqd%e|1kCamDcZjX1>I
zuyW=_+RT^kWY~FVIEo`^;xL4*vV254g3<sRfTzGoNjl@PP`#9EJKT0DjKX3YC0zdP
zG~6qEBy!Axf%}a4*P5|qlnAgPwt?PMP1K39@GkDEih@du$Es7Wrp^@W-i)##NaWk9
z+Aq?)wj@>iD6fT2vh^Dr^)-ZB<xXMuE`A#<nkfwg@Zs(o6+tye5jcsWs49;9zNBA{
zr!k#lb=Q*ZX#uZuKV+XFmr$9MLMSL?so@>jHdWm>**Ey<0y)_s?$Ww)Rv9qzFbvfi
z8tPSzE_0;kVp>;#POCYUB8xseCxnfaML|wtpXi(XeZJij9o+V0`-31=@}H;U`+nVL
zT|B(PtTp1>P@9mj?Vxw6q*FY=fx0SUebgl$d!qAE*;E_?RYX-3>G>&%ir=|N+?B;n
zJQYzFf7v{)-#%AwkB)~GhHNhbm2Qg(igqD{=|i%;W(;hRvYd4yF`86WM;zD;(Rbvc
zJ0WfUyRY`^ip*pidRwv@ZIluQO|enu`|bB#m4CNL+=#tH(&|i~!19*DzC*%D4Neki
zxJtVry4f$}eEj{__g<NdySecx0_q}v%oW`ir9TW90nJcTnT+jfGLS{QRn1%C%mbY$
zcWn(D6yk`8h&w2!?csLu((hSbwr38RZA&16L=pEaAui~=HzXDR07ToP5_!{Y88=sh
zd+<+`9r~rch|P>gAv}m}yebY4*-=qZQ~kPR6l9^rDsp6xDjCmxMZ}S#mH8xhNr9Tc
z8_hAYIH$LfMf)Ny{VTNh)dpVLNDG;939Y{^!&DVb)qHLD**tYmsMRqmFzGnMQi$BA
zoNX(6{097mf7yCcyy-BD!F>Fxif`lh>*(;mPs2VJ47#tE#r;PXCTS-?wtj1r)ns~l
zF{N2WF|&ilNkx4XQ3*V!kB{xp4PKV$rc*-RGe<HV1(L*Aj@~q6FUfCjExqT7fhr2G
zgkKx)x^<jj<{2GfwGI^5RTabn5%QeBf9=(<XJZ;-Oq}5piin7t_(lEy0H<DW(;W*4
zW4Edo{Z*4VIqa>dn>s_I`JRQ#$aT|Eafp(uG0J%h6`0e2%3Fk}2w;i75kyt;yL|k0
zeWTvLboDI)icXC!e4B}i(aeVXXbK1`v6-l%lA`aw?eo7w8gZ=AXS7gnZ##{=+O+FH
z_tJui<bP#F_+9#8hF_(+n~pPy$Uuu8t?imvaN9&g+hs)AJ{QjG)VPSVxyKUH>h29F
z2hG)(S#mYM#&~TuBDE);$PX-_(^`BVApZb{dbdd);=+<t$KpjLlJuygNa+Z;3&<Ts
zPYdNxRJ?7_MvwaE&Ghpe#kA_PPw1z!PbFGzT-IE6K{o5V@oiK7TBk3O-+jMso>;e|
ze@_v!Cbbrd9MxeNBubBYykb*rTP^lZTPhK5JMHKFIv2pdhs4|~SE6byMy4>8HMS)t
z6a|J$DMMxA+LrtmZP7V@MDf>~iu!A#b0#I*ijC<?SrhQTQ*5o05C+yeR<*kAonx9?
zo9kh<j^Q$!%Up<3WLpGvX1!YD#ZZTRk<~^0TW+iJy)m;4ZtC|FXHV*yX1)|Q1Qq5{
z6Pj$BB7KoR`1L0w#$-=<tZJG_HWA+4(slGgkX!HMiBo?nzBlS7pz3WTD;c_4%f%k@
zB^ubd9jPb}6mUh@yE`hl9EC)c5q3rS@|{LyFDz>|<FdFy*!xF5)#19rn$w96H>pza
z*;xb@4UjTP_Tc1b$gA}rxMBy|6h%Sqswn-}WZ$Nym16pbhUrY2%*P$4Z{9_aQQ3zv
ziKAf=Lv(qk;umb!k04SZK0X&@`-9!ZdotFSC7!4TA(HtfU|%@fv1YnVp>_sYGr@yL
z7mACllWw-+rszq(PrAHTzP^sS*zv@uNU|R?r-V_WlXB+l!EqENj%vFX6m3D5jl@r+
zm#yqhE%ajv+V<+p=Wx(8z0Yrw!?_3{SUVm(V-Z(&Y&dz_e;cBFFWajvGL3gns`Rle
zs5>sLiX=st`)b6nD8lPbAr`^KRFG8_eu5pBWlp-*V-qqA&chX<ol_3lEV39C`7#_B
z@|<YblLkg4k=*)MV0&OyMHMvgN=>g$>Q)n}l$y^s9vD-m#;>)G-IRt^%6XAmYBATG
zA|-KJ6J=c&IT$Z-Q<A5iwOv1WMALFU)>-U^-J#h1(<Qu)Ei}w~P9Wy+8oQ*$+81o8
zq)&`9tqJ5ef#Y|WJgzFd2GOS#6)p~mapG55MVLvip<=qV%SpCvdu%$sO!alSO}0t}
zVJKP=Re&f!2J#OlL9yn6%#Wm(r`(%3)(u9=C0^x|Wl6E9Nj9$>MVjn}22dM}wBICA
zBSKbzK!qCa@3zU)OIS5_<4v^hB(RAwi8-B(#435S6~m5|(#c1)PY4-x3EyJLAihGR
zD&Ytcks_jD;v#%AwicSW@$0WOt%rMMjnbV0oV86&jxAyo*3H(+hE&uR7BLdO6oF;8
zn~^qQINxlUCsFw*qJ%<>uWV5iPpS-}o<<#nr7jCoBl&7gBu8Z(l-CkWt;tp-f_TIQ
zxS$HLiM_caQpdQwkxQY?G}ZU=c+SvznQ^-O)#X`|UM3xtGS;ERKyHpa23MSU3US&c
zLJ~t2*;RY0i_aSMHHN~G7%a5T?!O?(QONLW3J?W)EQi=|WGM>oz@6QLZCA8L$s2&1
z?46Do!^k4E>a|`jh>C+s^+m@pS=p3qUr;d{D(4uLMO_i$_miHEAVf?!#6)-iB)W|X
zf)Xzx5fyY*HdXt0%~X8^#~r(NJR1q|t|1XNBOUoNVqAmc7*T-~6C#Y`LIR4LIDx;y
zbW7|pys8wYp<>oCtK8(=s(G-OkL=|PV)|klA8tW5JBmmFL_tyFgo=yTTC8Rd^Sv7l
zN~(Sp6D4~6)2_6&@g_XuhUrLik8qJ&Y~69l#Dd#|pHC%K>W4UF0PL30-Xv~<H6B(s
zf3Nmec6GC0F#cvO$hd7AVk=Pzj@ylhf~PkGi2%({$`=yZSF0;&RHdj>phR}Xr!aaZ
zB{ua$Qg*y0Y+^#=YuqA^Yzs{j!aT)MIWFVNstq^A@A8Wrn_e#?&Z=Po%H~c&lOz6Z
zd&<(i*k_5FfU8ZK6Ud~X_!k83A@n14Uzt_krd^Ta(_OR65`C-&;FGI98Mp2c!cN$6
zl7uKoO@NrVgrK4(n{?nB@BlXfEaqwPx;)YfoWgA+iyEvr9{17SidN1}1dk#ba4`dU
z0m&_JBoyv8gu9}z(Zg<+((;>I%vE!Y4*<15O1~AzrP@hpV_8qVlQr>UWKke($gZ@p
z+8}Vi-jvuPfD3AbzDTCJ%1%?K2Q}UQ01~H~31L}I({0n22TfXV;>T_0-eIRW$doNA
z2EYQXi6W5wdbb32R!OMyZa{1(O|+eU^+a!NA}ft@H+{3u$oC{qt7r`}t?oo9Xb8I^
zUiRmqvZf}G(BKm%L!r}A(#MZKAF+i7Z6K7=cE(7s?`kt>gwrU{Bcd%b(g=%A9^{Bl
z0TCfJ@yL(gzy{g@lR2;lMTrqsQ+?4CakWtg%@|%AIkx7Cn{!_%-%Fa>dL}W@k8_g^
zMT@O6DzYk#>y(J5uDcN<uqxOhKB=)bgxV+*M5n`KHq+IrN{F?XK${i9@kMFlWh6*(
zK~dxcbcsZT6n?V;-@^DrXj7;r4S6M}MNCAtfQ?e$SE#4cX7)J_ZAKC!G}}>vzO@ng
zq~f|ns!y1bGu&|1J1mJiAk4U^3uL3?JY{gH7ZthAG_1LeKV0@I{m}at5llfJj>J*!
zB!mJ&+|;->yRSZEE7M*EoxpQFnQm~36!xW)^;4~rx9wbYv_~YejIYwW@o8RHMD`L+
zJW)|beMSx!suSMC@=I$9tE#%<jX+JvWmtA<nkh2Cs*7(EiY2mh=Bva*bxw(rmq-T4
zT)@^6btqy@Z}a{okK1<POglPf1RF)<`()hU69*L+jAr(Ck~nF_5JzM#UKo{j^TX65
zT7K+zg0{j8s>(R@t{Z^Sqv$S4aEKZW!Ine~wv>c>du}Sb^rdRG`y4wPhl;ks<S}eY
zd#yvR2LVN%(6;NsO(TzX5jZSlQ#4dm`BmuZ(nJh~dRo-Qnmn9(sf%0LFT(b9fDV$)
zQx}E#iy_o~4M5cZc&C&Ny5!Y97hQ;f<7GD$wr?b@8X&8#G05jQ)y;&YSJc}_<fLaK
z?a#L$)0<tj9^igic@jkG?iIXfSmfs)$Vv9G<{~@Whb8Lwp>cg%Za^!hBE!De`!4LK
z-0h;T9oKP8S+%vJI=11=j*hU&%wNG0QAe<l_{VJ>Y4kT1S8P>WL?kCsv0fmks)Va>
z0j&vDlDiq2+=`s*-LJ8(Vb)0dT!36?c>zaLL`6o_P>f9xMK@Jb*_hB=i>9(b04GIb
zsZB$72fvUFoZzI%%)RV3Vz=9iFLP*3#3e30#8l)X-7a4!hNP9gmgQtG<`xw+Pr_F}
z3@6cxAak^4iiyAEsyGG2%@D(qiYa*MX)8Cfyw4l4$nW2{Xdh*=azKw64Yl-wD|>M5
z`CcQ(z?bg5K4|c`wsD|lI(3h+8@3>|P;8Oe9?}Y$g8My)8v}Si)ws?XfB|ws9n}<P
zX~V&h{{Z?Pnj?UTWe;!uQx6cPtzz|My^PMRb<O4+CZnJ;9#IN+i91^~d+o?c6LKX^
zNxBzDxIUpli)}8J!c0Yw!`-rCH<f3K2%~Ab@35lmq^Yu(CFmbbq4(c@Yz$5{8<G%I
z;iG&E3^zj)P6NPs_R&=nZX&yUZ`9mxR$y7<=WiL7TY#2H4pgRN3oS^LWw+(>RU<@1
zLtWK&MNQRy6AEbayDciVu<~|bI;q1JOBNl^JD~2O1e+g)`=b1L`1@_ws_O5;V60f;
zW@@TNhUWW{uIsn=-=TaPC8@NYwa}!pZ^te(iG&0bFZ@b@;8jsKRQ~{P9TnJFrF1i#
z&>N`IDx-Y7s{a5*>pn={$7Q0~iOqX6l?|LOnmi{`x~42tc~sqMD@fXN-*r8QZOf>Z
zug0gTawJ!c$CNfsUVQ%R)iy1vj!eIHmh!D@+&ziD>x;orS7h?LB5%LPMRIZYiu%q{
zQgo3wMfm8P*T(8dfv%2bf6HVUfxD69(Ix)?G*yRTsXIn89lMC1bWiWm9dsK=*JU}&
zhYl*Y#kgwHaRvLX{{Sk#->J?<kr5CX1VsDnolK8r+fh(nj;Z6%_3P3~TxtUBQ8j{&
zHwvpR!{cUDZ&!XG>|}gV3D%e6&iifmPaO>Cl&ng%>kMNYvXv;9kgiC2OI$#|%ed{~
z6UX;njM#DIUPh=4r^qU9tJD}3l@;Xcbg)6PkVJ1QVu{UFeDC}9#=4P~6Jomd6DW{u
zxt?=}TrAUzcG-IoQhiicU<COuk16)*4iTue8C99r(>u&rAI&FQQ7yOdqx+}+{Z(Az
z4P!X9gd7_k8Ir6Qvni)sRa9+NcM;iBZMXR8Ur3jDq^Wk%-u4n}o&b=BTNx^@+&KRL
zoA>_RR~8yM8bCMMM=mN@r3J&qXbb#qg4la=ngRoH2}Haqm+#d%gj+0~?0(x5Y4~uO
z5@Kt}get0@Q9r7DFIB8(nDur!3naCET)%p2#2IBx!!$+Yf{FWVza3rSc^)x!Mt1o1
zRJPldB>ST!wL(V`c$dnr?e_81*<_4&uBvOJmBTFo)klSlQbV<N)}pnBURKcv!KB?&
zmis5{oB8{0y;-{Ip@VKN{LhN{{+&r__Kg)%8n(Q)6knCuI^g4qhAQ|V@N`#wzpmf<
z^aaj#sPcx3DGiHdElJNP(xE2b8~i6<V>|ENFRx_sq+5Nr`*q}YIEp|js_Fcv*%QY9
z0Qs+8y`!Ta+O;7-5mcl(`|ssZKX2cqlT^W?`!ZK>`)w)+CjS7bc109VKlk?Qn=+W>
zvDpGOPdo73SNGzdeg6P{zRPdlv?wYf*m-TjUn#Qwr2hcR{d(oyMonW!Z)8zT$hP{E
z_Wp_ezB=#~3&y0Vj=_%iCZf0~sJ;!y33mSgW$T@c2`(^EWLZZhiG>G{rm8D`QFk6+
zzry@(pR)C2<YvsfaZwpPlt*FMO+^#O^iMzQ*Et-(RjDi*pq9#}qCkJY%5D8NRqM5?
z^(d<f47P0wYPwGeY}pKVn(zs_r^>3A9sV}mf77Vcqb;co+e4b1+=xW36KX8@HB}@;
zO_5bL-8S*%QGBmcBtnYOwI~^{1LyRcVl61I&fgz9fAf>BRY4uOjFfXgB#+zd2`Z6&
zJe0mXsv_;We4_pOAyva&m7E(oYqD^JNypg{Lmms|2{%Gd>Hh$?QKUHuhIzXBG}`|F
z&Tzacrv5kI@3)0tluz9}_4*8G^{~oCd;mgm6of(5?Vjc2Q}$oK{XX4Bv1M+XautLJ
z6_<#S95F&o*XdPJRNPl(*%xmcFO=)RA$Pi~mv3QZAsEF$RUQWfUy=lbgorzE9|VLd
zNSuF0%f9>X)s<E=Pemcg4?b>6c|~MAZj+{ow~f@5e5!7ozhv1uxU8>-5CmF~DsPD(
zxT=nBUw<p}{gY(tvrV%KSa-owiZ2CKRZt(DxBmbze@~SE0IyunO9jCl>Q!uTfW5fP
zlWN&Kswn2+$$w%mKk57U_+F>Zl*J+fa#dL}P*58MRTW>q6!}D7D!w}VVPvcVejy0a
zvMxpK!5l@~<A3hEDlb&>B-dmPHvMH}g(l>XJorED$+X+`FO=jezi&QMWlp(wA|y0h
zRVu<%D%a8L6>P*2TxlF6MNUh^{4c<-?f(F`LXOkQm1_1|Etv9ar#0GoBaujylj=?_
zDk`aS+&14~+*MPK-B_`YjC-dhOn9G;VxsI=?SQr-zDJO!l=41zRpr0JCys$KI%i<n
z$%RuAbjD|&vuYbM1*p~FzEshm;@gOVq^Lu>iTwFqsEwQyk`iuJzC8*o)*8O5ku%r~
zatPrmqG_=KGf?K<+||@lA?3sg5S0i^!u4kKI|rF?0fUZFo)k_}Ty1$K#mNZ~NfTvM
zE?c7Rsj?@YyyA2<`1NqsvPHY*UC*bqPVKU*rM~2Zqxal@)3320H371TO}}}^0K0CR
z-%^V5Z3k`n3L+Bt{{Sx^J#?F(ri-KO!(sV1)8I#RSZLG|G;eaJx}u`AL`Wc?tru=P
zZNB|1bgtJWOrszyr%&wbVzX_|lETJGK7_8K5ph>cibA3wmk~s15q3gVPMP)#DiEtO
zCA=i)tag+jcbwRl!5|;%*?6L&rpe`3?XbpUj$B)#WsF6H+}PwY5GEPPNk|5YtHhVU
zuIiv-ze2CniixteA^;%nl^`?(Y>U>doAO6v)*(rT;JpR-(v%TZ7jz^=LO@kTR3SxQ
z3*|Q3pj~xhvkk`Cv#&QrO3YreiCj$kiHtV9$|4Dvk_oDCQv@RokwkZ1kFj`*MGw1n
zF9)+kN8BJ(HxYby6h#xx=!mL`u_}1+=b`;bugbE?gIQ;QQJp{-$oF<}8kVl2DylTo
zXR!-~#6GfA;Hrw8_S>bg#7RM*OppT=PNf6m*^WD#X}iaWN0Sw{5+%eZYb~38LyS0_
zgMkX7k@FJYzCT)_fg-Ak^>qZ}<NDP}&5~|R%6FpVG1_4jmq>wJWW)qeSG4H3+Nvjx
z_;32U=TT9S2BAhM_U;U6P+jg-wH+EsEH(%LJ>Wq`o@vEI`cx6YQeBsA`kRzVy0Ocf
zQLZ?#s`jvjesa;q0Gve^BD=VWD7q-1O`;bSP(A!2boXjT#3?{FcLEWO6!=*i?ABLC
zPh}a!?t(Gf_NE?5rvskr$dw3DM{T$B<DlsnWSdQMTO-V&KEw%X@3MFt7o)w}A^fxf
zL~&84hjk-fJePD{L&Mrdv7oa2Umpco56^j6n*)inCK0%%u*n-$Bp}$-2!BbU@34}m
zR}o-WMVmXjU@|4V^HXC<Xc1Hl0UGyPsv;^FAR~#oB7Ix@^pRM}%eYh*2`C+?D$^Q$
zAG4Q<%dTY}W*D<DnGz5&AQKc6R8C{Dl5h4^B>6?^vn<jKPc@*0MVeHUsBFq^R2iW0
zgo^o5_>@=0=8#QH2vdum4G|PebW%lub*V97WDU=$dL(l&79D<h7q<jKQccVdkcaB<
zypzhJF5O(y<@rsRj2O1DW2<gD!|p5|M2@%e*ohw{@wslhqN1mi>yBgFLM*!3BYj$L
zvQT=nO#C#nDv^m~xV;U+Rkpa+O0GENyB7z{A)`nQ@njUX5%PS*-4#SdR9X+=vFabx
z9#2h_VxF<4(nZXhyH_jetLht!>{#Xuq=wuU95#&`lIn>0M>wwTc~siJ_<?$9%>7N^
zxps|d=49<2OK*%snL~bvjH8xNWqXim!%z7_OXHaAt%#zg>AEgx)*P$VP6MnO9jn$Q
zNK_Cp`>bzK?wH6Lta{%4_LZpz`Rm8?mOE}lc|`<?e>1j<gt`oZDPYJ&Nu>{4EcZ_&
zGiL+<38*}m^#a|hm{6t8v5wSMqXUUK#~c-mE8%$<D*XtlvZAKjef~PGeC`~GPt`|8
zhy;OUgG%GPm&p*9h1qvSLQT<CQ8rDLddixDS<XcopI2@*2RDOQ%qIpU*m2S%R${mf
zs>PJbk^8vrcD|Qh6f|tz1bdM-eQ7-eYMPq{uMBbC6-!>y#j7gxh;S7-p{gM+>WXMW
zD4(SVZP(|iB*VK7z~XClWH`3sWGn)fS2*@RNgJ~==Fy^hJ3B{N1}5tSn~@T_smu4+
zciBIx{3J6yDVwN%p|57l<sS~m@rt<-rLgcD%XAiFEvK6#`kD|11e7=6eZf*i+hlvq
zSdk<N+*UM9OH<}*+K`UOgpO>AsH48azUZQ=pJnJ%GSGY<P%<&g8-)#I?8-@S8r>$g
z-`3JRfTPTTf90#3xFIT{bTLhl#`LNzL<UBH(WkmkYL1>`cnqxO_ZP+@wS6)8=MH<a
z42|J&<~Z-o#1wH`KG!AkU6xgMQ68K4>q(et?Vc@`V^bNP<jK+ER+FEYh$cYfhRl&R
zX;hU5mxb9yIU?`UPhIr;HNtMAy@TY|l(^KZUvySgnJe+<#hT0F@3J(M)4U<b5H{OJ
z+-L;J17t@KlJgt&PaN#tg*M$}<ZQmgdfMjXl+NE6;OHfq#Z8)YfR)g9Wn}@-Ra7nd
zzD7wrEivAny;){MEHF&w$!d=(ab0k)O`3D78cjukYo<9_VwD%tAFps+<J%Q5?YP(h
zaXx9wi>bcIYsck!V{05Hs{%}HA-7nzt%QJWD<>K(*e(|piVkd`E{7y0%Vj}v1q;Ei
zP;lq5+yTa3!lcECQs5Kg3|Md(gf6^Bs62y#5W1uYs-l34;C58ljz#Vh4z_i6S&|Ib
zZBUe<Jz$RkiGTI94b)LS%1E3xPoIvamPubIaj6_UP1SJ6hi)9SP#!)4%lQe7z?r4?
z`DUNst9;e|O9JvPbz@bHw^aP6<k>kADaVS@I_%ktC51*^S5vhexep@<N=iqbpW2az
z<65Bt<4+wyxXx<q>>!O%IWlYp5xCNyHlsAy`*x;9HCavh;@YaCLalPqI+3N!L%Pdq
z-mb-8y2$b;XU~uL1Xm>6){_9y1B&~OE6gG&fdHFI*pMiw^F&b3P8Awor`q?PX|3)V
z5++4cQ69psY?`@E$GEH~Qe>prg4(`YX&r-DNU6kF1LA0Ay?r~eG4>_Yy^k8Nmk`O?
z27_%p6i4avi4RB0tFg+6a|Y#<knFnX))0a^N^&@oOlC|r;wm!PG~13MIEd;ps;G)1
z2h@&P3qhq;QrS$IV76Z2tTt;zw{Q|1cV+(oj1B@NXDnj56lXzf(qk>h8BoGkWx-aS
zVWar|S3@pDEC#nV!K6ix6FS574%kVEs4DZY<OJhWaTsWy6D1{(&jLpoAaRsK$zHZ}
z)yy>E;h7v8;jFNR%X714;w`)z>b9k}(@a~%b(f7KG;Sa@Xu|~je)yQ7H6z=%Bi}A6
zf+I?GrzK=8hYspWD_><Yhf8t$8XT)$W$P6!wp{BG8o9p5Gnn%VeGH&k4LI!3X{TVy
zjV2txM_MTC2}XItKxyx2qS_ay+N+;sNjER4uCB)F<;jk@gq&QMlP(Ox31vp?2Thr?
znr%>yIV-PNIU++(i82mKWJ$58y5)svtX&<&GHRNe7jN8;k7jgmTa<9<-BFU`5bY-!
zI|0`ticDq4QT8OV!^0ffeWgHR(Bv52nX<-@SL*s>G<FS0n?sCFn*2*)g44#b)ZK*{
zCNwTcb;EKzQtl6Rw$0-1ktI=w_D6C*A3PN9k%CeN{{RZL%B$!)Zz9(();hf?$7v!t
zHle_VuWB4$&nM+P#cZQ~R9P>I?)(;5WSSy07oTl-^lPX29wm`ta&=g0bLGUcJd~Qs
z7U~(*&WMb@2M)=>XdGr#aweJ(nA6O(!YTPOLgQKg01tHQ2boL!w}oTT?nVPo(#l;P
zhwh_0DEU1uEn|(Vbv@-}70H&eWk@qX{H0VyR#rKnb+PXUB-CJ=SDG9}Dz(e9ce3oV
zdKn>XQDd|XLxM=*G)yCC$~Hzk086ObE29;cL*akFp4=1P98(HIt9tPKsrZH&gVG$V
zdmy%zVT9_9WUAcJYa=%nJc~zF0!5^bMg<a4l6xa2k$aDOcgY09n%uF9Y6e%19+yyO
z)`hD2LQSzteQ5Ffe1<fLqLJjyZFr2h^7}y4gz!TuJH`eE*pkSjtE9y<M>M-7rN|q_
z^JZIz7RA}ksz98KI3pXGJKSl;nh^lt()b1(-;yrYlB;f~IailMvP#_Ex!>fRienN@
z*4Jkh$S%4rhbb+rm1NPy<MhsbRQxYVkTg6Hdg{l?IwE^29lHJcp=-SF6USSo^;=Ff
z^D%tZ6IGh460+J&g9wcWwpVx&gHEh>jzm}AbOlBzfRG}BZDi=M%tgav+_=$V7IG_5
z*zih2NG-<@Vc`){BoU1%mq--Tn{6qfFBRGyRGd2~$L=ViVv?c2%(1`b+GtI>+R2S*
z;X1{e2*@u!<8niCGgA8AUOTEHbx(<8*^CTZAGgfvu3}8BsHnMm6{PO;-u+aPY3H1M
zfoZ8AtUSP*VAvMUx!eULRq4?;C<U7J@uE!6siXAk<p`dRz@MsB+3sbLE7p||<2{dO
zP@+bZrBeH?yH#u?U?SnyO<9oLRRu(kYuqIvE{-xR;*&-4=CVCa%%-`H&p4LNj5ZNo
zuYMctwJZ^^ZBXM0x)QjWsRwoBLR8?Rb&a`GT}=m1Y*><Gj^&f_Qhx5iBpirV4E{+M
zWfctwiayBd0tlinl_Ww6%45sQ^mexu&+j4C%9Z$c^FOguk{;RQ7!zI)6BKcfH#wnw
zTPlX*y6%pNl_bAS{{Tr6IJKiDyM79pKT^v?EhgeQ22~-7*|{WG)h0A!IyFRzrsPk<
zV~FryX!EVK>M1;m3n&0cc%q^kQLSpDW0rogG_t0@*=5yqc^fNLeC%i71Y;;q%5t{B
z;)aidg&I1ixl?UlH<~1INfzGGFFitNC5Do@XOCie9v!L8W2+{<*~v|{FdBz418vB7
zo^f3F5qOe!5JZi6Zb`vwvn^D;^ox(;xOE;QZDWLFS!CD$002qA)ud3cZDxzY-vaEE
zcierGXu-&`8E^oR6n>gph9=BC{RrZx7?9Cd{{UTl3arolHEFh!>rP#(I)_^1DEI__
z<_hLp!ZAw^b6fe+877*O3CZ!>ZIwXxZJC;@2HHK%l;Tw@SEJ+(Kc({FOi37xWIL#K
zB*2_GHMXv~+SrTh2b+-)h*xd+ynCu{sn9)cF{JihpQv;FL6MHhs-mO2$K-w?QcL&*
zdG0>@g%HuiSh5;uo@JDM9c@LfLWriQvbDz=Ef>X|p9>(He{n$q1ZynW%Q(_4CDAtV
zByf=DX&VOL0arkj4M|)hJ}a_yMj8<mrH;F+@o)7b6+7jOIA{euZ|1b7d8kRJ{{Vtl
z-dm+R)vULCmywMLy26n1HZq7%m0o3#b%y4&LW-=+_brn4%Viy&S3eWTGAZ!!WpX=)
zblSD0cG8$erm$Sg@feLY#6K~!6?J2xa#fExu~k<`pq)(CjG>K5uf{_18+EPX<pG<f
zC!4G+MyyskIK8&qN53Xm$5men1NC`D;wvi0DbyC@O|G()aqS~FACs|OQh?AeYj;b6
zqYMEMh>;TULls0oR9=|}(&+rsI>%nR<7Aosp|oR8s+sf|GGmy&GpI8%`)rPb9>^@Q
z+0)ii$G7$<apqQ9rs8Tg5Q}!v#Z+y<dC*=>y~CxRQR=fJ!g7l@blT(%nbJk`DX>@D
zi4!g~^9{o?AZ{^>iiHuvd7)I<we6sYgk?IRc|%U_k3D+CHl@!C2Wwq6n|a9y&t*SS
zqnjx1DjRG>3A%2H((@y*kd6@$svgO?DtPnOt{drCc09S@8u^MW>HeWHYg*GvD=X}(
zB<ttyswyH<1BN8b8dP)`iLj!6NVsNAkB_8KwjGfNiXiMCd67wJla5gulH=qk56E?S
zHT7(&i^)8yF3P3J5fxX$?7eZZy4pEMY>^2!UgrDqUyZzd{{ZvoyH4`m6~G{|o!Vg2
zwF4%vi1f!Q>_nKMsQ~$MNHnVbhXL5gRGDEBQ3#C@deoAbW>hx23V!WR6%=61`<ih~
zKSlTsPeqi^)Jv^Db}RH3Lsb37Q)@D|vZ4LRUuc?y-@CG&y9zZ5IU<@khp~rRZ`2Nx
z=K9kOE-~yDM0Ku^5Ts+-8MPhBb<8T9XVx@%;UXlc#Po+7879+)+omcFC^xV+j^tjZ
zGrCC{zpa*5)r}lBYv9Vgy9`edp{{wbHY3D1s8i&+>s_^2kh?Az5DB_lq9daU(Pk2u
zVr5vhi<Jz<el2`!x*^7DWSfAdZbPO*S6bKrILMNY%rB|Maj{RU;&HgCWycphij9G&
z_5T1q>+0~hXyd_#up9BR%b8BQ4dqT#sCc%%OT?`#9j}pTmBNWzUoqLh0K}u^5=pr0
z4#-Fk6Rmrulpk@zjzkZ+)&5a`rh2VKnZt=~RS54Uw<gggsT1`MNo}*Xtd8r^!4Z^_
zX!CBMj6`~SfK9i-R7`SR2BJ++V!JxdZY1K@QmlB6KJy6{TZ$m#Ng(*DHsrBxU%;Zg
z^HLeyk;wf^)2wStquf*Fy3|-i2cto8ag27>ba*UdFvMI%N21M?>nSA#*Bo_8Tt|(;
zd0S9G6o3B!ZU}oTZ72sWxqBtnQZhSz>Xkm6<!R;{mtyWk!haIHv4{#9wPiBe?sKH~
z<-u$4$j-9MO_48Qc)2UKU`erfUXC(K>_;h&16(nV-bsdBSvzlijoH+TlP2DPIUXa<
zFn#A)j83^EgSgvj%gsIkA7}PU9a+Wn{#F?uInmuotGA=g8)7x4WC`4l93{yX9XPKt
z*s%>HxGGX4HUg&T3nByFL+g*H+bZa{*=3dz&AdEf*5+Ynurg~X;Fs3!2jT6=dC^vi
zu6%=Orz9h)j`!PMDyr*i*PT~L9@_(`ujE^;5HxoTZr5(AxHGBwo}_6UEdKyev4^zY
z`MAc!gQvG{Blo!EX-cm=#7B(X?n98VWC0e<IxoBnxD$-@GpTbkoc41?Z;aLBW0yDh
zCZ@xu%~XOt!wrPUu1gRW<3N)4auk$s)0<{Zy4i{={7$YV#`OJlE{W?)O7==Yg-yjX
zVsj(FVWL$=!H0|mYmH?{klVm+O*h)++5wq#FQ(Y`J6!fboYzK;5r>^}G)FLDapr@U
zb9d|62+p@>2i!j*OjaEgeh^N1wB5FoiraHWvez}+!>aisE&}D(wZCc6k>^zS+Z9w8
z9gK#efOez5D^Tk3W`|%N`2^YRy(H0I<+wu-L{mlZoO%GyW?t$2v^`|iEk?odia4`M
zI$b7jnq;<5cN$b!L1yDFLr&ssi`s8xPlQfAUFlY(<WVYJ)1rBX7BMS{62?w=^rw`R
zP(;{|R>OhFREc|T5UPTBUDT82qTzbdQ03%0LFv_I+QW<q7Hq8tDBx&{Bw)6gRP%f4
z4fq>u5ea{kz7{Oun3{X_Uxi*=*n05u{8!Z|b+)_HmY`^?9NS5x9fMb_`!JJDAR*bu
zak+~ly*18#){P%QCbx|FIxHcmwuQu1IaZue;}?%**SO{-mS$|fCgz_Wfp)LAQh-SJ
zzkj+O-PXl;lEhU`^1Nt0wH_TlG7TA`o)Wc3Oy^3+3dgf{SvBB;^+N2{+hJO+xQg2j
zwnFn!o<eD*L2w)uK@wKUAA0ViJumrYvXY}GzHa(ercDbaCSQ>b(iuG4sxss8S&@ia
zaUbp~cU^I<lZ%`6^%zIA$B;OlHT>wXF#+v(J$h=n>F=*b>Z(@1Q1s?Ib+Bi^bKPmx
zlxhTk(LUqRqnuWnR%Igba99^n7hy5vyKXNhu01r^;uZRbj_Tz!Og8bQWiMr@jzd>w
z%#nH$I}Ru0wFQ=)cppB(n2!=@l#Gpg={Kb+iut%hnI#+xhhsGz(wxjDdCspXe~3mg
zVG*7Q4r)6b2bu6@c(3W-Xc<0-<Idr@wr!7KlISI~CD!GIqb&o@%8@jZL<?|2Z3(1Z
zh-{cALOKdN$8GnHQ-zV_HmttaAEKydYa4SA9plx)k4LPYoHE(--=y`4i&8s_*vDC|
z<d44<*>YowIVwz3oKB)Ns3g>Wz_R|x(mJBQQ596^UPo>YQ{>l}+P5xrX_6(z$!lh{
zXHM@T3DciqU`d_aL{`nN(t|{ZU@nJCJR?N(epa!-v^y+jv8UNrv7@DkuDbKh5I9P1
zJdKnh6fQ)ZedFW#?ki|Qop<%apU2ZpJC&_kKc@qaR#97iA#;?<fW#H6_DwpT(2`5Q
zZpk+ZKw1<sRC93f;x9sC%137<2NDO$>m8h3l{^7I2<8v`OwFij>!`7RU>0<5Syoif
z$eacqiy6~qQ%$=X8Zy((BYe@KJ<)*XO*#5Hk%m{^-Du1CWSF@HHG9>97~?pVJB?S&
zY4mYel`4IDxjIKCxEVodA_)?RlYdgGDSa*aveylG)cd>})Q*wqzMbS!GfMj$YNooX
zM4LGAj-|O$040pId6FS|JcViCKvgpaK}|R#7Kx@_#2rk^j=hQ^!E9tPheya7lLE2#
z-;*dMA0ttM@jSliwpfOW(rk~oB--sEe2-`@6t7lSNdqwQ76V!ZKSnVugCxUgunj56
zAk)#sHsvFcSc&eLl6-kSkvTsdiEi>mCrm7+fuav6>MDY5Khw1YdS;;FdH!1{^1^w{
zg{?Z2%1+4CSGLO%Z{`!PnTd&aL}U<g1rTKgI;+N;k*s+0T8pZ&DPN|upH~Ytg->YA
zNuaL8Rt<-eLcG(hq=17vvmbRd=He`rRcuG{?Bbr^NG!53);zW>V#OFD#--P@CN=Bs
z+j}|B3vre|00#v?qM!krV2*oqGvHIunJ5hpg>U4%C}RZP+;;O{C@S+DI~$FsIQ8Xr
z1B+kHkqw%iAyKl)^GV=_VG*lEWw5bPFmt@IQK-xUsvM46k6r85qINvGQ;q2@rT#9G
zq`PsZ+E-|Cafs59wvp4yvUPE`-*E*`y%HwvAure8B=SQC3D0da7vkRCV60BHs+(Oh
zRqZOrD>yA%Hy$XbCRCe_amqXC1Qa5mI*8zkfsa=@Z<T7kcN(u6u&IK~7wMn3!z-Ak
z`~caC%VzRF6x&|PvhUFywv^jGTf9gJ1WVUB#1dRM+M~~_^Vu6fXrKp{=|6L%I;(eE
zSwWFzShgP*8Fh<hH1|onH5D{WHskC?xSKjx<<cyGMMNmk+>-wQ1W{|6q4g?t)yyo0
zUasPLg=LfESO7GqsJfMXKC2zaNzoS@X1WBDdcx7e0&zQzDI2A_BRdibH!zGi-<nR+
zXw!o!iP3~!kto`e7T#n=X1w)l5))}I15TU3^oJkj<0K8JitM!ddz)n03()3U;ZCu3
z{6lJTM2N1SODRJY%NUk14bIzuXdxxS2Bb3i#}|jTzCGFpcd89E8Vl+;`s=z9(%Vpq
z>&D$}?4seh*Qy-<09Gxti|huQAc1vE!*-Rkn0A8FzC31(qmwcCI1xMUJ+Q-&awZa*
zDI+AH-%Fh4pH{V==Nia0n(qszuaE;C#~z?JBve$_IEd;<nRap&)@L}{0yfM>pHMLn
zE&^M0=D()U(v6SIOM1ISxo*C)C2oIUQ<yO~!`jb^NDefKC0cFtkbWJU0L!R^>wuBr
zWSCZ)+gMxYb?r;`@rsuVysV}6((2_;lD&@P@@u&TvX?FR%*-V1eFYjyBY@es0~Gj(
zb451c%fqcx1{_KYNvYS5KE4pfncw=izQ^(^oIg?Y^_)95&(TvNk)~JDBV+R;A7SXO
z?hOgDMI0GfCTP$rYN|j^h@|{G(_W@n>S){8<drrtvW$++ym(ezE$d;$iqJb=<4r!Q
zlF(TP(YBnDLXp0pK~Jc=BK0-t{{T<&*?JY~OI;~3J3OwQY@EXjy=0yDwk*B?V-bzr
zIPN;)v)*msHm5f0PPgS8Z=}86xq86$D<m|ZPCYr}aVcu3h1oep@kuJVkfSyY#Ij0d
zb%^n0w&9ykM40+^(lf1xbF?75W+xQ+9g>X)Q_GJu*Wlm`X?;ztefJ2PTeJ&Vu$N<E
zbb7^%N}UO}W=pQU!P>E%a@rRr0r$>A8%ms>b%0lxM$NP^5mXWtJw~13`g2_h&kw{Y
z>`s-Lw{EoWdZt~S@yLjV)P^LqO@g-{yssI_COne(-9xUn`b{TGuc@8Z?Qo~cvKB2^
zg)ws}(WvMtg~i|>gI78ruT3F)U~pJS?55;$93kCL^Ne;*H;2YtGOru8#B7~x<V<TO
z_bhf}xw^=X=sx(Yc4Mo;^pky~??&dEFA+@`UeM4pUyUhMoht}=AY0W8>W*PL2CKJL
z&E8cR_FFom40}+g)=agH+5%Y%Tu!5Lm6wBL?e4?I!8DFK+L85BkJ#F?iq{=X9X4E&
zVY42a8oa_`-m@ATj+>`B)*PL*adA7G5fvGI*905pe25Gs<=T;d0di>ipJ!3{O?pnX
zNZA~lXfPj*A>&3u!@ne**`(m(46^Bx5rC6u%9=vQTF56oL1TqV#V;~hlijzqM56>N
zL3Pw|zRPjheaH;9EjE#xeU^J}u%<-whAM}g7{g6Es!%7it4gZJu`OJdtmG%^IHbdV
zgYhToFpWOLV#){J-QLuC_B+o=*c1d$xB<<x*qs&dytB#LX|u;QBQa`L8+%a=?2b^m
zIQ_?Q`5`UIFxVHOw5t?_#?g|9`nF`CP9mgd3$<fX^9)ZYix%rgYOBV|FiCle?4^Ga
zyJNgaZFeBE8eMyX9bb?S0mx*WWQD=|7ujw^n1zViWj9O(n#y+`$F4D7Yc^}~SaL)P
z*=~#CMD%GUXsSfvbB?aG<Z>4q>5&fQDN4}RgY3HZ9QCT5r8qv5>E<HFk2_^aF71S|
zO2$~dknHGn=<JyBW;WwQ-sJ0OgvvIZ#>G?+xV!YN^KCK5v^L(yHq}Zwml6AYo6O%#
zt|v8LIx2#RhCxIw4A^Q;lVahR6DAEP_V+|_TC#0QV8)rL8IzTH446I3OAAVOD`LbG
zR$6_Lo)P53?kNx=H99fIbi=rhHhj9j#Nqmt#V%UOsxLDNnDPDNF)c7zY!t~&0e9VM
zRV>L*)mtzk(IG8VkZ}-GW<!#K1hT!7kWF~k^TVnlg^hc29SR(y)0~#$D5#Z&YYP~z
zH1;eG<N32rwQr9>apGkfuEypecer<y&DgV(Wdv!lfyt$Gy4z{pjXrr}>F)1Ou!t9s
z;yDp0rd&4~hau+6yCJl~8shdc8&Gk3Dy+OszJ!K?Db;Q%VSB2VU(T9y>0%sPoQ6ws
zoz#sU$>rg!We|w}0K(YKpmB*KBzta=0zT5KuCnt$B)bB)wSPwOx{W)g!?oKuDWws{
zt!e4(@u%zEInY=%_plHfh@eCck~~P@fC`c?XcUnl5|$RV`}_0%0BPi`EMux$pr<ap
zlBXH7EjzoHqV+ft<m|wn%1qHbuN#X$C8zE-GMaLtWECdwYe1htQ+38&ZKjFM)BurK
zRFuzKWU(~$tpe405wta*0qf|s*(DsQq~En@--RwuCVOb&@nOeNqDdXjDyApZo;87D
zcuhqfAoevj3>rFT=FsD_nRYbl%Ef%26rUyOe%2FlO~)E$U$|}O<G27l#`Xh)lit6s
zc{4HfFA2vc*ZvD4W;JV$*Vf!cHk#znSyd@89mz3FTWR<XxU0frE((Wj6+CeT!zsT%
zi&sxyG$pMrsIlvk_lx4%pP19m^y8`%Yp!T01&Z6UveUQ?Rl5*dX~%2YjHr^;rkvvR
zX&l)!-JaM!Ex1C^YBrGJ`HVbrMygE5UbBeVR8`a6MvCoG39jzKi8)(!;9bX(vd?uq
zD3XdG^$PPF#iIzxrmV5cpQvstjj?3YFFq)&D-1r<vk9VRK}RkPvJzZz5P0^{Rb1-p
zBEzQM<6%Ed^uoVVsHn}b$T6&ADUk}~9v3%xsnqrz<_*vk664LM`7hAB?7d3)8b|`%
zbRQ}4#^(c}BggEbW9{S_o<(Po;2Cx`s>5F6p*JeT?B1u$E8`1-tu*Ae1P)^D$P>KJ
zVN?+ubM<v2@qIJaR$M%9KE~b4Nckmhq0}BXlE!tkPowb~b8SHr^2G^2hl-BsTc=R0
z^#1?@){Kpu&mNa_Hnc4g$-*wI+{dq?Fo1&OU^ci2H0h&c<Blo2yI>&jY`t=}xtp8O
zO2TveA~fk0lT;vONtH^6W-JRs#AP3~a9wes=F5gc;F`ACBDkmY@vLb!udw|eDlV5f
zt-U?^9(6?-rS@$DA8w!2CWzZyW9-KThiN`*wgn9rWE5`JGMaN0A`x}L2R1GFC(luA
z^PG0C7lzJ1iOl>VuG>y7LtqZ6Zb~i3NeCq4rboB=5yBMNRJ@l%Q1HE6fjVL6enNQ*
zan-?_i${``IYm+^swk9mKWStes*)3A&mdI#Pkp+M#;0NP<F`>qi?nuF{4r_SlAk!X
zbyAb)M-8Mzb(2&dAn2f)DGDNr^;9vii(il=dV}(&l1Im_xsVUIK>E$;n^!$lSi1f0
zTE;t4%qI&Rz*5QD$T>K;2!_q0%Hiw;o3q8SaqvyiU1&BAg>1EWGYxr-s5%pmQbp6<
zKF4A${%n)vPkD&Vo6kPXF%s>7IUs$KnIRa5ZCX_j1RIR4txeY3+YLR(bp+~~Sg73V
zSu)!g_0339Kz+kB*%XOY5*vS*;1@JjkP%82StjR0v69CjR@|vj)XdHETATY=vwh9P
zQ(>yuk3R?jr(!*3G30EjsqO3B6xantE^~W6>A9taG_T1jR=+p|SXW*t$6-YWAGNt$
zo_whdNyyosShAi*%uUA>f-;aAnT%pL85Klt=-`X_f^ID~Tx(~kw5{B-=@I2;B1=Oh
zvm`F?fo^I}3G9Y{<~~WkmFw=FQQA;DPle_=9Ct>Jwk&JQDK42=IU%m&q>m7Z3OM4w
zzRE~Iq$$LcWf)k6>-L(vHpVP2@naanlIBZw#?_|ZmO{`7r<Er^GnUALsENMnh`kJL
z$_YCU@p?yQcmr~->n`UrtdtA_8MPp8ES^@|;th*!Zr7DX*?AglpFS6_IL(i?%&pMs
z*mTn$Y9n%F0U5CCjw6aquKZC{M1@mr_Eas`<F6RYl}ni1&66d>l@l6jHF$_Bp{$ol
zOjT7C2fzs`{-i<K6%l&%iopm_EH9Y3dG_z_j#x%6Dh#Ay_JU*Mf3LP`slMMGb<J(<
zwGgzD0p?ZGsJPzF2K%R!<JV*}B0^FX`2PUE9dKz;#6uHRR86){qyUmCAu6i<_wmps
zuE1aX)lJjmuB|@QM*-<E+kL)i+>Yp?i=+N#)K~Q(4<uCkqOV+9Qr$f5x_Ro4RIwYp
z_fKtc+)mmZb?3HOc-4)A>eCSIW3PT2t`MTCHjg$UX|ke&go=ub($R{MWU#Z5lsBUH
z{+XM{tL>|+nX|#{LgINg`%Hj0I+j@MoVorQs_Sat@lviLMcGk$sm7}FuTj{H&rJEX
zM0~djs*eg>7i}z=t{8LKoKt@kazHk(BklX62@Su=rveuy_fmPWyw#0SOFB$1)K))>
zAU~+s+)QpoE7i*&sxmk;9D1%ifcgpch#tJHaTAM%*l-k5L{5%y-6@Bof>{lIFB&v-
zWTj?#1eV5Q1_Q;{q$_e2-)bZcsf%Fi4!-gTs1hFQGo)#0dz*UO#Bcai0V5m(9co|A
z4SKb#)En<g@vdsB=;OZ5Q|~EeM#)`rVb5%d_s%qDh#;FwDI64sB-~VN&Cq%Gdtg@d
z8hr~|aQF2=a|}*gslBnjp~D-IlU6N+hq=l8Ntq2a@~IGu=N#h47SK$Zag^EKre}1c
zm}!*D3*6l7ZJx>EOn(@#$%P=*N(R-Y;K}zaIMj0p;12c+w#%=py~R;6aSAa8bDMbW
zN}{UM+=*q>$cFsvb5({a#V1`wGJb|z(jvBMA|kzsq@PlT$l0oOBc5WWT}^Ako_%mt
zM%Ky*aL@{I_CZbKx$Sl5;JS&c8iR$!kuSF%n+?ooQe&@ibG6y7VTT)Z3w@ND=ATd0
zD59cdQ;f>Q@e9XvPNofQY}#n#{{ZssWu=vzis-7SLUuCdG$b-!BUcd}E>0mLikc#?
zOm-Ozh#M)IcJxOjvQH}(QX{zYVg}TBpz~3U#>=|@0CVzzO|fb@DtSIg9UnpP9X@g!
zxL$v6Q4+bw3;8m>-ciuWaD_+QBvEk@m(_WfExTKqBDM6PBO;Nx>ISKDF~yXwoLB29
z=>{8;m7;M`Q3P8d9o2vN#q^4K@=CiW&rlN|{%wr2ZZa8l)NIZor)IJuM!A@RD$%%-
z)p@~XTvFIkw0Ok_$cZBLVI~AgRuQJZ%$6I1>~IHEQCvmc6x003i?X6Gj!28L?45Lz
zDM*$?zDvlLmonW{m3B?lcimN2`}J`E&;=W9s;R%Dt)ZupkjH>^9`47SYEYEE_V!7j
zH?m151;)p?D2CW=%~Q6VoFj1~-eQ?m<}qh!hFRBPSzD~TB6yWVTNWiW3fo6$5!(Fe
z4x%9nFhm>g+$2>)1vO(JW)>s@&JPIKn%}Z&M1&;w;DV@3tb#&D2wD<R?x>H`zsf50
zQ>S@$FO})MT|v|8DRrYy9(*eKOsfX^Jq<wtphmX`0T4%y#oH~H=g#Wy(4J|5vE~=l
zA_^N9)`C?Hq!=eADz`ohDt*}QAL%d>G#+iJIBJ`sZkwjbze~*bNb!tY6wR5&s~<_(
z6qebN=ecpjKgeIg$N<xJIfA&#5-Kk(k#|J#$4+iB`0mKcu*%5n#=4xcqz!F>zX}!G
z2x(yiT6C0}UO<k5imOfoXT^7Dw;<I!%x<$wXRc8=ovm%Ls<M+Hhi05{<ah<rQdDId
zBYZ^7ISM$0yhqBLYS}?<=Hr?d5co}Y9?LvbM91tbYO^ZDqM|HXiJIe{*^|<L7M?)F
z=(B6lzT@cZ^<}k^C)*aJxQMEw^s%%nNq?R+CVpj{#91Elv?jlij#kZ#RhJ$!fetgS
z%Tq}*1soXa3fQY?B#5SCxQb~$1x+sn$TX_K#wudtv`ywkmpHD-kzE?W3Fo9RPAKzU
z{5GU^6j4jQLG+jo<`}jIrkN~So83y$$g-r!g&M;bt;I@xq-=032^`@Ts0^7`T7B2u
zazO^ft}2ld>^(OVE5(|0H}Kcrbc{Svk{s>DD6IW6SJTt_XTc*>P{oS;%z2r&6PlxD
z3zidH6hn2yWXN4qK|x11<Vc7_h^x0oi}APJe%p03BM4RU7{=<NJsJ%}HsM2I_}zkS
zw#5^5X%P{<*LC26JX2)ZHrXJGsVC3E{PeNj72=%giZ_Dvn{To0;XW6x<t{_AQd9C>
zHxWD<yu6pk#{2K_<NI~NeD16B`}OEWNc?=Fc<Yp+;3O{aY@D=~_6ZT&1f#?&4#y(2
zgIFa#{=&q>1`Jdc<jR)qN9Dy#nNmR@-;xmFk*?^qeuQ$WXkmXQmUJM43N&a<L}2?*
z3|0`3-8PKls-O$Rh@j)kx}fu;)9VS5?yd4jm5dZ>`#6y3+IWYRhEpSG>^Q&WR^zlp
zXobGShDqaXphGsa+fwliR{(H72VC*WX|pXKO9|Gh{5dGH`8sM*Im&I2P;5)K!IHS5
zBqBM_V>?$in|0Tg%R(oS8(dER0DihDkCx<fG}3*JNs63DZ&tM<*W2VSDpgQJ6ek^=
z_XJlSHyu?z(5fqo*#X<ir9~7-xh5i3R1e(Fu$y2KY%;8orlQ!~kOOXehT*Q|9y6$*
zEwrf8AP|<r;LE-{0}8U#EQ49~A}cVMp@K<CZ(%*qj{=YtwT|L8TeseM(HE7}LRArH
zM~@Xnv8=hP)LepPtwc%7ib54_T{*DYfokij=<Md|X7ZU3svD{(g4n7l7bF>hYfpy0
zDyxyT4vKZoRgq17jFO(V8}MW}t`tCT-%7DkPtenn9BGtMUMsPJiYF!TqrXWV6#jP2
zH6`rgR##}&bX2mr#j9x|FiPW!tO%J$5PB*jO3*5ciOd{PR4toUcA(;THS8v+uQ91p
zV?m1CD6-p}`$r|C4b_<D+7~x~K~xip@3{(+?!73mEgOl3-;FLil~_o|M#@Iic^mHT
zv0dWf6a|cd*(RRc{h>G6A$<4ZLW|XycE%!gHKzp@CGr`YT?aqc<rHV}a~(8gyNqj1
z;ssQ>V3~ngK7nM&iGEvv`(mQoZ5b+iWof3!99M*!UDZ3`*;nGVjAS&H&6`r&Ll<Ko
z)5TMLi4{pukrg*ZRbTJWy=IxNA)GmDrc@SL3)hfQiz@p0Ojn#{*f$O`4{|FhF-RYH
zHz#=zY$}cls*Uz1gyOhlSL0$>l!{369!H<8l>^!n4)8!ESn7${U!^w`PpfWTci*bn
z*|nKTx|!XfeMXBY{{R#n0MhCWEw$9FLbE1`eRYz|x2<k7^TL|G_DoO*mNCX@#$&%F
zwnUMK+XhMDLMM<(S#vMyP5^p;uJNldJt1oTy7w!CdxX@;l2Kf?rm?M<<YMl;22PxF
zD;PxE9GQGgmJze<w%UJJa{MO0KEx*BHnEy;XR@BvNQhQ6pkCx@EvPo(1I<1yx(1Dz
z2?8jJs&$97$2P~b{{Sh|+?Ozg4#HjmtPpUV$R26N-KdXf=uCq$GRY8>g$~RniN-ee
zavaGBVjQ`2Y?;uokyA~)e+5+;4mn5w9r>^3_LAe!<$8$I9QRDKD$5BqRx#qWCf>c6
z?^s6ns{~#on&8Kf0SJ&>-?PMo1;FH{sO;3d>ru1^)Fy3dg*^Q1V^^YFY5bhGFvil7
zzaT$gf`r2}+%}vj(_stX>K6q|PAS{w3D$+r@XVfqBz+aY=rIdCml~gMRf<zxWiaEp
z6(U)Lxm1H?T<m8CbR%`OO6Of{XV+MP@fX^3I-}HoLw3HOYqB-3#^~;9?k3_VSB_oT
zJ0i(wt!2ZFV;!2ws)DXJV9G~Ob)<CK?Sa18GN^p*pq2FpaczkT;P-(?3fPVoJ}LS9
zFF%Mg_4!3-q`hXI-PQy^n63q>m8}8BcFl-qAYn{!)gE+Sg~33HK9?INl#6s!*b^!-
z8F;d5Mgyr4EHSGZr*2_i4X`b2sA{dM05*iwehAnQgq1OH2|ye}MP0v`myBX9Q@x*S
zCYN5pY24;kSyif0Y8_AKnM(MzTmqu-cD=I?i;BQ2p%~&i-)$5eMAF`wVe7t_<JT3~
zCa+^rG}5lhC9?kjE7q|hl68Ag1YRz|4&cQ7%Xar{oa~#ss`1~l;KSZ$g}_&Bj~aNa
z(~ArO2^vi|)Q=Ue@jYP)Y`If;PddT_u|R#j?N4Xj#c*~)VZ#zfo81%%Hz7hr6-3<?
zY-@Dlf=m!|OJ}0S04_NElR<Jf--A4rcnWwF1XXDh!gl`3Y<FAev%;Fz7glvvYRF5y
zz%3eg-N2ND*pQ(h5D_d<M-oGB5{eUSzS?Xg*?naDShmtZ{C@V9U0je(7Zr;c!V(^B
zzS4;pIN2ini7JT+0icp9br4|={{Z6dAFsM&W)Bp1cy+pk9;;2YC`qd+Hm<Q%HO3{y
zsL5y5I|^75BaO&vJI$|kHsi&_+i$2<QBageQn3vMskNHsQ>NGU{{V$lgAgQFF`3=I
z`;H;G#Lhds7+@PgYw2**)xss<qKK`_e9QTTmkT4TZcTu;g5AV%0F+w_><(_69Z#|;
zY@_4PO1xV~G8(+i=@PWRS>(sOuosz)aj#WVAx?Ne$t5=l(s8hGRTuKX5eH->9|_kS
z;tgL=c@@yskw(ytVFTH*PD~U#T#8Ut!L^ExJu-@YbO>w*ZJ5HRU@WP36wC5dq<)kY
zKO3v(N^(%c?t)rYH7y>s_R$ze6dXBDa#A4rexX1I-YvcrNfACbP~|TqdAAiV;Pd0Z
z0gxF{WZT2Db}0ynsuI_#gRXPgPzA9e-8msDaaLxH)jds9RZRv&iE`poy74(7duH63
zFSi;v@<A09Mn(19N9aY_c2(P}<}H2{9Y<S*91Stzh@}r)Qv)EEKDLf^z2-Xdp96V{
z)h2>ugxwWPRQ7G9_yj{BLnT2~MBl0jQ!)GY(-gdt4zVgbuGN%^*4}<R#s$BuLF9EC
zcj_TM`64K)qVeBy44X2YlfY^_P=>w_eZ*=wxy>vY2T8J5w@)bN0#QZZWZ1q{Q>r;*
zj@8q~d6}aLk(P{%St{d#<dSJx4kX$Wt??CJF7Y622Z<*E`f}JP+PP{=cM#KGy6+by
zTiSNNnQCN(vk}lAl=KE+y6>Hl!eyf%;9GqLi^Rn@9h1TU>W*2MHuE?plt)0kp5nIs
zv$2)d=@{*)xh#QHQ2Sz={X~L_q573j7V{y8G@?B-3)6WRrSr-WCE8?>6=U*2ML7Z5
zRc3pi3ZGi;qKK;4qKfd-JuSpE&m5UaM>5L7#@x{I41&^UIhL+&O0K=O!_7>IQ3Vh|
z5CBtPPOE^ijLoUx_fgB*N!<5CewXy!Fv<_-+@^Je+llO|RSdtWB1IJ@+H{=oPduTz
zs*)!aGZaBYB|D8krJt8h6ezvOjWluC9gn#o*F{Ce9h2#42Z)iP@+Dp<s3=NCEkuC`
z8-)R+79)ZHr9fK018cxhcHe!~5k6H_eD&!R#l&<;M`GV}@V#`(Or}GrUJwBYjA*|)
zrjHPuhaBJ{*qN65pr*<3_VL$+B2`{1{>$^%q!C{`uU~llB5%Jho|K!Eu3@=x4b??=
z<VF6U>DR|v1l+bwk$iRAeg6P4M{U#ny71_VeMDY9+xYX>mq@bsz@WXwu^%X^s)@f%
zzfSd_6;^jL>e24nDn~UW=Hj65#TV?K3DTX0!6b^BBC0CvyL@lc6Cbe1BI&w2UH~B)
zSdgL;k2F#p(3k9=zft3cXmasZ{XB+Gnwl@SnvE+^Z`T)zdQ^5ULG5-)&6?((RkA;n
zRZoTL-x9;~*75MB$Sj*O9zhHmbq!k&*o*F;vVD`PjLNGP&2rf%VocUqw9{uPVeack
z#DB}<%I)KRiSZoBZfilHtCbK`yJGX=h^i^$l652M*uY@%AGLgRbi~N+G(3Eeo(ZS7
zv$BK9te<`&M3z9yZid8LZiVyyRsNql^m!ILm(9wkk>P|@7am{Lw#(<C3^!16o810g
z2)0sTwyq;)jc!Z`D(q{w@A3Y<Nz^xT+bnDFdO5CFN@7BhlVq*?miGElRXnEOKi8m?
zNclh{53=koia1M}3D?a>fsY=aI@>jNj=cmB)xtLu>fL^JPyIUSX=6V!tNvSRcWNSu
zk~_G9Z?~T-@}JZ9+pg4j)x_9L!?Jl@F3_W{s{W$e=c}1mMFg70sw^uTd7v&z1grDc
zUiLNJ>y^gF_cY}c9281=7;*9FQR|GJD$rA|C3$z>j>HM}P&C|Bf419fok^Wp2PDVU
zmY;ZI%VZ6?45|x^nkqQUf{LlJfubrV-(nTpb?U+mbV}A6iw%Kkra=X!#Wq1i`0Mj+
zM`5Cl(<+Eg5rFUDNmr7u@A9g<e0g4`bG0E<*3eL@YKP@Yc1p^EEKXMg@rcNY#ATvv
zra!p42qug1<M-dH;)e>qBzq$$PLa%YwqH?Fa2QbnZMjagrl!#SO3^5O{FOW+^=orp
z?M^`-Her?RHvpqu0E!5tVBN;uPdjeeazss$R7|}1=r32Zi5D2+j+A6DqFu*jCS#V0
z9oUZ=j^fjZB#2Sp9h)ydN)j0Cq2$=d$UCVrxskNzI$c)fnRZ!OjYzK3QexKX9HWnQ
zQ)OV0U5M*Vsf;o)1?Ddz2zR*&syNfgs(@&tnI=7tV$f`}{AM&-h;g7X8Z|VC$RQ>D
zwiX%Us?(+~FKhu9ikpSD%egB4;^^nQRqE?bu*)W{Dxo<OP_aei<og&b?vKMzO_656
za0uG*yR8bKs-cGO4DTUg$4_A8)V4!94A|d@N3^Pq-jb}7Vol13f(zVxiTxwLE@~=>
zq&;YMf5$DM*Iyrx3Vf`x@re&7YxTd6K1=!LKDD*WDAmk|9nEpQOve~*i6qwGk?Mj}
zu>v_B;u@5F%0+s6XH`|!)!0%I#te)Pfc<0CFRPmSOjk<1J=)&O#q8b-Xx70Yx8IiO
zMRHNHB_TwmMF0-Twxo^$BWN#46GnP{Y9>Xl?cq@+dPmbYr$DM11uIWv(ny5G^-CaL
z=7^p^6JlZ^q=>UqVUlR`4<ed*C-gt4x<TrL8@`u|WI3=})-w?9@l2N03d0yT5Rh6p
zstD6Uh}RAcDh|M+Xe2~EYJVmX0da^?y7-+dRhrB^ub39URUSvF-DbkIf};n`^twY*
zEvTB9?ncarvLY*+Zu@R9;51+jDvI}+<O(XCz>2#f-`ncgRx=kk%P^Z5)mC!W8Cv4h
z^CU-;$yKydYqm((Dx!Hp5%P*WwoaOvC#Sr7D4$=Jzik{YYg%*}whAT#z1<!T1FfGl
zAynJx6%^mfr^5C1+<zQ_+k<P8KP|XzJPbpIz%bNz98amv(ix%_{&r1=>R%sjpl%`u
z(6ydA`zxJ<#I~TCaMRr>^hZqSZ0zFdW}e;4D&UUXbu^R{99D(S<83&O@sQBANW2jD
zCi%Dsn-<+Wv%I?_$E~sWMNCB!W5(R+ECBI=^d|*UB}5Tb+)$N2ZwRWLDl~PCXwz*+
zc20fjN}nah<+?*#2Oy(Z_RJ3631zZ82{-vdMc-uEM{b-NhmP3fdVCE{V!l*4&Wbw~
zQAl2Eep`7}9hFfPetycEZP4PJU5RdcjkQg|$CC`;%7eNK&a{fBGs?{Iq^_=J*|x^c
z(UC`8kZmgcCQIbD_~X9Gx7(?@QK~eU&Ao<*WhTRtpt;zCYU`+;=ZY@;x9}^r+j;(-
zEwa3}W<`-m$F%ntlMKc6aftOsNWJk?=6n->r8uwOb@^VZ8qmE}y^@yqlyAmu_qUS#
z;t_RsFDJo%rTJA)->N^3$3vE9TW&Q`{{SiNn>-C9?si%`@fKVzEI5XWze$4bh5feq
z>*1gmlNC{2{ycOsh-rK*BK`L<EXCP%CkdpDUoFKYVZ=|Zci(R-zsJV=eYz)%>!r7F
zQ58Q>{P|9^TpAB_*=x1WBfKb5n>^EM**Tr1l({M`Pl3#ne*$CuKdL8Lw<duilEvtN
z9FY`|OMis@`q;XcSk##8$xvSfz|>Ra6&I|(t5xj7xhQPxC=M?aQu4p{oqZ3}CoZwz
zzHjQ#29n{$1Vt4D_r@D4rxy2J{CV^JKlbXQA)c}mc<$}GFOl=V+wIl0l#p$u77)1z
z?YG}_->x{W3H<*1ux$!s5FCc;zbYru#Su8FBZ;~Jru@FGye8?tTWuk?D+?)ibRf{V
zmtI>i^MXmbas%6c`uX_k`xVqo@!P2N*!<UBkuA<VM38*{0AGau{{YkX>VqeQ-F@O!
zfW682#}WWJ9J$GKQ*~@rJQ49uTzBNV?wjwoMgE>D<6B9CmBB@d>+Cvf4<M?M7{jzi
z4)&xpt^%5HU-0iVB)m~Xl{a3BSH>eIm0pRDbb+AJ736-PHD64oH;-84538cky5P2A
zoK%y2lVnc`{dV0tzQ#X@K1&=HuH8~^x9yC^+Lo-o2xG`sknh1%cO=~v6+X+-d(@Se
zb5JMEjZ{+MRHSvhdK2hr0udSlOnb+MlW^oph=aNR0Qa&^z1!oMlpKbi9gB%ui}I;r
zKP;>0*a?q=p!vr#Xxt#QRbh!Jtu~-!AYva<f-J7X;GYvrjn{=0ZN%dvc@enKC&aB!
zgRWEIhL!6B@NLWw-%#Zfy}YTBl)MZxB<wopF(KwkJ0hm(zlE}h<I+aXn>Cc{(lHxD
zZK?Mys05;Iv~jsiw<BbTeWgMtW4Mf&38I65rNu|4I%kJxnny_PEpv|LRWxHIxXcN?
zCcD|1a9Hm?jr;1!C@i#M>!OC+oxxu45~of~K9X(L8xFawip?U-eYo;s%oy*<Sj`%@
zAxv9y+mVxPI7uaiXpK-zndYm$J|VHO*;sAw`C5?|zVFp5=i+s)WVsG?mcWeRMz9$7
z7QK?6NPk!pPT52i7vS?(0p@2$LExvh+*?&Pj;T^n<v4BC-cyLfa(mRnR&nhea%)mR
zej^LqMYqM*_Z`I>aF>4|doNWk;?ibchG%_SCOc5c>sre=kmRv2`;ISdAXr3k9da|D
zN<9u!OT<Zdl8X2g*QfF}7{~Cub^)um!}xUCnH3`YITJ*R^thtvx{dqrRT&`--rJ7|
zbB^$zBwl9EAboi+2IOfRRX3;1D+IsAn$$~4Q!3`hoUYg9g<w)$q(36tFUWKd*d+ww
zp(zSHrip(sw*g6PJyq2;cY|8r$GETTy?RlrVMjv~mD*{hP{G#B(NSOSgKVp0goUyY
znv05YifPsphq)(Gbh7Rh6u~!}kzfuu^G&kjVur)ap*BW6)b67)!40PzbpgcYq@&s9
zkmp{bZ^H+yoG@_4>jnh-$&p33l1jJBy99WMEA2kxG6BZ+U4VsL--2}3P5%Jg8Hu0=
zbUlq>5dl(0%Qxr-Go;p54eB1h{x;4e&8u*$so+<-F67o|(aAAsT;MK6gwsmv%7lQA
zD`G|T@F+Q6XD?B4C#<muD-nw-_?B3vH4;nb3)(p`eUwp*u8OrKq#}9O-4gdk>X@N$
zS2}9?sMAeQ%5??&qX?q2e*WlbY~@XA>6qlL!S_*~aO2EG81B66kWm!+T@ZBMErAt%
z;dv8UMUJypm6fvYDOys<ZSs2YYKoeChSAZC+<1*6%I_{{)pH<Ex*`Nb(<)r*IDko=
z*KyEr2_g{CA!ws`s(O4jwfPNRLDGzw`H}=|A}x|M5}?>4gDImv%8$8ar%my31i^rB
z+M#ezUaa)5PPE~t<z{%rgE<4QTohRM1k_Zf3C)qbaT!;(c36SBtt-kR()^ytfT!0p
z#wl$y=xAjD+Dn@af^s7bB}7J5#ZJUYAr;Q+gp0e1(~fXyqW~mR;D`|iFo$Dh4uY!7
zB4)oBx`{g>t*dj{L#d|;QRDH67s;n>^9PMdK9TMIp&ted-5GE+>#y1l=zdpRtv?S>
zwF;(0;j)zB*40xDtjejX)6PEOIUvp1M1)B8{Ci?888!rfNQ5FO(qlTw@7yaVV)iXP
z+;@se+eUZV+as<t4@B;f^JJDQp4quZ(l#XfYD%6QN2jPZrslYP1`9=ZWmq|$MDsWE
z9R{Sd-7`u{IUbJbwx-&Uf(oZ6L8iok6%d4g@eF#V(*}O-Lz5Y`mh-IDNxG|L<2b@4
z*-{>DEEffqksNK5-L|~(6>pkD1m(?feyYi$40A(J=weR8$Ex(3Bg0|9g?SO%+`<dC
zj0IyX5Rpd(Z5?t`#w5>i&CnPjh`W~rPOYNiG+6$nUQPyV>ML*zEmBl@Gt`)uI?M>s
z)*NGrG7d)+E<%E&;tty>^ihdo6Cg{Ye#0C}``nWGiFWcBh-}Cpj>~Q|kk&_WQMVju
z01>l5*&R<jxpa#3t#Z1RuGyw<l;8VjSg&$pb*@Zw8gqn%QAILU?XtoM@l)Lp)saN|
zbWIO_XI8^rb+_p)*+FOm=h}&Rt2wq?kn7lEx+A7p<C#rOBsmn*@fxMBugBp?jt3Oo
zdDh>P?ib0IC2Ws%M-Svt_odk0wNmLa<GIFO#wiA#y_Ag#!yX8(#jq4>hjitzAd08l
zL2(HY!+Ejp0tbWa9@{R&aJ%^yI-NTjrl8I2Y-YT}Y*R&MG6Q8P_iPKk>!8@l?WYA5
zQbcSyaZR!}s{a5}ITp2FV>r$+k=Zw=3_P}!k?oE5XIVNgaT!w8@**Wh*PBfy;@F?Z
zB_-%$?Qt@gz!p023GxWzh&a?+)oDS`wG=V7-PSCoUME$+MXXkeD`h#@qG{Pn2@V>Q
zAZjY3<w;0L#YGfM?&!6eK1AYJ;Plg3i1oPERokMMWSHWn^0&zo^VER_RZ$aV6!L@h
zXKLvfqQIeZKFE<HMy5xr;lyDaan&hKi>;Y~3NU55qM0c@!)=5GJiEO!#;>=-QQ0U?
zwzg=^a;!%N3rwLI2Vjg-nY3zS!+vNaNWMu^sw9Dsu({g$1v@2ljty>}>7RQ(ncVJG
z8`%;>mQi3kC>(VgM@0rl5L9%PwL;ky6k9X-_)drQhaS_MQ%#nS461S2QzycSacwzD
zA;IrR5<bAH6H59Ei@*VSqH<n8N~c7*ia^8eWNKvl%Gzfh#~TN)CfG>!sLO6R;u*4t
ziee&&s7l(Zp*Wk0c<VP=dbrcAeAft+*p_K-Fss$S<@phYdm%PM+l!K$an?v9$5ZCX
zNpVEMp+seWFu3QnxttA60=A9-id`|XG}Gi}Bo{IUrbhSCQY{md(&tW#+Kyt>k~46U
zIs;~g4f#{zzo?OR>lU{jmo~2YAyZOU$FXFn!b@J!!;GS2?5BxQMSyTc6dOPl@*siv
zomT3c`B3WXuv|YZS(aw#Nsl475rBOpBCsy7f?!75uQ?^~MG_)tS=hHUUZd4q<91q)
z7e;c3RhX_NZnv~jY~sd!Mf*uCC)TL<A_+jPNA0jmiMv~l>&bd~G>bEO2~-A5rBdel
zksjL8mOdMwyI|1Gl>E=Z*?3C2LAq}fTezZf39&7?swUo1K9ydHJw@78LC<+m-1l8_
zC_a;8NO1)a(NuO0A}w+P743p>6fYaD>(?Dh#IbvtTAK!|LLt}Jy-h9{S3e3XR&C2j
z^J2KtD!eW{;GBlrLKQ-BHX`NH%E9UF%{J_AmVA*ANfV6;73UCBk!(t;JE|{@*JbLA
zFl526Z&gd27^>2(YULwRnge*-1#m>oq)tMLspL_7Zi(eL{kqlo9sDeUtTTD@Lbxnl
zd)l;47z7&TfLLZafQq#sjT=%{ly_c9w#l;fkn3Dm+yrPBb=eSkuIjt>sq}iUA;B?t
z^wH>8nHJIlJmr8IEQrpLCl=p`;fgD1xg%~gXZfa_kQa|g`jc1~3Dr9Q=NFJPOnEM3
zRrplKF?!S+TPH@crX#F&+hpDZY<aedstq#NeZ>P_YP<cEQ=wfzsez4P<AK-BcktXc
z8-3$K6<M~^51Iil6h%R6cNI}S7jBGkwyJ7sr4-7?tJ!Jk4$9{USyhkQ=OxflBJMb-
zAi|dW^WSgP(*FR|gu7}CTAG4%WCvx>k!f_IsGH7t1cj}>c4?Im{{ZHq0)6_$fL9RK
zjy-kFYRqW?ao~!y?=-H)X)2$EY><H}care5gq`IjMN<@A)f0*)>ALJ+9W}JiQ>ya%
z=S7P#lKLLTh}i%te&U7aZ|~M$4C+7fqF2t2^NKN$8(8y=q(?XXTX9q&{X36^Rr~eh
zPqhli5w;2OWh-cgifwQ7l5fA?s%O9nn&Y}&A0Fr&(X!LJyNXTJEMeHyO*FIOFMYO*
zlu-D2LGkxhPmZBz->JyiwYTzqLr_p;Lt$0P3ce49!n}v%SAMwZ#;nn1vYXygHtz)d
zvR%CNO>L*x=20edP~kBaRL&<VTz14<cV$nKPb=0-+SUUc!@#Y0-1!_PgzKnB4%xEn
z2`(dmZK&>qtFmqT^~~7!!OCNa#e9l&nex1oR4lccTs&R5(&J-93f*v;i+z@O@=_my
z<iF~>^iuDvb#i+jhhfdP7mm_OL#n2Q{{YQF@zVbQ`gFjIm#9r2Q-#$MTAu0TYydE(
z0Ix3}2#K;H{gbaOi*exly9Skm7MHjppQoyfOFfNwgGb891Ge;1ebfgxM#OhjRsP#A
z`t`#K)l6SfDr8Bglzf?S0rq6K#I{u36%&6bzrRtK<rTGop;rlFG@-c`UorbEYaNE?
zWrKqdO;ul#;*yyX{Hm(;%QnF=JobWA7N;vn`u9ELWkhukZwiaIpW9{X;@2FY$e@HP
zo&?KeDj=)Jbx)4H1x0luV8v{418~(u9DB(x^xvWn0oj2yKw~APuB8%ZG;+FOQ$W0^
z_LXtmD9ILjt77W&-B*4?zW)F#zRBaGd|5)8U41?(`!J~>BacXo0IIwRNzWhC%Iv=#
zUfyCulFl-*eMOZGokcB?Q|^oXKd0ZWZbhKNXjx*ds7wN{7anzX*nFZVgxy!+KW)0D
z(zZr`1=P%fNZwsrDHsl;(Py+@%r#9AFyw~<DLUB#xF}1przB0$Q_qe5>A#MyA4<uO
zEI#rZq$)<<{{ZFRWnI6&OPrS_w`RJybnU3GH2~4)V#QYf06nxcZQdw92r7J)K7N(o
zqnfjw>>7~xG!lw9BZ@=tyK+?izDucJ7F+RD$1ZytsexYbxgDf?lC&GBZ}a;q{{XJv
z_3P8fJV+#oD_~wh2g|4T{{DIxi>S}h=FMT56D_u~wiYJ1s2#&3+<2m{>YfO9+ilb3
zSEB_HanAat>$b>dn{iL+{d!Y@X}WU@AED7kB{N?1vQ*i8G%Mjhr}bay*8??VN%C)J
z56>e-A>DoxZ`-eTmen;4HuRZb&^h#iqAL0M*ik&H{{Up)ufEmx$X^FLit3>Xnthk=
zvi{w8Re98{0{I+5LqC-j(G_WVNp-|j6<;d8K1=%l08Y6}wr7DHmR}?VLJ?>=BZKze
zl5C6r0H0niw|oVmO^3XJ$)fN`sk$cH`SY?a=)XO4Q+`P{!(E=^Va2gesZ(z|FZynq
z`2L-GgH_zcdz(ud${`UnYSC<l0-Gs@{E-n8<x_3HexuaWHx5%TJtznnRaQ1c5pR9b
z2gi-kHcvaM^<ea1dK+X?oB(N6O;OJt6Yu3V^XFt<y|T@0@JWrb+o$@s5!;b%vTwip
z`RkyS#pY}@hg#z?TNenBfu@yJ5S4$+x_oc{0Ixu`If}!a)D|K<aSX+)3dydSI|Fmz
zh9<sI5S0Z-<7Glc`ReZKG&{3$B=;pp7dLC%go6CCMcor*UkkqbF54IO+pjfLELy!A
zAr@rDkP+2`Q+*4(JFe=x@8J~}!uk09x*z}-TqRverHbeHwPS;bJ+)GGcSPIIpOs&>
z{(pX}W9kexte&fQjsE~;^t|J7)QL-eJb!KXUMcrgPrp_~PFGj216MmKu%m>igYmlj
zD*gTwe;p1&qf2(uBnYw0Bu@8bB10-k=gOx8R9)2(b}hFZx7inNy3hzUK<a~K?DCoR
zc{#(zneMjKlxk!-klbwmNKsY6HSnK1DEUR%JSX1fbz~~>a$7Dqq#N@lwiR8|WF7YS
z^Y&jW*Q;`3P#t4V_R&pH4lyDSFBI8V{geGRPrp?$WY4TNDqp!~Q-+EP0@yUFTW*Ai
zo;>aPM}3!np1cJ@6JvEvFr+{)VO)hB<tE&iM$X-^P1QFw*<4-Mj>xLMe5!TwiU7AP
zvH^=DxG(re9B~9hkVuqM$oboDNS+lHIjVJaVUJecOKL^)ExxJ^tD@_>qKYq#{ycB8
zqHL?bpQrE9BZ5sA)De|Y*ilzy2Kep!?e<OfR9}s{cz<?@84hZ$QX4h_MVBP9s4C(=
z6n>Q7byeg^w<Yqss&BF{^y(|nB`<W|R^5*wfMJMEeLL^6r_`IL6;(o2*>+!_w^C<}
zrsa%iFn!6s+V<b>_WOSua$SiCciZYs)jmA#y+XgTDp7G#srLnz!DN9nDgY*nxDh$B
zD6Y%>Q|H1bTm&yVja4~Ri$-zx0$a0z;*4l=D#ZxFNOmRN6bTSP6;%-smv5y}cIv`o
zxE7w#$8zT;X|qVJqw^hf+$X+};z~%H@-8BquF6BdRXHwv%^L?f`qPgMs`8N18|NFD
z67g-GN3&z+bTKv9c(2>aqoQCMqj46$D#fyOj<3l@$YXvu<E_h$6p6-RF(IT?;7aR?
zhI=53Vmwt56<o->K|*L0?vO@m(NeUng^cWuOBa;cB$BM{lFUxZ2%@I@2Fe`C6?phh
zl;6)odZ5r;O^1^EN$oWWmgPLawg!exi7Fxv%0Oej;kVPdZd>^3hfVa?Ag;;YxztRy
zW!pqe$!m<~K^S#IenQ$PplqaGOLZXtUzF&Y+G8(U$91}w9BGRHXiyD8J4lF%E+;LK
z!yVJYBCpTi<Bg0mUhU|-=Q>F0;Yy+G9cXOqn;L;8U5w&2E)*#W2u^cH5S}K*5e!k!
zBg^EC7j#{al3)0$^pP@Sp(R*QVp9j)kf?}=hN;CwRTX~Xh^mO57tdY>OZ19Z{eC=d
zB<bYbnQ^Lx&cUGf3AaPIgglW{MALEKVpa3io90kSB+e$|5|S%QB1qsOmdGe8za(Ej
zW%5eCKK*lpjaQh$*3neM!KwzrP16iLEytC%-Ea-(P>~1eEsVG(%k>u?Usmdfo3C9U
zS44Z?w`(D(O+!!5X&d5P(0MN=!8q{Sat9N2U%twl^>c~$=Qt6Zk=lL8#7v{CYz`*t
z<UFCGC*S-0A}V#_z97(8y9w4Q*eUIZvg|gHK=$8uh`wATP1QW^sJm>NbiD302*Vlx
zbr3$OWw|f%4a6NdS<r3kCnPwIx-FxR2#~m>h<m34Y>RLFTz)+5)EzI@ypGo%pLeJ(
zS5_<;YZ_y&sKxgqx+?^Yua#A8Q^(y0bn)Y<S;d1m%|+#_&yz%h6i@}SQ%O<Jh@T?*
z3`wLOUQ>b&%A1mOy$otTM-}GfY2-wgVA)2nj^ho#9Gq?9L?%$&4hpNyRS@`sDG?{z
ztD$61f`ng=>pE#<j&NG<B;lPNRpwCLtSF5*+?ZPnt04o5i*63<x_l_ON#lM)x}xqo
zbg{}b+YQKc@{UR{%#Xouqd!w|0$42gO(7!^UjTFzRlT^2jF>1B1V~7pILFf*{{UJl
zsc*5o_FYxBRRZkBH5M?a%z6lKGEYK|MCqflTu?@g+*CpQ#NvdAtI|qk&TALcYntPf
z(A3;Sk5wWx@u(>dRYynMXvrG~wpQe9j*F7q5NO5bgn1w??Sl^^$qh87oamE@#6$ot
z8tR<5&VuHeZHiLR#n0g1zgIoyWHZ}hG&FTLCL0ET584Qdswpz4J;QLs5D7&GbKQT{
zdaXaQ!m(GC{DwoJ3clWs5Tk4$zuP8Xl{HZe+C(uo08rEN-4WZDOiTw`aa^Mkkz*qz
zhYDCpZHMBx=Xj#I+G~q$6Kyu4Xb!ZBso+rfFCM8YwJ!vwit0kRW;2r{N^!_AB!Wnq
zh^mLdu~cz`AQuaE&&Lu~MMc}9V;*bTHl!eVj)27K0*iEW)RiQvP@>h_X6tRFT}!R3
zDN~4+Sf}PRpO_)_n<$6GQB%QiQXZ^v4C+=jn8VTd6?QgDB#KAlRuWuBoMF!4q6#$H
zBA6)gR*QiED3Yr0vacvTJL6OHNRn_18VFe9SLr@QY|3$QUGB0?zQO~7iVhI36nV8(
z`U`!_eXJ}s$JDiUWbFK7N||!3l!Rv#7ZxK7DI$xms5!YF;z{8+q7ZT<Bwdvx5V^;*
z8jZ~;Q{u$R#x%{ftSeBKx{l68ruhBtl4ly!j$P4QNt;`f*&in1(@B=DGQdZW+O*`9
zY`X}n-c7(w5P58t^p@8drkXv6;25)ZO61mFv9yg$5+y`egw?cdhg|}26|__mKcowg
zaU@R@^F3?P>vtwd*7s*pO|Y;Q-*yE{;M_845TiN{nG&#nQt!)yWw|OUro=*(8n2z<
zwnrC89khuPD<Nu%&6up%#uGz-c8y(d3>$4g$kiTkQBPwQzfs)A&Da5!j@J5BX3FTq
z)h??~4QQDa`F<s#*u)APj*ahi6{yDWp%VTX+*Kt9ogzUYM@0U=0xF}qAfhVRXEqmF
z@O8}TB&ad}01UQnCB)lDWFy~NHt{mq$91<F4qyV}3jIP!$H1yBYz=AEJKYeb&aw>|
zESlQPpRSgyLI^;lPa|#0IK*-ZnBBDQ7bSH?5fjfaPP$#{dDf6b$JkSgJ=OkgIb4c6
z2&jnrWCYNfp(*zpc!2g@#Dx`CjG>Y_`Lg$~den2b!m!C38A9&irqn#I@|L+quIXKF
zqD<0nQ+W=a<B;bRhG%4q5%(cYnZdT>%ZFscj74qb0Tgjvafu4jHcgKEqc)C)9-l+7
z#Ik1M(M_d#IlNW$or?L<%}AM<5x`E|aWO{(g~dZ;#D};|peZ3W3nkOaypB$S>Xuzs
zMW;{WChiHYHkpJ5g%ODWVN<-qA+y-f&EavxK@uj(q#q+=r`V^d{{ThV09MnH>Nc0k
zm}e6Th~P1CjleeB?uBugqcT8`k*#8`%FrRjbHO%Dd`BoOajy<M!P}ThWTK}tM~@Ci
zkBTI<&hTwL)!TZ^{+SMSZZ9&%iN`UQ0kdU*LqU;a7o2w+G1$?k9BoX*c5QY}mU(6;
znQ9z4!KgSKo2eHsi<xC@y_Jk=SuHkwu$K?G=O`f@9Z0S=G1fze$K0^sf;dbaO4SV_
z&!lD<HjnBZeUpCjjk2%DtZU@VH=S{(82<nPDG;GdCmKdkB!V(XqU!TdR{9jL)2UM{
z!n*#|+j&v4G!VLu$R(2&(q!_J9jOFPHD4uo54jdeMb#IH#+yW5sDuh<@awCoC#ZH&
zf4$OPx6%y_WNTa>B^9M|qQ=eGm)UMK(-MYL;;uA}PJrMlu$<j-IXS?{cP0^BQ3gJj
z=+2#DFrq`!)~cY+i7F&ZjEymPqcT&nL?lUS8}G?&wvUGgRnl25wl5-&Cs7nhnZvVN
zn@U_06QGSYmJ16OOqqbvxYQyi4Wr!JR~4cmUJ-=|KwD({%^?QY6;%<~pC=2W?8Lo+
zR;*T8Ggiz<G22&m8w6QI`Wb?5$swu{aY)0!Rb5-;na__cdg4@3#@4>H`Sw>h+~=`Z
zAFjutWbsNB*ZApj<v8TW5<wY+mq|@KC}5<j=(sXS8v%6Jn(jkKk4tDCg9WD|Q7rLx
zYmuWQc(VWzNW1b4)<IXFGhXwPiBtT(c=R8XX_cB*#ghjuzipcHl*F5PHm^sFZ@OaS
znWW5fV}YTgjymeT2-{%TwknDOsvlP#s<2w>tZJ)7b>cQcZ^$CZW??VJv7F3C_idtf
zM1__yV>qe#icbTigRqKyT}0d~@p85{YE_@eW*LRg(0C$U3iV5)diR^%=C?V0ds6LE
zV^no@nbQ^wUE?tew;^C74aX8TUjuoyHod^O*&-<lZPSi?np-TTiu{tmU2{66JX*@Y
zOdpM7ZwwM$WU}DefH>?vE{mjqD2O7P@lCJ~r#w?qZuQ3))-0})G+G=!U$CiqqOLkf
zg;w)v-k98Y?F>dvJDU@N2;0QSs)!MZ5w<hEVzR54n5GGz<M`=HvWDI}5>0454yJou
z*(^wD#UNFNE-wa;lI+Cq2uRX^XixOQ*>baBE6c;>MGw?iSyyg)ufk@_*FmGpnA5rR
z@uS2{#?Hzt%L};?+K~!kw(Q_mmMIYc%ze{ulC&fMs;1b9FIN?hW7vL62ELOJq?c0W
zZgHIoW|@>O#ju9|0OBqKq)oCa+@^U*BUcDo;zo#W3L=j>r^NNgDPrdq$AY69yt12H
zl?>Kgj}8jA3PQ@RCxzyL=9S5(+9h!#J+P5DyY~7O(CR7HIzwZI>ICQV*fVFd8qPK`
zT`Ay%5dn~WWE3Dkksaru3yLks;(qDA=<zoQOySrf1X|YxEMgv9YjIl?^?Mo%rF%?d
zS=L#}y~e{AzW)FfDXEU%RT}#TST;jwl3P}z89d>N67WPqH33z94tEDV*J?|gwtKAN
zcl6%=RTK(>h}39zF^)X-HwS}@#&;ujKIo`Xn>O4M-L&tJ4c(S2Nkf$1-9K58$87BL
z9IGs?t7W;M-(kt)6O7gFNQl!tu{PR9+=h}j?jwpM4!w_LISW|^aWcGbBfys3I>n1=
zCPVI%jU2l6*pll-CC|)P+XZNkvo~<uM|2pnG0v`pQ_rt3icHRHLv2G;J&)YvxUZ-!
zK#!<K<&~~O1_ZDQ$)MvdWVJr!eTk!u7x;+*5c_QTAzs>{k-5ltYsQ?_YVMj>>Hbxb
z1w=;KmUPy#j4A=L6n<P+)Kx?Vy~t8qYq;0auE#(y7YG3kCt~j6O#3X?{{WRKm4;?U
zn}2Nm(?@q5`0|>KF(a_R$9scFED>(!Ck3D-F(6R<#!jeH&{ySk)J<bp<m-OxQ)^v;
z4s))(F}dxu(|{e=Y3vHgvscsvrB^UyLffchW^T?#y|y+SZW6>r&2wBhuR3+7`7IVT
z9~Q=Pdi%JH1Io4wh1j-?OOGKRk2BtTc9o}qUz*cBr-)6b`2y}-QpYIL=o*!%)>k<r
z(-_Db#-rFy#{103oZD>@KKtt(&h*#R<9=E;;P(jS87qc}*DE}#rv$)eHI>P;%ClS9
z^`#Q@Y}Mw~*ow=3`G%vbgo`2OqdPQDnk0Y7R3uUaDyu9r1kY;gFR*-t15otOB(2OU
zb9Wh55$b3w?wFGMZHhlFsa59eB{kUwM|q{$8{&ZcL)!f9CZ~E*z9^%CuN|AT8t+98
z7M{^*Oa=~CmRQ--YK{CVTy*QKLOEH<oeAfib`#PZB6>Tl0(}aNpc)7Kw+zv0tC&q%
z&n&A$PGe<t^?3m~8uKB@EM^N+USrxDud)tAfz6N_$6ktPs4Tm)X~_vv@{cFQX!Lc>
zb*a;6SnGBfwZoci7!87w@*Cv)vSfDDkywuVl0;+g;ojPD;vQ6)uBzMQ)R3_Hn1Kom
zMmtaYB<;B?lPt8L@`~)>abz|^MPD9Od~IGI4~fN>IsO%?)N9t2s+xR89|{0y>t%hb
zI{yGig*5(}dVa#`X)RrG7`V!)v1k#d+!C~g@pA@M@OdPwz>guSlOia)mgc#jT&>Bu
zyH{@xTP#Qh-)04a2Ox;Ns5H`-CmiFy&>~Cvc_JYu?6TABi19mpTxR4eE3vr@$8K^;
zM&v(gY9uh&6)<pJXcxNjpsKbi8zT1+P~Qjj7wXe6sfy(70EMen6y)?y{kETttf6?m
zqUT`HqwP4G2h^^DAb<j|!F8(`ZVn<a;iiYYNu~Tvz0?oQil6@Eis?aAwG9l@I5HB#
z^H|t{1-a(clpL2&?cvUZO-K#d36RQMCmbN|wp*u#PXZ>Jb*H^5=w>M+7K52;1Uzcm
zn!Zb1vNjy7Nbsf${kE8n^oW5ei0&hZ&lg`ekU-Hy(Zoa+z&%1r)I4U>1+>z8ohZM9
zTfLK2YmrimaScrpaK)PzWLBc7uH<dB>NKK8>VT>$IQ=bY?XFL!lvAeVuyaNyIVyZv
z80~o3MYd(oAqSpyxvoSfT9DEjBzMppMdS^}E=ZVI+-$F5YsvOD<wdcD!L_dr09%nC
zDLE?7)Ki&eSFCwIsvI*D!^a|%7aZ3-jkA?u_;L~oz{cU5Xn=$D3A+|MYEFWuaYRvi
zy3^YncQctay#tGyTFI<^s;QYiqhG7pd+oT&%UP_%nA?F_Ug|ic4#owN`;GvivLuFz
zJto1llT|%nYL1WUu8mw|;7}}as;nlp^sx%6^c4r>MU^sVD9#B86D_tzt(oo35LbOY
zj#s&-8C!aNg04N5YkRfTk+PYSElttI>($=Ob9iMLjJqIhRm6&>*by{DegzR%i)$h`
z7oaqt15N3BZfXT|37B^}Mp)Xk)~Cw0@}+o{aWac5gI8Z^s*~qZ+Q{0*4Lh*?lTu_7
zHZHL1OCjeT1#OUZM9`gWR2?_kaCjgNMU3dKbC^!eqeP{&ugUHmwKkws#*vWRPpu}+
z_9H(b=2;kQh^ER4*}CAm>U)G0=*oVV;2M1iaz(1LdAkeP=WCW!KsBF`+6#@JDD5FR
z`d$T*A=u&#zTqg2!d#uL&a&*$nQ5u8%Et2R8J^eT(Z>^IWulA!0FtiBj*?ib?ROQ!
zRWL9>6gGiNWK3`F)u#TPbzr*oUW8k&sqTj~t5qy@N>!CMpJ?SpJ#Ad`W^*HA&@liF
z9+cs<>k<3!BjBnFH@Kj#yiJIKiK<fE;<(Lv!qW_o8*e(Kwv#4Zeph<3EW#_2oO!4&
zw;C&sIWjvct}!Xs_Eu2U)ImoC6^)T&T8~+XSX$!M>yDl{;#hVal`f{K`hU$QoR>Tt
zJ5o?iP7{th8Kf=1TXT}C)i&*JzKpD1zBWb%Z43Uv%0Y^;-f$Jj?zC@7@3{>X6;Z-q
zSR+AK2}!-WYb2>BLGR=E*$dcgH&hs2px!?z{WhP7URTgTe2K{LC)>!heVB&ZMr}(p
z6_`*Q;u7H!K3$?08z)djp1#&p>7*Sk$M7eLx@@Vmjm&n6szt56JJY$5x$TlOXDuSO
zW<(;(jgOzCwg3?xlaW^HwY(g|QKhq3<aLew+z<xA=vGo-JuO(98a!le>f2U{xlyFD
zZ1zo~6kgzqd`a-FOrgpzUzuY;ds$^Qo^MlB<}%t;Lo!y?Tw*aP{Bcn3{W~Hi$cfVc
zbDCX4<@-x>n;8HfRKW~h%Bq?sO)Cz}2wnktLPEUGYZ+~KMA;J3<}+w1w<JyWL`3T=
zUFMb=*_u}b?GD4m=jF;smJ%k~-M+3yea4I=6v?s;#!#CSP*H7pkqECHjJ1XprgYZO
z5$xAOYT2q`pU9m*4T<k#ykv-uEbA#R8=I=}5D4h1M2f4jDk`<@G{y8&A&-Y<ksiH?
zmrOQXomY<>OGl!D87pz)LWj5)(um+Y!M6>+q?d{(LG-@Gj&^I2rO)Pw{-Eh(V{+IX
zbU@l#IF<!#U#I!?3((>@B4JQMZq>$WV!Es<nLP?Rlv?KA;)c`B_nSmzw%pj2Oo=hp
z>h$kAZ&9su#*v(nyC;GyYh(y-t$VJgxifH(T{Ufhc~u1jTqQ+SB~|FQp99i)kfK}C
zw~AyFGH6doq^40AXOPDh&<mV7BG(xN1Y^afL`_>gw^a_m7M)ns3{2+IeZ7@EMnpj6
z3{2`u$ESE6M}CEz;u)9^)G*vu*N7-5b+Zyn{{WE<>0nengo1$VnsWlSqZ<dOU(r8S
z%CsXAX|pM|qpOYf8F19eUK12SY|FU4&In86toiCM)7i<L4<g01^)flKXUO-|vn(Y(
z>;01N1m;MbSux}^BCPXi=9$~+MQIT>Y|-ik9rOy>bu^(UAn<f+g}CwMM~v%^woV`+
zIT*x951UOoTo6Q*c_J!^>UAcW>OCBLYIc(U03wqO%N}$jKZ-XEw0t{?h6qkZCf{+A
zM~h=sQ2--Nkr;AgcqLJYaC;3B%3a;nMFl=VgJaN{YCD9DBR0{Uc4&KaBXpKl%|>|D
z97iR8%wfcE1x$>Ia<8dY>GHha1IGoI8Og8inv(`B`qy8shH?m8h4^fBLpf7qp{SI}
zAgu$SPw`hk1YbJCa(I`hnkt-D>esRu+ZGlUbV&ENBTDsc=+^EN4asr04iY&YF6^t_
z!E<%(lV=-La;VuRZG%F*$8T7&JvNV%<qy)7bBk9A=VUbVY<Iz;t|IpAdzq0%)nS7&
zZMKmdaBFnTEiEHa_R(_>43Ws!gK_Q6X75%%$r;b8IxQ%tzr4pC)J;y4GWQ^>n9SFj
ziw(t-GJF|m+bH=OMrZ+4oIy6t73UQRdeu5zuU@9}O?Qo!)@$afW-eQ^2Fme_M-2+-
z)eHkpD^1LDcoay@Hrs}-lWlP%aEKftR9>=`jb@R|X4RX@24FE&jJFb&njUViBr`_Y
zeBncLfvdq4_n9zqFoSP5J>KDyf2-wRs69fgokOP{pt5Ybb|;P;h9zQQkgQ^W!M)ve
zw$Q=AR75}|Y0z*H2agors+)my%yaBW6crm&ZR=a=66VFWGR6vx&oWQNE#$wWIVN!;
zlH_cvt+B{7I3<)x*G&dNIf$k**=!&;7Cd4p7EKu<lV;063M><RcifSCt+Y1M^#C+)
z5pI_fOs_>VKW6MXr5T7ku50X>h7L;<5i&n^U6t9wUf`;dBC0|4TQ<5LpWr&Ax*1QM
z*Wb!S)9QH-Sx#<45+Jtb@rpYwlg+m9Hl)~g#L?0NY)k7yJrBq=zff_y+;h|&4lRmC
zr^w{l;wvjEh|S=evB(O(CO;Z9l~*{6sxFglNkQer#JLjUIvlYHL9O@VIbOYRD#)g!
zrG#zPx_B$>7HQJ!mQ$ybaeBybS;#*WqP&NXlT-UPF1Fm}L8o3g=sxZ{k8H<mRzpI)
zvsEM@Oxeg9*_Jz=YI7xdSvwb`zrVAusgW{NMU@*MiDNz;WTs8D0FGat%Uz)+!AN_K
zH^hpyM<%S(dYr21i;Ij(WLz#3nRD2!8(Q%Q*S*B-gG?yMZ5eeAYAUOU%%mNF$CpWs
zL$vh(&J6=ivHt*0l$t|tUN2Cr<}>+l-k*!jkWR&`jUbTXPJ+{pDVnR@*zJpMD2O<G
zydn>ix&Y8rk>E`=^r|Mv=CGHV(x!lY)`8M#`AxP%I|QMHVLsLks}-@PV|jGRu#T=B
zePX!mW?7IfIVD?g$y);l1c1-92f$D5b9wHgSPoNLgSTRrc?)Z8ZC6btiSgrvxlFez
zIkb^RU854wp76SW^Nh%Fgj9R1iheG-YZZ=zCM)W@O|=4o;o0$9uGI>7qQjNZ8CC)K
zvYLkDG7eG*G9qB4j*lWDL}hv^&onQ)r?{>?o>*Nwgqhh(oOU@S^`y~#*Gt;olaO5Y
zuv>4q)U|NX7rfyLtE!}85@Ew!D^3;_()Pakbydd8QSYyZFCMI><=JkT;F)V$d#TwC
zjV56;B82WGXC`_pRyer}P@R=yC6`(zgm@B3VZdSVl^QdKX07*D&neU#%Tjex!_vQ}
zO>fU`F(xpt!m_NZO)y9~L>o&Kand;Ly+6F%2`1TzNs#%-ZP0C`2NBiqyu$QalQe!#
zhhDc$Hz1<Q*p}^9Ls=-9c%NY#l{U$jB?^=`mB?=QVYo}iIw5yCnHvc-TU@oaI8x5f
zq-2wS5o}(=bhOhSsesFFIMmALV?;M1xI!qzpK&zEIfJoL3zo>dL@`Ha9W~*4To2f%
z9TRZVJ;b@A!|~7217h~tVd;ufwc3ZMx`Ui#{{V!v-R_^@_L4GbD>bIk*AB-cmfsld
z9^4scxSg<bv(IHE=(;>jVAh#Xo658*PCYrR6t%6ZyS1BLO;Y(FA9giWT<2_WtdXK#
za-VsI5X6yHv_;<Tw++yZ1igPqalJjP%ry?pCb$0p26S?rgO0>E1W4lAJ`x*V07!gI
z_XPo&9i?f&0P6E1uhlv`7&zyv42v3(ndLl*uTC06K{{y8uJQS{(il{iC>tG@w&Al3
z&{TMss_dy=#(*Q%o9j+MZOq%5O^uFt%>Fn1o;-#5RSIJIWdi=L(r%Jq@=@pzq?=h6
zz5y!@#9AnB$&6i-WXF)cY^&}9DmIejI)v9#H3tN|n`Dh(_^uS)t$Sk9P-IoHhD3Em
zCq{aVXI5N!fY;L48_k)rgd4U>peOfjWfpk-yd|xos&0;JFr?E&zmpa%S%|hKbN>Jf
zkkBxw*{CxTIJoJOAT)*~t|yG{-KsoDu;|{~9LFJ2wJK!0_d=ncXky^ECSy`#t8m6a
zqk<7got49J2AM@7UdM@fkOD#Lic{cbLTExxSyt)o#if1)hE1?>*pQtmsO!Mn%?A-5
zZ1Fhza8(pVRk#izI3}v-i>ivNV1ok;{C5OzJaW?Zs~3L4Da*l~x18A;Hm(fBYFuVa
zIPnfB4K%B_&`u`n?o#G7c*{2#HTyDV*EEx6!pvi(G+DyLw*LUdlzEL0wrLtx+HD$T
zlzfE6wN7e%T^c`<R?NWNxOM*k#~m9A>`tDw_E6Np&fKDMvT~I~!vJwcWQQI^K_hTf
zTTn{ol<G~o<@iy;!J3r1sI0AjR52`-&27eGO~0<Za;nD_jgPG>vRRG{qDGTe#FK60
zUvMU`G_EUcn{IcB1i)%-G_xngr!%KDGwF*Ku8a;XJW8l@9BkBpn{ip~w>{(pYzy8r
z#Dx+S=F^Gwq2%lmn-a5+jOIFtm5XtuM~jNFZARVn=<*nft-IPV7M+|5!@L|8l-+T@
zMuotT1KvLmCCv&%YK-d?w1hJ~v|FrJ?Q9@Pb%Avy*T-@6Ni`Bk8se@=<gr{flq8no
zh^I{G`;Fg~hk~F(m=}HZ@k$(rF3)hwJ83wE9hgyBKVf4QBjar5KkX5M6_Irj8g2Hi
zU@_bWWOmyZN+YWO0Aq?0k10AirY+ijJ*l~@J}#ttJBf9y!zWqE7>T@#MjVY?+<1<I
zf&$fpE+|Mu1ns<Bi>G!;5{kBp8+jzic}$9UEJT-QkmTbgTtx?5AW6G}#!R+P>}$n`
zCKHO|qSzt<Lt<a^L^^bD1FnqjJWs}QxowKFGps1>$J{~(o{Pl=R0-f=vDpNhB>g_^
zoo6^(O{>?U;f;W0Y5D8rNeWDU%Lc5El3rY$a}rKw*ruJpx?%U<Qhn(USHOtdhEBV?
zk31w|t{Uzk%ju+%jNo+oiA$AePO)fw3kw$!xfM`fwZZRZH?bkM+t18*viWXd$F!VF
z^&*b@Gb_D0;Mvr8+2tOa8r;N!t;NWmq^!tZV|4Q0zsKaqn4#xw$W>7{UANgffp2xI
zx@$`PYnbkDBOZw)N#p!soX#Ac0*d<$!n%q!0O!@ZGOhw3hldorENz&VQHJ-n*YLS2
z!w_Kq0HC+Oy%45J6I3+A2a|s{MBc=Oi$@G?p2(`LsO(;F3)`}D8f0ZWWJTL2mA>m`
zviHz@p?;CZ#pog0(_pe8$+Sk}21@Mz0HQrJuOgbb`nsVSY{KQl3>8uK+i4tofRA&A
z8=qO_nT!+A{DVX$x+bA@ie1o6!fyl!w%wo!B*caAT!>JVRXi^Hr$qU_2VnKnSj6mq
zDvYl>=&mJojUZOpL~y{}81tAXT30qj=HR>zxY8h#E})`y!y#)!9b@P4Z}7Y#?-z@Y
zFSV5&WsQ_;hw)q%=H9`#h4H+|YiMOnN9+y7aI8_5QKC5K+$P<49&2+I80bRTBGFsV
z(`+*0MTWXyYf|h;=NdM)X?^R?+SIqYk-K7?8hMS=V?&bLh$Hm4PA|zktZF_ll(YQL
z3COdZHzU-?r(u}SDn?Wo<VvDS<D%El*a3r1HrNTaj~5Pzqh-^W$U^h^{sRxreIQL7
zww0M|z9Yp-8>mVyGHc;Qw&Wp($iCC(em(7J&G(`92j1M5qYgdY{e6E|RQdE=?shv{
zlWHkcYQ7f&54(Y=7{jt_@^;xSLPr?uc?5?=mr?Ei04=gqB`yT1x2TygM#N)eIX0$F
z%BT(CfZn7tj<xu`D~&HCjgVHn1ccb~*xyEzx7}0V(jReZ{{Z1;q0{8^H3QQmi1f3a
zZJBv)lbq&fQcsrTp&@WxKGe7_t13h;q;W6Mi@J)5cf=NUPh}_6pQYT`VO>^0DEa0O
zdQ#o(n{kv_Xqain!BtR17D6^#fP%OB4W;E6Sz~X%1H+LO98m(`>x=cL5yTo5Da?B)
zgK=Gk<(f?kHew_ndqI$5bEMZ!iX>k_#**QCbz#QDHtZK@h&CqK-*x?U7Z272OPqqf
z!!egz1sXX`!dkrkg{9d^l57Wsh&F}ESS2D|)le70tom!(=5Z!<w?Q$RX_$+%U73?<
z%WUzp#wI9<Nh;<|KOyntruBIzY2j5Sc$pxbHljz8HIc1sG~%Zz!6nnI>|0SV`?F@+
zsyk|gO}w&|4b&A;;=w79ryxZ|52wt|=Z5G;{11hG2(LBS16aa!965S?gH0@lwF64B
z+(LpK&LP;!aI`ZvZn2ms)6pLx-Pb2TMC1$f>`u4MM`RKJ6x|i08csv0*z9L8`iU4T
z5dQ!d%4SVoZQjaglq>6+0Now|-CuOcJ75dL$vV9q;@X{>>CN%Zthqk<NE4kNVJnSF
zA=yz~MP1Cd@`t}9RNV{j(Z)YVrCy*$U-Il0u<XWIlY<Ef7QV^PvZx565h|+kA>#6U
zs=9-+Z0DK*{{TT&{{ZqDj}iA-4Qw--$7gUqWA;m!LpHeq*m5MZS1M(j)}Hnu7rBs6
zMt_@6BK<9jo5ivH&wwHWeO3B${AM<gW!Z)7u{#XsQ67FoV2#)qOhk^`Y(nCqgj^BC
zaa<){ec@Etc22Ex++Qh(#fFh&&6O>Ky^^$o?0_YT!>hr`O%f*;#ac%}vme$<h@vWl
ziGO*Mw|!;~H&_useukO?`go%3E5mJ(Py`3Z$^vyoL*fCq1lGPEzl4w-8_sJHZ(hCB
zEOrwP#+7^n!bJO*NgWqWd9fd68TwbkeL(NW&+pW@tVE-(k6#J59c6$<+u$3SDwgC*
zpVWwzSNgACA_Pcm1a_4hZ50KvQdQgM;Z=WiRsR59q@o~sAzvPTf2Yqv>*~7D08-$x
z;kqT-RZl#~2{sSgb>Hv5kDtF%#FK6aiQ#?~KkL*MBs<5FD5)wY`;Su_L=-|_oxgv-
zN=+Ir;HkIYZyW8@xP<6Sj^j-sn{R=(E9Z4WMNjqL{=0P@qTEE6Z;kg}x-@Pht)Oz>
zbWtCL-537=J^EcU3MPsrcAsMPleM=d&Tw5z$7}HS?p?^SmqrwM5y{ITVpNEv5|O|c
zTA31bx7qEq>kdjH0@%n2wU|=gXCsf`asawOMZe}U)R{o`Lv=OSO}ODS$LBVL(unTa
zx=_Q1B?1K5P<-`UfxyC3Oj?_xwUOhuV_@w07pqvscep2{ld@lB>2Tz?Ap448+E8rF
zN04zHiEZs|pRT97$mx<p`3<`x78w5kkOd7~1yn&*Gbsi;?fzELKK(^UIsM(NJ}dWC
z16Gpl^`~A-onBoxIm@gp>~dKxKzAi5IK*Ii$c{}$i9pZYJgU%{Jj;UGY+%4g6l{?k
zQD1U#3?<s1!ZmZ#ja2!9rqgAbg;lJlW1%k+DNx6EQAvCm8a=Wq8m|3xk&M@1Ned8%
zbuvif)u~ekDLEXYMQl@vx|_1EB$qz5Gw&d(IH|*bsbk+IoI0w!o|he2kRG#Uvmsc<
z+eK2Qge^@WExXM)YRhDUu?dowlvU^(7H5YYGzhchX{NiWC2=(wSWUd3$9x`bpxrxU
z0-y+mx{{!Y5(+B#MPI)CM1P!yiKbr`$bnD{$q+=o%Dz4~`Tm`JBrzgKH$oNJMMq^t
zPaS?n+#&9RWJrtTgm>Gk7}mEyq%JNuDyD}adddQg#c{%$71fJt9Ek{H%pLi%rQua}
zPGVak5D*f0B<d?O#@9IrChGIAg(5;g2L(;W(A#NWHkV=`LnRSW-^zLUMCx8cgVtKa
zu*)m!N(JCntZ3OSb#TaafK~7h$087!9eI}^b8-|_ARtuVs;cRBa5A_!hFOx;*IK_0
zYDRu6<($NkGZJJ7-DRg^{#rKR39oH8;JnvoI&NlE(F2<CN}~!J`pk~1(jF~z;>v>4
zVPcI_xFZ%K?Ee65^fM!MR1lOLR1V(zfhQ79l{OB$imbZb7_5AA3v6mq)z7^bP8l^F
zT1d^fW{rrltvV{LxF{;=x?lZtRY@wcu*N8It0!@3xi8}hIpUKZCw2^}(S;jswZP@v
zR?$(lR1{X-Ra692+=*qSDUeLI$>dtsJ~;&gPh8q%5MextXJ}x7Y{P9v`rcuXafX!|
z;;QRvs;k=-PeT}PXPpPS<dS9$XxHPCo9UL@8=jA7%`D}OXcUzh6|u0ycU8N|eb-o4
zoK-+;i8Szgc9Bs+Ss<>$yI$q_#zB-<yNn3HlJ(TFj|5}RVZP;WWXaR*I9z1LYFlo!
z<4%g3fiX8ERBd{tJTob>)kif^X<evEv)i$ZC)$+cRQ5pIJ=qGTWKGFN9PEh@G>Yg6
zFC!)Urr72isT$Vw{El^0I?IeGtz#P!TnC?lDdAve!6#4^6=d=b2i-+R8!{1766%Mx
zFieiN{%H(z-9|UV$y{dn);#y7*5+aL&BKXlCaMG0?bS0KC&e^vn9xzC<i97|GED<c
zE2Nyw9U(<ti8Kz5v2tnm^|;(<){SaB<Z;H^R~vFGY&O?r8gUT9BSzC?D4UNV1Nl@`
z7WF+7B!5k3V=~-ge2F<V6VvN!CHD=hcBeBQdrbp-00OSgssbt@ykdrkiaj1_y*lG;
z*yQ#$ecKxgi)Z0F+e`V4yz;h$PN|u?q6mUK(Y?5$aZ~^$oB{kg@h9!7c(3yHumizc
zJtW_F<UHXxZW5UpuIgK=s;d6#yQ=l`xP+WTWahp+{I5dVk*T%1Uk<+CAcW)9(yT%)
zgr*)2>=AKL8j!4(%Ht^M063^ft)qfUiio>K$n`wyX{qxJQkZY4=35MFHEh+DWrC0~
zy}~$qH^d$x+(}Vf1x0OF!mn8yi$xb*AkB0`S)O7yvg21%Uo|c1Z%JqZFcGV39Ee_5
zc2CI>Fjm!1Wag+Tx~g?>1_I#o@}GadON|$%o;KH+Rh;;%VJ^^_mF*cbIZQMl4I9pz
zV2bI9Hm(a|h$_PfN=MClBgJoR(?7V=%(Eh+JD4=>+rg@>tCZBK6wk|XhNrpSRcsL*
zZOG&e^W4N-<RajYT$QZ`#d<R5iqRkFeHJcxvc~rc^>!MvvYW{grE)iKC!w?et?jpI
zh^naCCxkaX%AA!As(Hk0>Vo3ZvHU(n8vC=p!zt?W35?xkcQumvN{%k41dhvcSqNvc
z7!pl*Q+F4p<jjKq01d&cX|(>zw!+gQnC+dtExV`Q_D!;p*$BwlG>tT-+H)f0tFa;%
zB@`Uu)<uqLWSv9OoF=B$qTfz5^1ZLb<Io+bWKZ4NNwAXZRI$}UQ)4B8cpPp(yy^&-
za7YMBAs$y3n%w(te92aalF-)dE9>|P^XaEv^z+qTF=ebUvfDd5io3&wZq6@w>^hfO
zQTLU*x6GSurHcH1B&e^0qVg&#itOUCudQynAYEhBZdC-KmjWWfXyXIQYVUOr*N3?7
zsS=TMB_!v+Ew=t(OZ7Ep=>GuLt(IM(SynW-?51qt+~F+OwE~tcoHzzi7<A>l+ml{x
z=}v5nH^MNQile5_TmJw`{ZZharLl;arU#i578X@)PHz*GK?>%*9c&cU_V*-Uz+Pu(
z+fVbhNT`mc>6Z&AH4X0V_*FJWF}HQ~S6aQ5VFiU<*5->dwI*1<3RFr!DHM{5KLByi
zaKmRs$2SMJ;;2dEbW-Y$wjBI+>NTxSMmDTpRYPiPj57{YNF)ubt{iCqEh)b-RJph*
z+eB?Xkwir5+H3-nk5yeUDfq97dm)(D6^KHLMk^_o)gE2^cSu{@y!l@pSBcJq4uoKB
zi1N({nr*%+L_g;w_~pLphA2NjA3L%*z+j<MNczcAqh4XGNn(Byb=3aN@Gr@+tdl0W
z$l_{_M}1?Eqb{!KO@|>x6;u`aRld5@)<dGLi9=Z1gAxo@<3ktUCk$EvK?EZuQayzc
zITEU_+pnId&d4upn?|f{4b)xvDWY;OjnjR%RPdfYJa5!7AXP*!8!yLCXm|dSoLm0@
zmE3-$MCM8LCi}0)S-<$1=>9A^5n-%&HYHz-+R?}xYuuL};KY~aM>T!~w;?po__qb_
zU~j9fr~}4D%}cEs%c!Hpv){+<zn-K-wYsNlpQ6cSQp;A{7HuFf4nGXYc%y>bySC=r
zqVP0OJ-Cu=y)HoJyE8Qim|AS@7xTy09UhWon%k4)8ks^DnsAv_Km1I7lQ4-ET?`p5
zvm&1$MjVJB!bOtwsK)7(l30^_CgX@rBVVxT88@PxMvdryShXRWUrxHd7IC!0RUurl
z5~3XWaicvBbUBPTQX{F$E)x@)M(#c@0RWK#l4LVAV+P8tn}>=`cPhaz<*j(-bW2-F
zbsBr+7GwzxF6@32YVad!t-AYl&dR8C4W`k+2zZs=jOe~I2TQeD?#gGToo}zYi=|nf
zPYE8GrB+kgkTS99C}I8?Se6n2#?1?xtTnPHZPgJjq{cRlz4>!mQJmOd=ic<+)T@t6
zS+=8Nnz0Mhm#I3-n)o`UDa@+|qR*kU^qO3zImlZ(D5xqe8!n%_C)ng((qWGV$~>Vo
zaA1C%>9IVCy1g08ZD}lNBP6?MZV5&k#~q5X7_^$Gjw^GF1jW^DQ*>#fMF$mCGlsi*
zS<n44;CSwm<rsQu)|X{;Z&_Su)VYqUG?o<bMoh`ry}}T@%jC)&wizyD{BG!yx!F-x
z*P`#@0iWhJk}h(MRE?hL3|d%`G0e99qB9vK4XL`&HC=NVjlI&k4~nFQ(73qCk%$*D
z7Q$s?4`wPj55@lg929t{;(OX$Z%tN+rqfqj&Y8n7Y9ys{U8`;zaBJi+a^7La$@j~W
zfPtb9bO})j#8(Xn)R%V#WrkI?X*i#+b^@DDNp@s7g(^!%PJU*>t~;}5u<&de*b%oA
zbY49}()@UE2r*ctslN!-J*E;fk323l39&^N73S3Y;)tjtx~lPSfo@1k(Ov#YPkg=C
zFXhZ;LAET3&5Gv~-;k;*2t3IOru!0jRoyr8ok5D8N6OMR-BE_a#K@h*?3AAUhB7k5
zZdHo=)Q(bum1Uxvj3Nmmjj0ItK9U6_6eVp*5SMgagtPwuQ8_jRkjBEW-38Qp^)20*
zb5(@cNUngpF2)4YCbC@>5!_nXRTVdJ6LmrhS0YhnHTVu!j^A1ZSg6;#ZB^Z>2b~^a
zASF*wb!E4)4)92~7ZqF|DX|mpl<I?^lR8?(bwH7p<q+|32^<FpW$<ERE5F}wD8C(6
z*XFyL2<D^9s1BmfG*y|-MSvbBBF9qf!6Uq3B1fmm7^`tyl3n)<nyytDQV{$pm~eNS
zsmzy>qZdGO3~vdH&KE@jV}Hu<Tq}E56bYw_D+WN*ZYm*~4(RD@oKeXL0;Hg;)U3gq
z+`liF;^5hf(V@X?E2PE7B&=A?^8i+(IqgtQwRKduE3SDWR6#}Cq1<ZEC8Nvjw9b2M
z!W((<g@!GiM&7TC2I<L0`8XZ-PD5}-xUCAHZm3EsWW5|@x)Q;*!6r(KKz|!2C^=sW
z#<L8JE*IfgoOfRZZGTS@XcU!vB9n^YDk|@=FYVN-O5vYkZo6`|?fXI(9sorb!?*-&
zmgJv9h&)SV-9(iTlgce#KXC%`%OS{_2=XU6HMnvl3nY#xv?@DuU)DUq!ueF({{Vg0
zsbYiyx(a^kzBcIvqb^Xa1QTBsZD(Y5)P++w8;3p<5&`LPk^@eA=7)WlR54UlO^}e2
zVnsyykv?mG45x=}F3!4DgMGyv;he`DhzZ3IcnR)}8g2C;7ZqPSZoPd6ogIiAR3u+2
z2C4r5UcO0=+{O|lm2p}5R*=yJf3DjvpWFKX0JlQc255=zF1givR3cBS_W4iWuiJ9{
zOXU~u*O$f3liQFlpCaL}g#Q3fzxV6dqL3jGZR2f`dL`ji`2<OMe}9DY*X8<CW!-#l
zvL|1VOOGXAgz?wTVkN*+>iJ(EZoIm`5+@DB7j@fo+t2%T=Ykokt9v3Y-hS!-0H<Ep
zarj^MUcV|Y&g-%-o!74~FL8hs!AA)bZI^WYzkZ#U*#;#?gUXDpw(M6clWxLo%!v^^
ze_i@Wr_Rc|?fZR`roNVyUPp$VRhwZWav&jf5mSn7<8GnGwYfvi#b1DN4s#o+2sVz6
z{&ph$je8Dzhov?#+ydB%uPAH3$|n1HU$S*BBq{SV*i|<<B(BV6KgP{X!~<bfU+K5P
zZoOM(bh@PwBtocl$1BZ20gCpK4X_`9O_P1UeZF_<=K|B)iP*e|`D90gW{C^UDsdnc
z@Sp0w7o|F8h8L13jhJVdLmCaZp`Ag<pv1)jRvTpMtFNmr%z)y8D5m?Pn<oBzZSnEH
zSDIZ9Aikwy*C@JjSx8UGSCv$o1l<r<bn?G{_2`2Z(pr2@1c+^$vI1#;i3voCCW-Kz
zQ8xbo*Q=Ox>_ic6Jbu^*!XkAfn27s4to7Yn9u{8IJ^q75&4_LyF6e-YzetMj@z>=J
z(Qdo`$-h%cP*qod9ah{~)z+|QX*ITiK2)6IyLC7v#(`S!8Y)-RY}{RiQ-A(y@3&lS
zZE11Ht18}Lw1}PsNjD|^kvas*b<VyEE-{QlDMpL3l6)d`3vYKjC6JP==M#pDxT2SY
z`1nt^S4D!6;;*vJmmeDq8FGp9y;zlcqXMYCyj}Js*;QOs@wp;=q9^%w^U_ZmIXYFC
zE}u_r@8t`rhFE2b?5KoEN{CL@nQVcvs;i73Zi&d6-*iOi<={mPk;PTzx{)sZSKQY?
z$|$Ddckqft35=^RHZGu=3i;&OCzjk5*o4!_sv`dYeRx>NMF6(z6A>hnKRb=aiu)Ki
zYj`IPV=PH^@sNgyfTn1Pv8wI$FM;#t!fn-z+e_Un%^Sv48!Rr!l;c=19iXbSan&Mi
zTTcNM&Rc@-`EDsEge2Mrr<iva4o|7n7a~fwqWra*^Jsx>6qjZu0;hp>ML4?Jeuo5=
zK9e4g?=gq$B^^9U*wSm|vaQL6ZSwA-{HOF!zW)HzsV9+*oP)4d!4u2@&FhL1V&gv3
zobk!{@ILbs+f<k`O<ekUZm5b&^smoIY|lX^YCfSqkZCri*lE5;Yi$+#xwVtrM(&<z
z@1b64kxmj72!Q2+qPX7R@IIV)I<kDow6@->1IiKkZOc*$J9(Z0QUY>VW?%mRG6Beu
z7jEldq?@Rcb^5Oq#PAJBt-t<iizdI`?v6|jBH1YN68cql6yL)B{WXsbVSO$|h~Au1
z9>VvAR-hY>72tw3BVF!&GDn!lsC_|gYARqf<5SqHeC*_(HBRfX7!pUC5L7p0M&;WU
z%-sML-5Gizgy34qr!?BjgJreyVr3DEL>oH01eFqcDVGy$k#<p4Pq&oWQGPo4>bKL(
zEpxbtnvspvT;kAUti}#;n`K!c8YK4&yvmErI=iOMv|?L$Ra8|@v3|FDZP)C(QndRs
z(4BV3YT;n?WfBZ_Ze!QJ+@O>WHlm=}Hz1#A-9slLps!&O!Y+Mw1~(ZH%HY$vr9$k^
zI5~)OOT}$nbr<wo!oNVK+RM44&ud~fs~@*pV8EgFkdyVGufn4B>mR^wG=CS6IW}b6
z=-tlhI{S(ZGAM|f4<-Bj{CxQ9-il{hw&OpC>YgI#E0F-(n&`L9$3M&@an06K?YHRp
z`1>M5)jzC^Hn%^x(5$x)$YBFawlFQ7sCGnI4{=9SnmFCh)B05$5dQ$GZyXWhF*t(`
zqk3P_S1gz;HXpVCgSCDNV=l4jZGG!f7_E#iPII<%>lqU=PDq@MM`hdotMk(r@mfoy
zlvv4~gHYouh7SQZ-XR_MBC2`ww^)-%{YdGf`F$0xAC{!@wVcy2;{`;dH_^jJ_^6vm
zsr3-2B=}WNJ1+ff8pt`Tw80A3DQ4bKIO4S$vbdXA?IQRB@%1WrP5gC7)G&?1J)o0b
zf8s~eagW3`^d5jE1`n?~i!G~oQ*{0`$j&@3IoNC4lmS)QQ5XE%qJ8}Ci_@;WN$8Ep
zNTkzlHj3Dv{uTcK&!BBV^)rQ28B?)NHZ~B5T9Vs9jf!|wR8v&@e04H5u1s7iHcN9H
zn_$`%j@yKUqAT#5r_cB3Wr|4}92u6r>##`_ZY(lpr?R`vA)(Y7v`D0ii|79UKC;fZ
zinEf)kl-gH{{WVsw~v+o0A95fb+vYBkGo?5!B+My(SN7eKd)K;09bM6EVTugV8bq>
ztJxL_<U&_S7l`m)D(30B><UHW^z4eMSJK_t$Xe}`e^+m55Oa4(rfg{f0OYqr0s4nX
z1f*DZeUS^B@l$z{MQInpq4FKR%hLk_#_93Mk?!iAp4~&F+Sgahn$@gE$w@)SVM{N}
z+vk_(9{VbB<cd89RnphE^c+@_P*Yo&xe}tf4n+L~sjSC97gD}bDMfgJ6%}GjZ;I}p
zS|YDZ%o7-!gfnAXaTH)&&6*OdVJ#ukb0rQw<;bkK;|TdGs+5RIj5<rX2$tLH%`GJZ
zuSJW8h=$ap{YG<^U|C%FSgvJT2wd;GDg=u${61i`gk&bKr)^OLNYPvo;ECl!imyky
zS6^GG4c_F9U>7=JmPvT0+bu69QsL58+kd>%<osDcsI3yCXn?3l^GD~BQ(@S}C2m&b
z+j$ZGDJJF9tF6k8J8ZXM5lqY>&rlR}9TMW?XUVfxo^cUe6#7`$U0wDV%*;+EFJ82g
ztRl6KIT`06kF;=<+m9inC1sbIQU;Ps8+S!hbW%d-aWV&<=)Yd5u&pc=ak2}@vub@B
z)w{fpQ!q50Nm}tT=3h?`h3W|MfweV|JD999P((10gvWFcxiqKdWN%IQF1h1yvF$(1
zqF>cgOIDZ~NrevDwm8cf(VJM#7jPVCjn={D)j?Z$6jO>W;I3GDmaNqG^GiXAj%9;b
z>(tg2veHdWiV5=?cOF$Sn2ttm=1=87nnU`PzS_*malBVAVlGQ_=>jUsu#{07%Cx%G
zkXGE|+DA$hzAV1bq8TDbc|Zhr{kG%USnTXHs2X2x1dn6njgDi52(8Vu_Z9R$sLEfZ
zZA!%K?yjNZR&wTAO6;xliLX=SB@|nZ+iCcec1UGBhS9moP%DUtf{rQ{-51?6X<<QQ
zS4(ewHJ3^=11_cZ7<A_;k0+Xv$JE@8AiTxIBqcIV0*bv>Vc5Q$P&&k&Ig^n>kzH7|
zS2Wg)S;t}1GHl7mnm=$d92MkEy4ig^oJA!S*&#CKIeng2O}B?*2Esioi*q-X*wUF3
z1&YjtkR&`FLstO@xUHa?fr=W3Q-WVo?R+SnOF#jrg0dtm8b|W{`&f>}mpI>LxNs5_
zP+<u>ZOde&9AR}-kriW$LTVh8K6+8>?j0*ta(me{b7WON8sedbs$w$W$aHGtw<&Df
zQ3Y&~rWte-WHi{<WJE2<{`%fHHG7Da`;HuV3NE<Y?7u2r;2qWMsHbtj6?Ifx1Q*0e
zcmDt~T()grwLuF6yrZ2@{JfR1=5H<0Y9yA;wCn=;d|d1(D^55r0y=vWswgBtwkv^C
zPb4O?Sr%q5Q7&ArS3u=>>H(wDp@F{iKI%N84j<({(W7X*6~g31J8|)~R-WSU@GP?9
zP_gIazZWC3ef)y1C7QyA1yK=Wnb(RF4a*@{5#o6mQ&epb`47||okqiGu!)$w+InNf
znt=Dar<_hXUj{R5i!vOH%g7|cG=}1nB)cGrsuCG_w#i=8{5ucFad+&jY+sXC8oq-x
zgJ|rc;*A4{)Jd&~%n&q1?KI(-IG;e6s%%lq5iJ02s*XU?Ty{&ZQh7#0r}66bClJBh
zXEn?ijQzADt~7c0@x{^~WZR+sHKt#D5><1kMa0G66YTTq&q*|f=SK0AiR|&p9D^Nz
zk7QSE(K5vzn6ml<&m(ODsK~f=2uOtq8em1FR6$1Caz49My^&%WJ!KBCGjBQ^IFqh%
zjK;;>dB@m!6d+D+M50z=k~}EXdjR&YGa<e%cR2RTGv&I4uR5)XTIfyYS#76vSSwe=
zQ1UjNZdJs{&PRGh;y)OTt2-EGZOD122wITDgEqM!eLY}wvCueDx8itta`)L6^nPLu
zX>BMt`SbQpZ&LF#_e$lkd3K}4Y@EfU%*QZW2DY5kMUc~u*hxYq?9FjV9XSeO<X_6<
z+sZ^;E%X~%C^OGm)pmKM8xV2)vDsMNy;8nN+i)kcag<HfR3ctxCa$XQ$rO`hL`08m
zr}|{xHDQrd=vHxl-k@J3=wTLku`EfzHVj^H&FN5U<xVci_7vJ8bWzhyk&#MTx2CLT
zi=%kf5s~B8)$Mz0Y$qYOk8dTAGFFvh$YHTbj3&y0X~?!f-);9@oG6Y)ItQDOMSoms
zv!`xXwq|Guvi_9oRh*fcn<q^o+rxJurpDsc+_x^oHajcHtwoF8?HVYl#A(MDlWHs7
zL=qo6Lpmz9a|?}2mo(tavd9~*#UZ-#y)vqyx1A9&<FSKs9BNaf2wy@gXg$C}MWx5F
zm_D4Ua7`SMmleKCL4?T8GW>@6z)f6|#5Jy^2i4aI#9osij9LRU0ud4V7jCTUF-z+`
zR@0pTrpl>eGlXFgZ!TM}Ltv#$eWzLC;~bR9lxw)>1SHvB*wgAnOh`q52Ec3K{(G%C
zMe9qNd;b8w%G(vm@vR)mGA%*N@ffb8KyX@y>d07<tN_i#U`fPrw2-PT18xTv)m%hv
z17vTZJshFae@2=ObE&%fljD^rv(m>bIW>nOTw@_phepu0XmcO#BE7_RL?IMJ{{T4N
zKWlrJ)FxMdTQWh#DAL`gg&h~%ImsoU7)jf<>kcGhRBZS#t^f#;Dko5{al6c`A$HF$
zqoKM;*D>rcx~zhgmfxw79xFlKZb-O&=?Y{jPB_vBCfAYz5_HEjxw&+$D}EXapkspw
zBvzkwi9K&>{{W~>Sh2;ZFS9#P!0phj8>4bWMB2}}xr~KiI17z|utOM^b~&nfE>0GN
zzS4SMP})OG>e+;Ow0N6mT>YJ^vYV`p+(!Eorjvv&8K@J6irO1WXf5(=Q5BP8l26k+
zk9&Ej(5k3hVdyb2Dr$el9k!H4zT#Yx=7{TjoJH;@5&}RJR8?M8>^F|<&LNMvm$>V&
z?Ee77*H%W(jk%W2v)pOO?Zs`Q77>+Tk-<_OiM38k$C}qr%%!cM2VOsKvQvqWWhco3
zV)`Sa_qhA@&T7Lphm1gZ`};Jcc0E)^-XR`l;W`HRgN>gM5)w5&ORxc_T9u7Hp}xZ>
z$<mzm#bVb}ei3O)Sj#=O4I%-f@f&N9f{?h&fQ^v?p&|nBzgfpG)10R!(14Gl)OB?=
zS8Xw3_A89CuM4cBqyr{Q-fC{X;u}OwFEkWyiW-s-^jW6(#=GG7p<?vRJi*w_jJ1`{
zu$|aU@s5%lF5(KbMB8s72@<E30|X^R=rIj^%?}T~bUl0p=pM-2SX)s|LX)fXx4Dh8
z6q48&HddN;<VidSX4;Svxp_vFP=#AFBvtX_bmF^gU!Zz-UxHwlRypMR9Etp@q+hnB
zKHDg*i%1T%+I<ZX7`EGjro8q6*%!)`eQc9l%-D7}cQq!U+e}yt@IV&Zc-2MMB<!Lh
zy|Y%@5ZufQbq3It3GW?`lwq!7*w$NL9t5r0j4j5LOf?x3VgYHC?jGU93zDKIBoZCC
z^r>H-5ZwmpkvA-*^}1ADQ?-CeTw4mxW*wYMhprpH@0+LXWvV0yuQKwe#$}F9G9&}I
zt4NLU`Rba^uK<CiGHr6}%UbF<J%(wZRsxlj`AYGuRzrWOw)ux~9W@sditGcv>)!pD
z6Rw$*`|#tfk;i7<+G~Mb8Icr5(4==wc%L@*WJnMTaN<e2^qzkw!!=jbyHzq+2$Z<H
z%}zC_qDcp6Forp+(?Qq8T|zfkn~GbbK!O6h2=wt744~LlozlaL<f%@KyDU3uHPkO-
zT2riQVA@#T!HvmWwsFqM$cipFCfhH2a&^#jK$~(o2yTV-DXwkax4n^Q`M1tYgK*WB
zL9ta;-+lmyA^n9mPur$0qU1ICge#o;D6ExJHO3`Jp=KP%7<KrO-WC=*wqQu?0VD+;
zU9uGt`BmLiO-WKQHC5ui6L0VT0A8xV$B~rLClLC+sgt7gk@6hk6?ED|pB+KRC4({v
zqivxD<mjj(uOMD0vLSqVO}FbtOMVWQ;?>xk2#(oaINPkzIBL^H0hZeC%CmjO!-%-R
z817;yqHYL>)}&n~eJaeN#@f2nJiXFps<nV+=MnU8-jQ-NfY#}`IP!prZQxo*6t>+u
zV&S<RrgH)O^E$X19DO23Zd1~m*r&>JL$XL2B=BhTh49*W{D9}MrxMKiiF}ffKd9I6
zuE7Q}Fn1}pibsGrT!{{~9bhqF$8I1;R5?J}fioS{QYR3J?$0qIQb7e0QsPU}v(=68
zzo?C3%}gmjgh3RUApTvJ`uCr4cKB6N6#j^apKhD_9Q}2bJX&j5#N>#>9p_@JJB&nd
zRRjZ{)}*3KvxbS>?<<}cbWFFZxfoySK0$WHh)G9n-c?q`ML6<aJ0ks%Q4v3)CsN=e
zYw?bE{{Rv4s>VMq5u&=Eg=qcrU&|4oN0H2rVRf=ylz6JDZL)l9zv`*iD6`AJnhK`h
zKet10;!Sp2Q7^6?q60*JzQQ}8;}S!k1Q**eRS{BA1Ka8i`6BGTN~2@!#lzpWy0Kxq
zhirYVMQd}KXk9@iSD!Q_Q#M;p3B|GGN?Rw#jaSk&n$YJf8XTg^s#r^fB%2^D`5}1t
z>qux;zg1iVF)dwbxkIozP8P_2+pMD%*HeHyARIA7M;&Z<fiK-f7j;4XxAWDkNm8Sr
zlLSHc+!tj|ro~}n#5Rsp;c-&o-V0XthUPCO>P+h9Ba_qH5s>R>o0<>8D)ge(j2jH7
z&noNf=v+wlK#fN_W;<%q^V^Yl*p(H3+oeX9Yd%MZU#m6`%_boac4KZc@Yc!oZNDW&
zRYXr7deJ!UzhL<@ZS!hKnwX27);31TcKS<o`U}c<Uq5f2uq4CcFf!G*6kF`X;qme1
zb&XZVJBec0Mj*5-wDa(oWYNZ4UPSUL`Q^9H`}DEMsAzE3<U5YZdbCMV;dKz#=Y4@b
z>;1mnI~fRNC>xG#D{g`)i64?pzEk(=uQ$Rdvl_&veiD;tTt&$1u{XD$r|gO6`*kEZ
zg2@hT4ywtp+2a{0Z5199lvw6)tCj0ox5_DjxQ%WkyQhvx_Fji|{=)MSX2&UJTNV}p
z7~H3f3c^0Zpzp=BEzH$+Ujw%Od@sjC8J-hsq}fD!=uoz<NdfJZBrn!No2Z}P&(H1W
zqdH8h{vg!Jk(A($yBpa%+wDAJ?1I@*L6s2|E&e}O?c?v$-y0a=D=1o2&6Uq-iS-T$
z$4;{dnPw9X&ONga%Q%gcw%i?+vrrOLBvehle`M?BQAEC!{1(x<D<5=pg~U<wzl8C&
z`!C1c7o~jNInT7W8*0l6&EeGyrUj!pk)DwF4#~lg9welH3A*mSKi8<3K5w7tfIk{l
zW6edGDaRqjpA|qvH%-a5$x+@4rMjluim$@?=|%>UT^X%(P8f$+NHo<E#Ko`ioXxFG
z$!t<2coA(O`(sXRn<lNg4ibtY_(oS`ROR&|Dz4k92A}F325}k|M?+%s(PSBtE2FVD
zw(3A=tMrm=h>8CIg%j_;SJipGGm=-uk!Jq@YCulyw9B3xZS+O@RRvdK+kXrCll$$|
zT1`E|s3}Uf8LtZV-+jUohVJHst`mx4q^reHjLUDgB~Fm%)}i8sIgFtlnW$0q8%!uO
zC~^w5=3AL3i8w~kxT?N3G~dc7@fA<9Y`Z4wzgATijHW*dj$Pq9Jex+O81AaB0H<|-
z`K$BcemSR7=G8^40BEF$G%cW#o0}@}9}1=Wc-wEfDs(BP`g><tdRe4<wR#lh)#h0!
zeX~~!WFuAi@**A==eCREeuQOocRFa8YRM`E&Zw&D1}^0Iw-?dCq%e!^z{|r!@~izm
ze6NIE{Pn?%$VS2Sx3RB^#=_h-PFRbs8ltZi-F8LW?dSLV_0s$x+eJ8USiZpnz>4fu
z;-%+wZ<foy?y3I$0cCn}WbB!+20T^+i;TJL75CpIBvs_UEvl!D)5@Zz>-XrQV;(!k
zi;_s@8nrXzG)%OzI4E%~w>^<JUxnZNzdL#BoM#3r>~`940R;e?G(h5e?5ewb_+KAA
zd02LF-AM@QI@-3PK;wV&1%BQ(+sEB{^F+|KDIzGifZD0DPA0^kZIyoer;qEmQ&yo@
zORGtUXeI_IqD8Q$jn#i|_3FJMyxFW6F9#G-?k@ZBCG+x|dEbAZDxcS`IW3#REg{Q)
zu?2jbge{eJParCuet!No->-DASQiR(S*z_{6joalU6fHgcwhTn)mQD;fFLefv|pbn
z^LM9^`y()#LL?E~OgGt8Jg=YMb?Q@4Ta6dA*dtr{<Sl&&Tkfl}e*XZ!^<JS!#-uH~
zR`I3_B-~<U!FhxvR8mD9w%cu$Kd)0-X2-mP$Xsm6RmF8x2sTZ;C-q-H)A#Gdide1z
z#Z*V1Ya-e37aK;Kaa0MCUMh--vMDe5ys!4(Z|l_gD>azl(-6tmcM&o`O_R!R{{Wh=
zp1jyq!6_#t<!^IF(M4B&NGhs;JMFihJE!{fUuSAD*YLuW+&3IVMDKx?{FiPjLYpG&
zyP_(t>$gW*lr*Jky_K7f0Ru7QHoKyCH$~ZZ*>_F8-#%CSb>_07Ob1*m3C%p?jv=(D
z$JB_MaUUP$**;V5y-bY)G!bp0mK^w^GKBZkqMmjX+x>ig>Yp2R@lli$kY-*)g;liv
zyDF+DpY;2Ey6$UPFD34|A~;B|yh0q)=|tRzbnv2!_W1Ij)A#BVj<D3182}cFIEe>$
zb>@Y(%epA}Un#|RB}7I3omfqo1%mEc1E3}xk;NntR8NKStNZ-;{=Ez1YV5}zg>N6W
z>u!pJ(Ff|1*eZgm@46zQ?YSn)vad$X5IlyE70gJJ8*u<cJ+nx=G70qfUn;7e5S4s!
z_)WL@>J6NOJ4tRNqgd}4G;O@!7Eq9rk?tglMvL^KryaKPioI8AMY&bsq>Q&5rb?6T
zTI4_TTvFmBN{WfZM{-kL{11dx+pcu>Ff5`uKF~=Kl}A_^t~w~JHYwaBK?Gi3rBOEI
zsJkkvd=PD0n57v8Y^oMXh|{xuFDA&1$I4F2#gQ~dNd*9uJfaGaqKdBR$w?7+-8P?%
z1|f4P+`6`oU3`Q^WI{?CYD=;znzOdXNw(aH3uN$%vZ5%V>J{zsIhewsw3k#98*OH>
zF`nB^s+uYw@ZAIq5e$(He=vNf)PutIr!UGuwZN@k##(+}*3U+GO{ZH#LO>&Vp5Sae
z*Mn{FaevMVo2#7HQiP=D0oD~(lk<$}oY}m1sGM4f47lICdb!5Pok0^)66N(b!|B}+
zi*;Slc&76%-N_{0y%DDYwwMN0uIxc@W6Ao(9_=Zq0&T^7ssRq`^U(fPOQ|?jZFHP5
z*trek652~ddgz2E$4KNZykbN2tBTu3ToYt1_EO@AwsPCb9EBe#pI2EU@ThJD<e1ZT
zKzCqQ83xan7L^HiP0*D#MO52mAO!&wOD;7a_@Ugg*j?3V4^6ulMM1f+LY}b2_gn@I
zw^XEos+bTsNQ{ap3VBV4QF>=lPk;?`g*@a;2u&N6@rYa}n^8@jP57aSrr%cIJEw)|
zX<uaA*UrZd88t5?wi|-u#>%p?J7h*p>@Je*BtpE^1vv2@KPl%e!LGwj+9{3L*<^L`
zRkz%sd)qo_@({h+7Y#UhRd9AvE@+A&w&T%0CO842Tynj+oGztnbd6i81DT|nxj|I(
zkzv4vRd)rRRgSqJ)ybTQRmlh1A`ptG0^tC!G(<i_x<iM)dP@d2eQ`G?zqYLzc?`0I
zf^wW$2J>H+90eLA5<pTx72+z0s;Sjh9F;cOLtlepIZ)lqp>jJ`StIk^CmWC(cNApt
z?I|`W;+O%b2^tEgp4t@D-qGk*VFr?ohD~fC`-|D`NEYHnH%Y}wG8`vYio9TeKTi}g
z6hTeXW;Q&r(YH7DOLV#AtL!cAkB&`En^LRi)mD^sGkM6ZMJK^{AaYk4RPujN{2_T%
z`*b~$W3UB@P2-Nui!M<c#I3pw_%KfAC2<U!<UUt)-8d>LCdt=J>&l$o?T4aF7bOG$
zDKNp#3ef&$=<+F{D59yNB8sXKF6f*1;LG^L2S(aEb&Sh#BguMGqp`>lMIcgn1c$gk
zDkJ3-lg`P|G&(wM$uaJ0>J7&ft-i$T@hpMX*t5wb*54!%uyS3xK7}eghg0ckmxSF1
zNzq=@Kq{agNg!?r3ojPEsl=_~<fk&r@x_uh2T0VAibjgs3`BQ<qfvK31rii_uygBd
z(MisqnN1WZHZgJr>W#$^CgH$3B%Dy)H#vKb>NDPKIPQc$p?-Ho*?LFnmPJ*7U0h#c
zm7-U9QXKEY9wRcejR6~BO?Gw7oL+p2T5;W=QC>yBy3@lw&Ni~j#KzD~cF_n|Ii{IB
z$x!fv$VODQT_@{k9x(65UEL39+ct}2Cp&)KvSn9vAtDq)N$Z$dWO+Pi8ijPsND`eJ
zwrOdRq=z@Mts64ml8T_?V!I10xTJ>S@?K4;osLJ4UqYCbH;rT`YTP1OB+Y=hO%tk(
znW(4`2I_*m{E7m$TMs`YcGuL{{OWunk3OlUn{ihn!oIlLdOZ6(5hQJgmBb!v%~f1+
z#}vWzZB-i}LvVCWMbG7Cid+QB#<SV@_%$WBV+8gL(Zuhv(Lv@U__S#IyN`8E7mFk$
zJeyHR5mh=m#Wj5D;xmNhxVp!aINwKotZmqQ*YiolRB%-n$$kD6Ne5(9>l|qtbM$9b
zvN_trW1J2nLs?&s*h<t0Gvw1EDmrz|Q(c3gkM|_WK`9a<JHa?MCcUISnz%M~WrE|j
zH(svtn$va6?(!whHHFnkn%oM;PzV9#l*l^`At|zm<8Lc#$+rWSbwj8nWKw_TwbGn<
ze~S2>G(b_^bL+`Gt=shLlvhNuw#1u^(g|8v&uT-lJB@dNPC~ppcUvL`*PBPO6JiD^
ziiy=suT0uKjrxwS^<Ntb$4&y)yxncJTosTJ3P>m%sN&nA%w=#@MZ*@<o<vS%$Wc*O
zt9g9+v=tgRiB;cK$+o+GUZ&@BZDX)e>)Re?*|2g=7;<2^$Tq^Fep8%<2~88I+8?9(
z=jpFivb-BibrP;VlI60}T|S>`G*Wo#Uv)#>B_Oc>0J@PJNYM&2%`^g}Dvl=(MxM;F
zDwh#j*zo1gg|3>}StPW|ElZ9(`6r&KOOK+H4^TAq=+D>Ny3LKm;fRLxzREMZ{^duA
zfk$ZDBJjMCKKtyx{v(+J=^lUsni+(%BK7nMG`01Wk2p)s)|+s|SpwaE#I{|&Bu?(C
zn{Zvm{YmI0R2n<XV!<I+(AlwI^jh01AH&;`Wh2_4v`&-9A{1jTO4}?FBczWsfxFzv
zN$3Mpqie>WSb9O%sS;vl+H@wva2sV-(mg|N11K-N@~>t>OIF0Zp`dp7uG_Cv;i79;
z+1hK6+-Xs<@<^Up9_PYaOxkZwJ{4H!(f6&KQ%R&=dUEv-Hn!(aTFV-^vdZz-Sng@1
zl=pxdmDzn2ZQ!=_jxNR~m05gbeIy90*Yr0*C;tG$6<sFP9DV%m9yv=hC&Mo>+)wcu
zT8PoxH2j&S?3pV3wO1Ws_nbcAIBd1s5JvjRexQ9HWd5TiQM;MouS3;(JZB)WdZxSZ
z$}1_B$|y|8V53KnBg$N!Kn*<aX<rWS{O<EvQxDGlb7<CYj{0+}!LwIRt22{2EA^Gq
zUXfdpxX?JW80<CLHh^Rd<*#l^#aAEhyoJQms__vFL(AGgt@&4o-uwEmLRupNnp>Y=
z;{K+VH>&!(l+k2<ps*c1$E)$&XYt!?vNj(H+bYO%m^Q|d?%bDOa$3wKaixx85)lzm
zRKVLa4367RbblR9K8FV#p`S6dg#%0K=Qg&mAxZ^!qIQJ$Ns|eC)8>+KVlr?QB1AQ%
z(!9$#y1;SWHg8Yd#~p)^L`&)AmHsbdKKZolgDYUMon}PF3A8s+p6fA1w!mFPY{&}q
z#}3oW7*i+V+L<dRpIYJ1doYbX=O2+GP^@K=GPtX+I;R}k?Xvo?B4{d$^dM)*(r6rP
zHXl84@m>$1A)~x^KLf6O6wH$Davg>(saUk@CoN_??0B81<y}3<FEpqwgGa(QX*(p#
zM)z!*VN|}bb9gyJ6g03ULz9oQOx#w{=yR;<>l>2eO&U7vgyw$TV?0Dc1o}0{i5RP<
zf}I^$vr&dV-F!;uZKN7zQd!MXNM*oCh?UVLcW&Fq+#@3p?iqPCMCzXD>6FzG<xJ0F
zg(Yi|U$}O`h9Z=X;ty^(p_b4U^>LP%1r9?PHdNo5pSwcZQp=8yid^dTR!4cGbK+xo
zV{<!{qXsTA$FgZIkY05g2OoK-kAz`RnySNmlY*AXy6uegvq$mhwl;ajt-m5%Na-=D
z?YhyVCt*i%g>kiEP)1YDI~@TGK@gl&bcN3180;-;&98Lx60p{}gDq)k@hd6WDo=6M
ztd>y+yA>K1l*}3ADnufG;u>WQ=D6@w{%_y<khRHatTiUn0IIaM%0?{unRxA&<8}40
z2w89?on&Ec2!p=s4hcLDqsW4-n)a1`i|HlJY=GLdHq~Qep>(fhHnsFk?2FY$sVSLz
zOQKo{l4>GU#|t|UrK@@~aol;H>sBc&ksgi1hb3%*QAAu10EN)z5fdrXYeppN3`S$w
zmCa?1#9cm`rrUC58p&nZv(3cg1>|vv?8{+QjxtFAOpwV$bidRbJg)|qlxtRq*E5h}
zk%CJ%IIc?lA<A(;ULc7uqe^ZeM>S|(Fm%=8R~hXKNP8Y(*_Jh?^t9A#>D5k!YiF}b
zlw+~1WLH_x-7z7Ff(bD@E|ePpirX8u&^p_#lS;rh$Eu{7Q1g+L8hG{Ky&e)avn$A`
zy3qIuw<=Vacor`vwq`W-y_Qh91xZl4<S%p$18lnUM5!Vyhg*{5a3x{>+Hl}53MD?5
zCHALUR9od*oW;$Zo|!F_+xc=<Bfp5XC772r&Bt{R4G`>!#$DjOk7U5MXbZae!Zpqw
zNu@NC)_z{*Q&UFNoPYU&h>Hs#dNgLcH3IXh_jqNZ?yt11yC4{nZMeJ(tNm8jzfL-{
zI!2o5t<9v{=^BGtI7UZRk=R(Z3chR@Q?6fVg;63xMx2)pJ4PhJ6hja|HAL$+Qz(|1
zPk8IMSLJU6*kg^%s3O;=UJ7;YcU6sC;}y=?F*3_6s0}vFOk_5+6DJZoH}Q8GMQF{_
zb*n`NNE%g32SE6Xqsr;bf(0wdRe)nz4|2kiwU~Bx&NwgJIOL**MyTMn1a8KP<$#lb
zs;;pZ8g$iBNkHng%SCaB7x&sx>A7Ud$WIzt+Q}Jfe%fX6I3pp(-HtB|MUNU7J>Cu|
z;Ti!WYOX2->RYuIIeGpKs<3jXlvUASGbm*d0@h-%tSzlc1Ca4g#!eJBokZY<iaghD
zmST@M%qdIM`E~v#XO+#XO>1LMWaO&UmU0)cT@{CQa`ipUx>(b`^{ERoDcM<XMJ5?&
zOJf--sx0;q_XUs<B36XDvB&akEV9)*>~`6yG%{x73^ywrY2ijxMc1Bq`3vv4C!3H_
z$4MIq=B@U`gomZp4<ke|UsqarqSABum$}ZHV0V?8i**V0j>a)mks(MoWxB#N(wlM?
zTTDl3!f{o=QxB5qgF8LOEuLdnFwFB3s>QA5JA@noxq0U-=Q@b|O4y3q!Up=Ftd(`;
zG$D26;%Z~J34pkUgG2I7Dm+5>XEQ*1x&U~onn8ic)4ZPFN3Nt<WfmH7X!X5a+{a$9
zxPul-l)C7R3yv3XnTXOuf4Zs&*`T8A3%CT!TKp>uu*KlxjlyM&(#c$(A*fv2rdP&H
zDqu*8s<C4v;}zt9jybZD5`wQ${WWTBU-EvXX4d%4-DN9z9$e;an?SZ{nIz>*v4XMN
zHzUX)gkb8Thk3Jk#Bo|}6T7rrk5pyiSCtdA!hF1XU1d9M$e9s+yTvfY74t%ERY(;O
zKvj170TD$yeisg8#T>WGN*$^P<tG<2p^A>Nb!s=)@VNSnlZ9DlHn>)l=dyEFH2ORW
zn`jiqlU{>8_Q6IoZHcLF>x3!Kh=Djovg`%520x>cY%N*Fatb&vT$O`h-7BrW`%X+o
z)y88rJ~XI=CXT4I;;$wN!Cu)p#T9f;1+E%NtG6*%QFS8>t<N$1an+BIPsbud$fFaY
zpfT8W`DAkYibc4iNXc{h!9<i+qae|}L5+~Rh`D1jmeyt}{D^jxly1qbn(TBJ-w=-^
z&0;=Ln_-`5j<0lp*K=W0j|bE-3~yrl7W@8Cy9E=RCXV3yC6>6@#I(ub&|x{{a~Qsn
zLuM91mR{qFZCf)XvNs%aw+KXvYpyRPdyydnV5B6e#8#L+IpI?A8r+9gH19$)TBTM@
zvV21y8rsU@CFWBORZ6uwrFkL<q^PcfxT1#Ors|~GzMarrveaFFegn+puw`a;c7K9T
zWb5mmi`Z=vBzFbXnaO*Efa8jYV1}RoE-k!#OI9#Iq19ax#U8HIi+ei#qm>gZ(6<%A
z<m5Kq0o>#yLhO`tc+uY17L^@d;_>dy7;9Zm9r@Q=n$(S{WO3DxB#s~DG}4y$UMuhf
z%4y}`w3XG-sq78e6R>SWVdztte4AyqRs@iKI}*P!TOzTqkkh7wD(f%q3Dd(9V#-#M
zSI4QPw1Wl8rK=dQv8A(N$Bj({A7t2Wz#aWc;_Rl{cq8VhYM;yX6G3v(97jK;i-+DV
zU)4b>42e~AQd~C$5;-|uu2U1PA%Vn_+i}fEIU|Nb>N{_y<$8NfBOsTgu=2}{XApJk
zAgph-Ssg`yQbv+exa)1IA|D3H7mD~Vq*ZfV9Pb{tuqx>Lo*iv+u|et<wBfn*{{Tq-
zi}czam)W@VxS2+(<`V`jy}`Czq`I~;)BF@<QbiUS<nJAm$@1SqY2Kr0E{sEg>4(#m
z3|&^uA;TE?83frSQx<%s<ny*Rrqa9HdDSn;03vge0h?gFR;SZ9r+~<5AH`?l`5k5U
zLlL&Fp<P0SeFD9O{P@!0$Ywytlr9+@h_l{gr8UXs$jMV-4fN5Mob2-?(2qlS3;1-1
zGLAN<>t<<L+?X~(4m1(#s$6i<l_x-uMLUnEb8$r#IW4j}37F=zS-Rg}{{SaDhQJD*
z7E`cI8^un%wB*spi8S?19Qz`|G(vQ%y=&LXX?mHEy3<)6K~TX+dX@vvi!DK7Bi-1v
zF;zQk6se>PGxZRQ?-HL@jZDXH;lJ6(>@Q-$ci0RnyhI8sEvgvvf|dv-_hH7w#n+gR
z4M;?qWyM};L8I6WZj))tI?t&U<EFD|ac{x0%+gZ13HP7x3yzHTjF0gf6qZw)WW}e_
zOES^mHkD91x39)B9Lp1&&KpN>jZwg`ee8nQP$GK^*}{s7?1L#XfgyvfI82p<qkc<B
zd$!vffGiCS53OnkkX62=paHM1TuP{<!>)A)5VX_mn*yqU^dNKjUb7@==jm;vqrJ%T
zlprf3YbhguI_r#cWxde>d2<eebx$3q&hd9{v5&$mFE49?Mi~|~=rOEH#<}MtN{Vu$
zDEG~QF7QP;Ex7AosMs{3sD_sK?l);Nmmt%|V#~6{>LL^@wbv!uRbSOQ=^NE?0U0mE
zi`%J-X47C|;~>5{ZPiY1bt66X2a;h}mEF9GSar46HbWlXNw+b$-M6DJvj&Xn<wbaR
zX+ftNlG;pR_Q$lGZDDvdXI*}jeamLouk+ngThPn1)7yHhxwjS)vWOunZ{Ydxu`1iW
z#2zl}=<daoCfh8qGDm04xZ+YacofKnoB3*{t|M6`z6XGdsLDvJO;NtFpSO?{C8wMM
zYN&{d#i141Q4^~iD-DsTdP?4|SYicG2{G3oNgSy_UXDfdxg@FK$Z=P;qFuEH(~zL?
z0!{iQr_=3S9CjW<GK(I?sRCM*`S~3dLX(mJ0SP?kJ12#;H9;XqKvh7wAfot1&odf3
zHl6s>_42z6Qaipz$ZnTE^pKY0Z)vX@GR4(f;xR1p`|Pq5xUv{ck-!PFNz@Jp^cNuR
zZo6_GrCLwX9JfxT`k>793lqr(hC$R#%5b?>((0du+(!MphFwB=Q2>meL|4O)CH>Q{
zlXLxN!Q6)yAF7QTmlv|1htoTv_U?NQE~<V)0<@;rCnIxqOR6GdrN{+PR9`mKUr;oe
z%4R;MHHNO^8m%`X$i^$Q(k?xI{ll%HMuSc)tcemOxXF<?J=V#FTtjij(aq5?);H#B
zkC`{*JEH!9J^5VBu3+@}zvszOXF7eL+1zL0M)eDXPfH(YP24vT7DR|-WUMQV2)f!j
z2%q6(FpO|PCi`m9aZcJXsG5_J<gO*9nGAZIJ`@aw@`@Ujc3#6`qXuCkk1(<9+CeVr
zuX%@>a8vS00aDqxx<j93&?MvfSDfPPT1|B;hdjBfr?0q}(j<Z=`-Ld%fKXA=2HRF!
zGy~+SNxTbO-v-dQu{5_bs=dda{8*zv#<EzmY{bzYQA>xWnF}ui&8inMC1`jT5KamM
zs@~3OGK9Dt>0{)w-JURAPzLm^)VSAeRMDLdJDA>AOQ6SDhh-ewGZ@awM2ydA&RxgF
zTM;%pJ>^0W7Zr9Q>LvA4xnx|r(w2`5xH>BP2zPgvIQ;p;VcG?5QwJp^cZ5X6zYPL9
z`<_JzOKzoJ<I|}zxRGt^EnSHn*MAPMNklT(1909&S5OT-n(`!c+$8NQhMPOcRTCbf
z_3Az2@^YLE?V{LX8GUX?KBlgVoarxB%I_*X(L8F5h&J&FZy&exxZs$Or&YE$KD7NL
zR58FgBs8B;DyX$~E~jMK(%eSLF$ofh+Rwy45X0(cI8X*`dPjK0n%h%NWl3g3Zka`J
zM7D9Y6^EwYpfv|nDe>a8$TA9?he)!Frx1;m;Pj6{t%}6Rjl_ujmQRw%p8J70#-oP=
z?F*tnpaR&`dZ(tx0G2>$zh?T3#<6TXKbW4=9G=F)T^-HbgL2CnvbX$Fwp?Qez@&?-
zWaz&hHxdUSnD(|^)?Q)h_fIWx@Ov26j7tKzx~8nVgISm5t=t`rBjTqdz=3;<A+mMt
zgd!SobyycryXb0Q?TclQ>$Nr1XtrIFF5^Y%uL0xWxaIm=XQjC$4JD_wy||ew{cW;#
z@(e(0+(>}yl485e-gusE=E?U6NO+2NQ4?X{Ab}$!zsu#%y{>*mbjJ?wCt^!V+fpI4
zUF2YhQ8=T@peP}-@n8Ha(+=AN!1Pnn-E`{P*f$ehzPo0E(#oaE`BUR0frd_uc^*vw
z5ztd*c(g=_Yr2S~KCHimY1WceVU1Elx|d?T_H1AGP|hhMATGKQo&a}pGyzA5lnhzf
z0C^{0M}&PMYe}g#UondT*oP6KyY#uO*cK@&&^1q5bu$cVT|~$*tS~7J8!bk7k=G!s
zW!Rc!(n3X6lz6I&uZ~-_eKh*t(kxRrJv7pd1cRs0@|w!(daK%NflF9+hb&Rq(rk^T
zblEn^M5BTuXuoZVRB=>xo_aIV1bG8ZBa#&d{#$6MoXLK}xgsfiZmIkAHZ6KcSnFuw
zMTaTHY~-6NLMWaIc&C-y?w>sr{{T(HPnaFR>e~6$ax7fXmXWtzQGY@GK<XE(FHIh#
znbO=Yj$Mq_F-fY;TUcy!Qi*2b9Hzi|qt9?{pfv6}rUWkWP6&vMtV;LP1{Z%*r1N0a
z=6Myw5e!>Ks&TN!v1~gYC~Cg%CFky4WyEKjjmL4*B}UcnBtj^a^ygoKY0V`@rRs)H
zifU%EWYz6jY1<dlVmx@9L1ngBvzaP;!V)APAe3sgRU+*s+*G<~UuC)pj>Buyj(>F<
zQL{~71f7&Wo!z-x9$O0Nkw=*G<=>18z}yH*LeWTNp(n+GY)j-ZfMyZ3w`jQo`yI{c
zVSUAPUqOW-tj_0I#<Z@S2amEms>bm7Sdm%ccnpa#sq*gSEsZT?cPsDZ%Z?;RSkXvu
z;>LK~blet|mqDgc$DB?0m1bY*^BS)ar;Da^_76L44eI-9NzWvR(AXy!7rRY3%gv8u
z6^{P^xpX8Tmu)veMX!mFX_l4fb)Kx&SI)-kt6h&vrnPw;oU3~La!bYnD8%?-!Pv+o
zYUDtY;2<e7=M)7(x|Me8*knwjSLmW%&5eGQp^T#hP%W)eDkX)?^Rx(ZEXF%-0(K*^
z+i{v7Zpm!n5X;)k&;Y3w`vk)jauRej`>vHv<QLhP-eOrKR~dgCZJ2cD8euCh$U+r<
z!X$^nK$8<ux4@ec6=m0m-BN4_M>1=C_g1U(G03vK=NgHN95!-oI9466g(fVfN%kij
z719Asmle5a<L)}*tC5L!MCsL=)#<G)TL}8`O*-;5L=NrzC*j4EB8~`*I{87%WSKCO
zQawxp5oxh#93>UxK=xRDR#}l*q}+clmw96{L<?Hdn#_=x>#xR@_-w;Bo_QRC{{Xjq
znPupVvT98-WKZlt4kfZ2#Blkq#{LVl;fzeBdeIMHc+R21(}#3RLh~Gt0>vV?9`6I6
zfX*7&`8Ry|oN2RIW!Z!+3b@k9b@5YFZNWniDfIPjPCH9+rP!XGHD7>K$#pVW)@;3B
zD<Nl=&fQ66`DH%gu4<}^?1;<|Hsi{VHrfIhUg;~<mo?Jhu}Bl?V9heIp^%l$#6wNk
zM%Yp`lNH5kLuS&rV#^LZEunTn^y_DUTH}}h0LkoPIPK09wX#m%-$;48CgP!!u%b<I
zxU!=IAlW$6XkVP*1a{j1aCbhu;oNIZetdcIU17uq(3(=+a#vW*b|yKU7rwHlgt*kX
z6%H@}5rGJpFKDbILd<tWHzv^tS^+l`o9_OC9o0Fm9lUAz6VAlJ>KlH{aK>dvZMT__
z<E%-wak*qJSRtE=4o{NW!~t-diyA?wxSZnKV>rtO&90|Tsm3DqM8fAheI~(R5S@(x
z9hX?#<%F)NCumMX<Je7&z6Ho_`Pkhw@quHJ<!xQ$*(}d>k<7@cR_fJOAhPS#mR7PF
zax`{9pcfW9AWxxkX;6{Qlo<CrJG2`k5&+DDebq)cnPnMeWxWHqb;dPw9nLjpjMkZx
zF83R1E6&Q8>+Cx<);oQ%l8v-Lre>?*M)J!%td|7oZmKgjvkMEwuyUQ1a=v7-X#s?7
z8H*w0_QXCr4|myD6r9}vP<m-#`c0?A#3qfr8p6p*@OBwy53r6vLN3CXadoj$6+UPp
zyp+{T%JS%=9n%?CHI{T$c&!rGM?m+MsVyPXHt?AeMHq0ti2y%OHGWC3gn~#4s7>^8
zV<2m?fPN6ggPe-gSJfn_Gh8DzshfvkIQ~_OSIC7fZ8SO|tqU7Ro^cK8$0J3SQD!L<
zgn|GK$!O4=2b)yrraDb_ps;zgwjpfHR^z!%Ce@Ul{317*Y$T(`PRo0;(KGmwG)}0e
zb&=fFdSJb$RdVyFk{F<;vAKm>kz$g?Y*|XvQzu#AjfevTe=5=YbR_*kXo=LjJPs_X
z(}ew0OF1tgKJ+<2)Tbk=pg0JRKH56dJ(Lv(1+_NY{IoDmF7%$-AlkGh_ET1c0aoGI
zv)H8hcx;B=t*x3K{m`!)L@3R+0VE~5!uOHb$Yi4PJ-H1kk9IjB7daT^D;dT$J}#75
zj$s<2c)I;fjOa@`1Wy2j4FpqaP$Khi9}q%$Ph>X;R8XS6sjK<2;5C+HFdeq8V(unS
zS7h{gZ$oIsp_H?g2%nN1+HFzh+(l_yO^i8h-x$;QuFb5;Zro=fhhHQc8x|ODzFY^~
zVGU<8(@NVy3)~cb8$>bQR{_*%w@{FmB+ozE>9N2LmO~iBH5!!)Ej4_dI?FENT?4hy
z^Lj_|s{#~WYB6QkHY)q5f}~B8AmFMfn_`Q<MD*6LF{p!yVfx>dVcAWHJo|cAsty&j
zIs8aay@@`ka#>X5sIlcLHifY^i}ax$OHBgmy_{oQ3_?t??NaAdmQpLB%YTt8D&x&M
zZpD~_>L{D(#m5x5Z?@f3>V#XW6K6{G3m>x0@T`UA<Hf1BsgXU_-)rkoOCylcGWqdN
z*FHk&HmDA^M1j&v+Fx$GHueXacwu8N`}5!2j!K_UG)o4^92{3s^trrFP}!xkw^;r@
z&HYr<R>`Ar=x?#!j)nCqsRu4xoaf8y>2-(bwT2t0&tlT2;um<u-D9oMo+s~RFpi5Z
zs1iVsazJ>fadB2hZ<?W)3JGk|sm8V9fv5642=x-~LqxI-sXBkEv0tA$hJSUnakgZ$
zAY_1pL`T|mop3=#M2!?tZ}CZIo!7IG%c^HhGFO;z<%BEoAH>-M*kpoD27&Y~(3Fq!
z+EPGsW!!ou;v|S`QSs~hK<qqoAL~P}kK5q`QPW=>RmWt!{M=f6mR=eqYBh>D$+V#C
z*kvP$vjESwUBvIQt}2MfX}y(cYVv4MXu@WDFC?PJ<-#W5=5E%D5@^uX8)4~D&Djmj
zt|dTkwIN;rCdpdj-ymgyl4#Z~U3eKm!*$y@=2EN7SprdW&v)CQNbD<40&epRlVa+K
znGz~06@E2fH?tkEpH-0rgmw1k!<74;>ajTXh?TNo9c-0B945&Lw|`JOCxRgNGh8dE
zL6z+^79mC~+Rqo8TSw|_alo%w{4hOd!&>1ATSP^;m?8GymjqHql%HgQw-r-i*)Me}
zk5h5{s;5=-_P(Z8PhB)vwpnhid~4d5ks4LxYP@#*m$pK2p;kEpCgv*{yP7OY)^!G?
zK&N+3vX=qrlAn2@Zl=w{5o%0^%$2WeG`Jv1Y=}-m4|8RB(PU{(IVVSQxBWL}(ixjc
zCS&D*PM2*E-f%^>Tz0wEHf=vyJS`xPfoOpfWEEcrwv`@ZVmF}JjmDdV+By24J;B<%
zLD=~fT<$%pFtQ-mO&Dg<iuT!viIVA^!z{>ZT$sBHj04TM0520ty_d(35pYx#@PjTa
zY%cE&nXS4himpwJ<`0yN-vf2D5`IamZMh+!c*G%1Xt@)Dr~+I}w*uW(R#kUdhve<!
z+OsI(V)-OzYD(-R6K%$P+)l)K4vxzm<>al#e_=H?&<mM}64q%>cJ>>rR+>4P%8vd2
z04CX$lSwAy4pN5D6gvl5Kt@VofRkk6D?H7o8!d=M7qyZ43eb9i$HQJB2oXnOX;bJ<
z<Hv!qNljY7V(B<X&LPc1)9c%jiHz72D9f~RUVT{#iLGt)AUY%sNkSncBo`Nc4jo$(
z9gQcxDy{J(R3u+0sr^&oQGaiao)+|!8e^;WT78_<H0~X#ai08EwtNwG6dQ(syY6w2
zDlL=klVl;ohU}`LD)L28XZR(qooZdS2Vou6ZK-a_$KO6H_>Dm-BToq;>_*Y5u<|M)
z1B3qnguz#P35pUlF~+2dgT!y?@2bPb;fzGRqLeq}e}2iGj%U<*-%TG+HDYT4Z5-42
zdnR#~jn-U3-2j!rQA1t!<>4IoB;RG|9(`5TIdL}|x~n+074IW*TJ4gwo=FA9jZr&|
zk|OM>vX06nvZq6W+ezS67n=QClVsca^m!j3JxQWsn!>&c<TVYd!LW1z4s2u;6JbqL
zkh*}sN{anRo<z1@jj?tvt3RpRhd%_fFK*Bs{f7K`D#q2dUS`@Z%9|>#{{Y*mB8X|v
zj_bDHKX2{S7^u@tayOAfnxMFa;e7c1-AoliU7Q`$<7MfN)o>|rNR^@HqK1LDgxweR
z+o>Ys`=e1<?>bBQZ1+$V#ZM}TtK*j62)k~nw&}l6qk(RT#S6#P$EmTzjnP$nnpE3o
znPkk{UH0T6A5kye5jXR<h1+FHHtR(qEVz=RB%zRs*#eOouY?r&-}Y45e0`M{ss+h)
zUm=o%r5Z6h+~Hb35_BsmNdf6Vo1<?+c#xXi2@sSX;-n&CiYD3#+u1|UYsI{!%ys2)
zgg0;LAlAJ-W-9n(;tTsL1Gu5MrQ?xtAq~)q&coC`JBVT}W*Lj%&1+naQ8yLWTxGw9
zQCWzNC?I~9NJNk}PD-CDr)Q^dRXw4#@0w9^&2)3s4c0>qas5Qoyax+|A{1CqR)yJi
zQR5<~b(h|MXze&ke3du|inv0D<C6TJqkg9GeM*m>Vp1Bifgjm^Ck8C`(TQgr>1;fa
zTUAnq>a^^61KcDOae@LhLKWzj4D}U(MOcht^KrX6tJG3rk=uCh4AgOv0v21{2@rv_
z-L4DgpCLuvI<b-K3k0OhnbY#b>{vpxYPLL+d$e&LI8Mo7f^j)2i8mTZvgvU}>?=x$
zycKiHvGJM)Tf?iXn%o1;T=QQZtdevrYEA%{_AQVdlaWU}ofTVtwBI>YQ(JyjaS<V#
zjX2Q~wkx}d&M`FM3aWH(g=!9#<aBj$@&_5W#kCd^SBMG_w>g*DaQGsUCkHq-?!sJ2
z4YEY~$8L>sH#F~6(VP5U$>`Sc>{b-38E8<YM4Zy9GBW|R6IBBJG8$AN7eJSoA6aud
ziD##JC2NJr6PYf(`I&|&>^S5|#k6}?@)*s>bU!XcXIPOXk#u%#R9yirm*}C67>KCh
zL)HAXNq7**2sY#Bo~a7k9kic?<Q4}y!iG@Akz`;fRxFSsktV7S(w+8pB1G}r2UBF*
zWU#bMCeo@ztE^Vc6{v(xTv3>V(3DXZyaH|@8j2@9luvX8-50K!p$38lb2_U5RpiI&
zT5?^JjuJU95t89LE^!^uoPzP8s-kirM^P0Jw(6eO9>%B20?TnBu_!Jhwc|2kIRu>f
zLvk+_83f-HCe+nI6p)ZrQ5T_&`QxtRUmiYsuRXn!=rlSgRGF+=d4K$sn>CU+`_2S;
z`1>-|nGW_*Nw*WWs~==d$k9{;iGGi=QYBQ^@_?Nx)>Tba^=!AM%m{7P$!<w9%j^WP
z6bEIxiOI3!;ZP9>2X)=P#w(~VD{ba4#IB}g!BdP@EwcF`BC576fN*GhBB&7$m0gE*
zQs{p;p^s@bx?FPJH9$GKwK4>4rAL+sp4s!_-xrUHI19~JkRNYi-8ME&-UOkO58b|r
zabsO@d0aYtsxeHGK(e3-(5%FCBOh_r95YmC<#te!p+ErS*@6)pNJc597WX)Io!?&I
zS>+_@)e>aC2rXU#uY~ZBy<rTcA&551u$_+a5;&+Xwoa)kqlhg$vL%KWn4WoCYc|GH
z5m<5jZJS|aBtaL6!8ox~hSJ5tMQnMCZyF<q^*6BR`+NwsvpmUl8s?(Q55%$Ak!+pE
z?3@Nr4GA`J{mlOW#3OIblN<?17%oi;yoQ3+O)iiS@9S&*ywtB~V}(Dr54!U&RIRmF
zF-&rU9zfE_GX}N1rY&K{88Q1}<TRX*lDN!A*fv0=Y>Ooji4a6xMQUS=XV{i)k?DK5
zOxQuEf;k0!+}FsS=Ol$pP*GEib&K9@$l`>JzX`{_uHpho(tR|jhRwDGkm==GQREn_
z0PT?spd_4fW<{SB-uWAfz__Pm%dQ78{7G9yQSzPi;{N~;g4o5$wOp^=gK8CFVR;~$
zmh4LQ#v2H4A8bv>55DOrsS+%LRVC%pjHXkR3N&fs$K^CeBN?1(PW%TCg<*4&=&e3+
zM^&h|bPJP6W<;Devem7mI^1$OQzduI5eT^|7jJP=K|O(2mcqm8Q%9od<oxPPiFJ6+
zJ!Uk_UCFKPN4a%bNBz`Ni`@4Ox^5_;uN6}sDu}yvQ6o@2FlV_!T<58$*7b6-{`N_b
zYbHx=2;xqU$RmCq7DFPfvI=Y4n8>!m2^Q`euaNy#%`|UDa(dV_7?wd76?)0psLnBR
zLlx(vg0l^4USXKZ0z_M=fcD8+6??df;fG+O-`UWUuA+;xH?og0rw(b4oL#+TVRwLP
zOv*Z}D#jF=s}(CY<xaJX{AFTOYZ12GayMk06YeUvu$l>|ZiUj5Dyy=GPjxZulCr)f
zrD0IzB74P&F46?KE!Vvf!Cz|20**sC#?mS~8KV~mlS{M=GZXZH%!syGK0_8|)C-Zn
zZf-##=Bx47*<cu$^vRK!R%{g;j?u|r+!(^@ILZ^`h=*TcSzUFIO4fTlO_z02vYNzn
z+DkRW;aIqXCQK*JzB@+DhL~S)<7L}NMTLqd!NEg116$e<0RwuCd=$BeWouL7o|XA!
zg$(F+*mO#)lO@S6+IJzR{$j0;jmtLOlOd#a9^lD~Xv<B5f<Q?bS9C&CMSgRMV))hd
zb{hvZsw)a>43dJp<YN=9IYesOEcj5{HdNk;WnW=2o^W3!k14krBqIa`OFJA!gA<~e
zi(lYPTbnP%k9nBG2%K$lHHh0*HH--|dpijN53_mK5ge4rM%`7yPJ+EZ((2W-6SW=8
z&MdI7Bq|xQn3hH_1UI3zF~<-I=T*2SA}FAan6(rMNn@FG0j6hFrh&Ti>&Z8?Y;4L!
z&WVes_?{7gdWx{iZ?z?W%d;jYS3i%s+E>7jDb<eStwxh6fGY`ZOp5xt)Hju;54b(D
zP*YzzP%<0!<LX+*haIi0vIv;;7u*=8>vAN+lV=$uy3<73kq`@9#j_MO9r+59k_%Ys
zR&}PiWkmd2B(c26T$)iV@VskR-TX4y8fV-DC8@qiZjq9Ks67?N33nj@=7cKT(cDts
z9?G(Ob3Mu=TI7wk!_sBQyJEqWgz+2BM1*RAAtEy%jXN?M{DOUZMs2!^h;w8P%^}xM
zYpNJomW<%Db(^_{Fj)Sa;u!@7M&#_l*pex-8H^-$EM?D|As|-S%@<s(eb<_o5;3?+
z4cOI3j`DtBIo6cE(3uA^hga|nK0ZC2R@F!EquuOg+@vINWZahYbd<t6t%$btVrZEq
zMIbdDw@!Ng(Hz2F37TphgRxg1hkI3S_4JZ&m1GMdh{cjS6@eF3VO&D3w`Jf%;19_%
zQ&ll1JdDcINp5l)4QA8=j|v66tLsdnB;b<@HC&4)97uqw*|@TS*A^Q6B-pbXn`)|C
z4Dm@cvk>Qbc=1%?Sp-lq%^L2CEASn0$!?8{4B%`D&}G)*UD~KUTOmn#Hmg)ku_$)>
zmBa-_<SES%c=df39?5aDlLq_V3o7cJY&i^}8w`psG$+;f9C&$o5g==Tf+8U&o|O8G
z_M~RMoo;f+t%AP#zMYJ&nx7g+MnuSU6B?B&dU8T_sB%%GX@PJNU2O?=-N7D@FA^qU
zkuDV7%Yg#XgUN2P8rMoRTw5L$ZP<@1oI%x<B{;a!e&(pEh{=gC$kv({dJey8P{T_L
zo+VzuwXL_T3)=gLk{~N8;Lc`1lN?jZpL2d3Q582`_D%fx>PVk)fN>E}97H7CRX0UV
z(R}Q?Dr~#``W%83nGmz7*)}(gKaOM8E>>waHA3@qR?Wu=1(`}`u%Y=NMuk)yeO`2n
zX47I;hT|iVHhXAOJ-eo|rnMm*Y>WvJ)k9sB#7wv;Y@CTU6jke;sLf3g7~BH<!J#|E
z)l1Kv*YDJ(+hs_*JEsNv{{ThbsMX<bJzRN;aVQKI1GyOhu%CB`mk7p+r1^3s6+s=r
zMR};Nj=sRMuXeG^rlq38j&6(c91?5*+TXZ}P9X2YZ>!}K?!9!Dx~rfNE)u(5wEm+B
z%wT$~#qkLib3hrzwMLa1Zd_~pMsbX34oQmhfG?Cc35O9ud!3?r7my~&4+PU3e?~Hl
zkJ3hOjlFAuXR^-63Y%*@p8QqD+TMK(l2ubl@mh`#vn6(NTv6moZ%25I(%a<ID<y;z
z5@>{wnL`6;kwryNkx-D4RW|rkU+dK#Rg6&PwFO0xMReLpk)}s>JcDKE(xbXAu=_3#
zmfQj#3ZE#XE8vwCO^My6U}@J>PBZ@i%OMLY*S#0`dIUdC`qz+MS!i5~fx6SI`Xq94
z!wr_yfOrM+RXx~@J<xHsn<Q>LgL{gwZi{VQL-Z}8d1i1Llcjn{)dqA?*$UeX9NB^n
zvf3k{28xRqm~aFENX1ZtiVBG@G-hfJA4jTKUACU(Zc1ha!0u015VrI;(|**3Req6i
zwIbVpq=bkG6bO-0ev@p=(xugRp&b6&#VlG05;W%SREOPS*0dAMX5Kdsw1Ta#Wu9M0
zB95XY&?~jZA42Ay_s>7lo$h0r1FPbQy*K)q^%IWgE2dtjZ?MX`x;Vx^gt1inj7kSc
z&NT3|N0c8D;_EIl@U}wZNyQIzKD8^|s+mqXSt=X`ELv?_VV`hDayy8Mo4BSvMO6?)
zcOEIX>Q(78s=8@gtgzurZy=42<n+-U9A_*V@_pL(O+`s~_W%@J5k}loLqcPlXerBn
ztTanhGVAPG?z15Y6_)tR(yJ!KC2W!;mjxBGY`_&9XSPa!>TIT)DGDm8EZB%yC@yPg
zcN=)8K|7;&X6u8eE=Z#(yvb87nT}%mnU7QpMh(kjE~uL1xWH<vAjx+TsSO&oqrng9
zG9^V4LTyCoaa_+Bb?G?{y<|B{(WSU5<h*s7`qzO`L{YJ95RZzk%6wCaH|2b$>~1k<
z*;7NJv5>%5!+tH*eDHDSqq^#XiwNR)G(`eHa8rtc`7Qo=WUS+rHBQ^VlE!%2LK!PC
ziCthePJES7ID%}SNhbai_USM?A)xplgvnzs6+b_;j@R7VTyg7MR+mgD;9pl1rya_1
z$yJjWa(g|eJ80DQkdRvLi#_3BRrC}UU!hG99~Zy1$F+vGuImw8O77AJ^F%CG-kGmw
z5vbyeB-(j^L1`Ol5K#+=in!k;7adem{MTLmENUB3Fj?B0NZirNBS>mw$}337!;zj&
z2JE=;6?=U4CdI`z9Z^IfQC-tG%EanqdTrBc8~tL(j^iF`BrLEeWsbmoqKP%>O|p(j
zUR~G709zJUw2Ip*NF&d!EIXUpWi6pLtqJhtpv1A}JlU!S*8c!jx6!>&v&pV2aH+3D
zQ(~sx!pW$zkjgo+X51DTE+j~tQ`~bzRYWC0RaH&;W-{YWDuN#Bg~Yb;#dh+YV?RsT
z-fnueg1ePgm36jMb?|3H`~{lQW;5?xO=X2fKmtcLm}S>Z5qEqY^1Qd}Ug6mVPG66=
ze@8356r@RDT~yoaVfPqte}4`(WB#2d7a5Jz-9HNa>{cVqQ_kFzZd)eX{Qm&xoqB0l
zk{!lO92G=VAtY2^zsh{|<OK`~$0PA2RYF7Cauogc`!8Q$u^Jq7jS4$VumXb1Y=;pM
zPlQBI2#NbAQre1**JMQ7e+aAl{rdUASLG2Cf8Y9b`B4y*_TQK8za4#D_EaV7iHqSX
zqW=Ktzh4n{O~kw}&tFw|uY_IxK6>z6lsK|tiiP!V8>jXE0H<DFUWrjxWFgysK6?D&
zlP!~+NVXl&MLd`G>+yX32#UM-MeEA<5QP;t<h%0Q{{TL`xL3t}8x$f$7Y#m^$dNfO
z?bXf|mCnSbgXr=)3R^maJ0T|iS7i9x{=HI18Hz?zRf1I|;n@;IMBm2yua*A*r(T?S
zrjSh8HC{*xqPuP9=lgZXHLesZ%zK#d;i}R2#&K0~5hX()aF93TpCi<#EuJwWY}7@6
zQX+h>S<<f{vZ#BNbdqg;ND$Z0L=9_3M#v#3v_d;>oOk~K*Q|*?nnUW<w;$CSS_9Ks
z4ocF`8rhFHqC1j0eiQp|)I7Uaaa>dKWy$Uq-chCBW&ZsoG7Rqa?m;~Kk`X0OrK40t
zO~3c*k?BVz#P>bIQutM03I6{8Jw89CHO>xyqMiQ$R(NS^2bw#{Jw)BvwBt0bgjV-d
zL;Xgn{{W)&89L(j&PvL*v~ocf->lbf-}mahzS~=f7;cBKs+aWZ)R)F03sPPcM>jy_
z<I1P~`RhVBB8&Qkmo6e{jb2w^A!N)I)g|S+Y>BY=_+S1#b{W8kg|eb-s-0KFQA1Sj
z@?Sqs-|e@bkFxdI2t-gv%BI_G^1t{00H;kY6iNn~DXTG5P{?;3kx*0q{{X*Vn|Y89
zO4pT5_uV}I0H;u1b@W7ED1vFl5qCxYzCIJLjm-rOjYpCu{{Tww{+)9o@p&kd1$A7=
z*&u&_^7?~+oz*_wHrchXqPb$m8Vag{ro@|~r{AQ8J1K;?VgAu7p&+WKj|!>%dU~u#
z(&WdAk`O?f-3fnfzEiB+Z~@|@Wv}%262dqYSDoSb)}!EaW7yO@Q&wV0YDhLDAn2~*
zXoQN0spU8MP5ydU<u@56RO?Ct#%ru7>ti${7FdZRNP>tCA)<*ZimJQ$UH&%dk&)!`
zw9<}c{$;5Z7~Ooy2^ykXq%M>0F6w}ydkPUCsv>XlzddE^J!xG?v^y%DGFYAG;xO{1
z+fN|6>*gq~IwVa8CdnQ_Pb7=7ZmH4WB9Y+QtR8_U>N7<dZqNDgT1P6T%XNQG=_f(6
zdWqqMyY%MbizVlXp8o);d?IWszlG{i>2{Oj_YpEE>o%fnXsFQ?S5ZOtl@S+lUDY@L
z08P`XEj*d1^|+)`&aJE8o<-ZPWs*?uwAw0eB1B3+sEM&}=g!-wo`y0HQ|(t~k7Kw#
zQByKyUlG2pCeimI8Iqv1;x5}N?7UGIf9d<Fu;OGTksAu>)zh6m6f{XFxu(5Y8|o&j
zIf&{7ZDQB(ZT3YwP^F<6A#K6MME&>p>1(Yx7Eh{|ODpg?`#QyB)!zF|6Jffbnz~LV
z>#~mDJ~mX_sks&%q*+E}=3*IzomGs%OB(2v5sAohWFVrcx`p63A>yJPwISbiRoPOn
zQlo11fK|h0pOgzR?Oinmdu{vS@~*eZH*vlqs$i-rD5zXbcV4N(2Eyj#vC!0Ss*e)+
zCS$XTw3>=g+e@mg9n$SQ#wNK6ivyual`a{<u&jjGxg85-Bo$TJ1Ao~*Q9oqcM_@KL
z^XQ?pz;Q_I?EA4B+vs2VD)fq~&=__Zbi7uRQlq~j9b<3Iegg_kiJy+z8Wzfl<9|PX
zoO*SH<$6Vk$Hk>&Q)SMZArd^M19ll{RS-b8-*5gsFX}Q!D{386YZXV**(7F#ly4uh
z8`m#Sc>Y^lZs|ODu%$|LN_?ptzc7<^L{F6!RbMKJ)Ecc2ZwSV!Dl8tGHL(CoC3-uK
zG|PmjtMH1V(l3rmn<vkXi~j%_q{Xx0$L_6-ZKW8DL^UL7{m{1&FVapY68aTURX#pC
zmtmbhDk@5vZ!59E9e@P)4ny2P*}?P06-ZGFbp2Z|o~0O^OJi#Rs0xz?5z;yIqmKj;
ziDy_`X!eIdNh5`dK^V+1Jb~o;6jzVJClxKpH{<7Z9hap3p-5%zX|bw0xlS=$kmOHR
zNx+v{asbd(N1tY7QYHxvwA_ch2HN>9F9&h`EYk`p86*upgIN5FDDh{#8X<1tERpT2
zilw>nClM5tP=z-66hY}-sRL5isYj#|zwhiYSJK2?lqPMr4oYw$U{hxsB$8q-3a09S
zsq(4S*hhy<OF_TcXX6^-01hI@ZfiV2!n0edE82J;gIh%_Ngs;g^N`+%PREjL6Uh-<
zNd(Zat-ceY893R2r@?NG9X4UORmXx-`}S5W)#pYz3)04!#bLuXqZ5pTmfKYkcXa|)
zM~j1ss-S~XaJO|KwlXZM6Sj$H76h?Up!vwDnGMib^VpEQg-O<k(2?P6Ty0SmqERi)
z^$O!5Oma)C;xA+mv0UTKHr0s5?ZoDS^NLCYyO-1;+;CS6h(rKCQfkQhx}{@8(L#YR
zd}6~Wr<<ubjhtEuZJ8pwjm(E>S!U?GXZUpJlEhmn3^;17yS#VE9TeyGLz-E^GM<_}
zGb&HG(#o`i=p1x}ycCfV6s2&ZeI)YsmvIsvJh$0;5Yv1kOP4cmFRPDkw=dK@gDWP)
z=Ere}V(PjhCPJAvDnlrM+B{_2q#?N?s;^cWhBn%ZTVsUdkJCu8x9+iCb}^n7L$|Rg
znJ6JB8G@&Mz4k>@5)*7lyx<(_pLOPv*u}jU3e2)3x?5cRy*Pzs5oR6DFJ~nD8D+|C
zNuh9@FmgZCyoAxg9@~Ol&jyCSrB~_h2GzD}ONZq6-Nn;vw=NvlV^zqobXpH?!)`<|
zi1D8!0W~lpR7EcvFJ9qA&Gf#lifo1|Jl&K-vWq^VmD24aEHuJ5E$38K`DSDEJU|XS
z%VMUS(20H3+}u5mN_v*EA;NCXK-y2Pv^T4zD<(bA<0V}Pt_!K#IEF+G`QKzDPPve|
z*_v(RWI@z!S8L&Q7TwIE78vF^J0QPiJ(|RDU9;@C^jA5k$b{>SG_E>axQT8~ry=Af
zKwGbyOt&YRuidyH0WRP{B)xJ%<anrvDi1phmFP~IDLN*tyA|#TFAGK_y>XX5b6HGy
z4$GM)D-ElT#R|qr;%pRJM%B(NsxaR%@Zc%7h$4z&2z^n|SpNVo;*oFPu&T6n%HnJc
zYQm9*f&Tzx>wo~vr)4UPgB4Uia*hcoi)undD!nz))u0h{uFz&T(G_A-ZDqt;Ml73#
z1#a}bT0x3R=3?W@3JxQr(~XRMg<Brbk}mDKCOlM?Z;r{gqR(ad4A{3J7=UzUs)~pp
zsM*ME0!s!;YNV;$A`X6dD)b3mmP5H_?;WYhrpCLQc`CBOrIv#wlZ4X(oz{V);^4BN
ziXf)js;T~D9s1qn@bUU5rqVzMQQE?BipZ)kquZz=19Bs@;HaN?QMBE&B2sNpb|6$<
z7>tgpAtp@~+$(AK8M#!>${u1wmSo3aSaaLFs>2ATZMy0_r`uI?WF#~nD4?KQjZ_Uz
zs<+GF<uF03`84yJVjX2g^g7iS9ga>FlSVBJV<#9=Y`aKJs>em-(u$(d;8|v*<9J+4
ziP4+5i59&Zrn01}klcVKQNesx1AxSa%-usob8s$V*U(5vN)4#G*`s*n6PkT->V5+k
zl(m<26!?{XJlxw5v}Aqrk|7fgvlWT*MOh#@FEXa$t7s}psnE*Ce{-gr{gK3Ee|4hz
z^;D1bSFRY2bC(sTsQhyb$U>_TL5&Ykpv#8~FR3XKJ;h?Y!^qTYXvC0Zo2@E?!}*{j
zK;L#HRzH+u*;Kk~Ou5{;o{l7Rhm$13u&}R=+IAQhRx8hYy_cVC8$lzHB*aJCJm?4v
z{Y`^?kzQgNdh>kqC=JDpHS=bozVZ<?5q}V~td`Rd9yeTYoBUD{u;ghBm_8(eFB|TY
zGt|p$jy*;VQH{d<axzA=$ti5$&T_6BL$@dqT!P2Gb@h%&vs`WX=+TJB0^#22(2mUJ
z4ZhrmUTEfZgG;D4ME5x7sT}7OIl4!nbFc9rW-F1hXJSQ@W-Uc7Y7=X&3AqEs;wPGH
zTaG|#M&9awP`+uY`i{DriAdF~FEzultaBi)k8p5u#l3?{;2J8nA`OhH*(BI*+7h<g
z!d?`NQF>Nh=_jTP%C6!hjMF@+vB%}CG0Jcp0vocVOMO*iv1bw#mcfB)NjRzBZC_q|
zP0>U^Ms4S&`F2`W3d<G9-n_}K@YoIvw&hB%8!2&wn41biNKQnK_cMy<G*2=+DH4g0
z^exNUf707lhkrU(eGs_PIx|ic>dQt#)f(H%aMw0wekC_i?$0*K32G8!^ti=ijx@wH
zP(<0HbXykLBSUM8$G-cgL6<(E;k%A&&aPy6Y+QcM@z(3HI-;^+Wt$CGrwGVQnlfy*
z+?4PrL{2)3w<KMrX@<DV!F?oqT%#2VXEF?`w+&+xu$t?0(j9ab+m|F-Aw@+uN0B0@
zX+_l8REu(0<uo@rEC+O@H2u3#k&QiL4m3K1g)$<GEwd!Z_#1;EsID({rD>2iSq9bL
z%u*nS4#FK#U}@wj_5gVzmUkSW8j>sKdL=(%WY$>@tIR70X<liGOhT)c^;z(zr)mso
z5t|T0K;^u)l}+!jxCp3XE67P>LdkUx5UI~1+@1Xh9CE5`7-T_Pcv?dva$825sVQ&I
z^9yA@=Of|LQ%&vfu$pZ=skx<)0exar6;@>^BT2nvpuZW3=NS;)2aJ18D?$s~?eDj6
zP}lZ}>)xzj_6=KS8420Ta+&hB$|gxgjSc2NwvQ@1QAC??Kn>RkH*m$VByf1Db;se}
z(N<c43nm5K<nzvSPQN#b*WhhOi2|}SaiFAf?X(SouO8BheL%dEVd90p=%c>Mv^9D%
zdL4`3XN+0JTgvQ0)M#nr#}a+nQW|_lQKFG3f)s@%75@M+kuJ!aDejJXsr2)j=Pc<&
zY?`9)GnGoVQ=v<i=WawIRYx9-^Q?z_MNqeBzcm{mCHj5}+QY3eJ145L(R3Xb)oEuM
zy(7C3(H8uoHs2@viiqH^)QAliG!jx+U5c0v$=~lKaKXk%k(#X3#H^n~u)9oxB`mqt
zxZ?qbV#6Ro#@J=94Wr`ODlalMlHe(FLPbvqn<A1`#MTU^s~)w=;oLeAEE`!Q>?X!s
z#++3S>tymGx=gmNk%0({fFP^63KBb5#oqStZfN4P-Hb=%j8>vXYk2Rj&AlLtcQ<gj
zg6^cEs=Jb+Y^u7+@Ib?HON~Oy^IQDRZ8M>5RMU0`3)%xjq;3KIT-{Jdb`<=*l?QLB
zRUX_!BpM3(l$SvG&ZdcZky=<~c9jDA%TC=q=1$Hf&8q~%!68_PivIwRCc8~KtU3C)
zaZQB?_fuU7jTbA!+Npk2SZu|#_W2Aej4Wl!i6LXCG{8#}1XOGn^4?Yj&4@&{R8ECG
zNaM05VNmY$?*6c<G8BVvQ#NcyohO`Zk;u#+zf==fnl)`Xl8Y-GfWCuK>C5T9{{T;7
zSGZPLEvqd_GkOs}Azpy|b24lSBY?pe04rqQVaHIT{)E^#bQ8!M5F)hTjs_0fE44uy
zr|H7KHlI4j63C!AHrd7li=yEBX4`E5L9XEQ@}i5+eg6PtPO2W$2-;~;X_8RJV$d=-
zTa@CIbW@LO9NcNgTqeX_1eC+OIs&Sjf+y0BDs{5Pj~}y2xmf%`R^Mq|VA%m)Y8!5Z
z=Ez82)91&|-B--fnu5c>54JXo+emf6a#xh#dl9y%iYvsGII1Sw@=q({s7KVvqhF;}
z=jmpov41~xTMdn*+FtD(shH!ow-;>`hU;MfKNusls!pi((Id9!FeDKrQuDt1Y>Rec
z$cAEa>g-x;=v8zp+%ZHn<cqR>dvW@=K~z!lioQ`c7GddzqfjC{Xq8ep#ZE4qcid@S
zaFCRm4&rb%ZJ^>PNL#pLx}qZVyUcJqs*uOz6p0eg9ftK}TOQFzb>;+l0=2nv03}gg
zJk=UCZ~;^ZMK<8YvEA0()RXpD^I_iK>@1UTADpn<p4~LI;xQ>$?mZ30*>U6%-2llr
zn(-keQQzq#{r2hCMV{fcb80cXX6ht@p@^wm<(p{C8Fw=rPjg`<9o-f*c7#Q-B|<d;
zPAZ)Wy@JQK#_4b<cI{SKN{~+vah5r4^fs=zuI<?m)_^LC1gxqmitMPi%F`#qvd_cI
zPF`}BQMk03G@P0$LbGg9RaBf1M%a7l;%t$MfiI2GQCGN*#(D=D71%_PlIG~Qc9i7x
zaIveL?mkg6?mw}R^Z6aih!QM`mW&PYVH5INBQi#lbwx$wh@E8`*~2!$BFXM>U)F+O
zr9S>k!hcd<3BK#odVZrM-%0sCr`*GdUiGTRq7K?9FbIY!dpb^%8SIWJnJ)X5$>4mW
zDjunF+RmFMu#W|psPue++Znx-g2BT#(nkbEanUBkyJ!jdjv%$;nkvVGXoyHnsc%J2
zA<mZ|18VxCysib+tC8Z4GVBDGB^x#!mD-01g+%T?QXE7Sai0XeqF(8W4#<Lvu;I;x
zO4F1v^3j;|$*(%yjOeYkBE|F-M$Ety>ex_Ifc=$z>Z{kuIR*ib$#W&KdULr9=uFes
zO30$ZWsbv)v_QjAO$|}RPp6m`=zEG8qV*0vglO@|ZehrFJBo?gY70_aQr$SHw(6jn
zBBtoO?uwhIR7Y0|k)l)kv;h@kRMRFg9<svBBG?oWRFNo95TD_?a^xt2guiu98~xYj
z#l~qM!jUFzWn?*W1bG{(sBM@Mingwg>2GmWRojz^!(<fQSI#9)^eblJ9xr1hlvQTj
zY{42fCOl}MJ;Zs{Y0g~LT10SEc==8C>fWxn*7`jxwj7BiB(|>|kgKH83JQrT5QgfC
zh@zw^#S`v{w?OxUs$*KNDJp4e-8-z49Jy*^QADMQwo)5qK}U<C(4dlnuE@KgqHKyk
zzeoCE3s0=zO3ARC(1Bip$eZ?!q*03A>)RpS6Nr%#{d;*;MPH5jEx<H#wTdS!X(LRJ
zC6|ftNd!u7i6+E`>HSV2?xnwti3L+`Db;n}m^S35WzxuWB~?gAVK%Cs)QG&e!>z93
z>u&rbsEfqBc=_udTvT#Y0<~kqNf-o$Z%3Eq7?scA89dK*9jI+O)2$K;%Zw;u^MZmK
zBh470ub-$C_T3PACX1~!BRruyUnG^LME$`>aS`J!)djvkt$6)ge4wgtw*6IK*OFHi
zo3w!YD9dlgWXTuUNC7|*5&}hVK2dg6RM}B{5_LxuFY74TjV8X#<BA%p%A;b#lcc{}
zoJsRDPD-k~5UL{lZ{w`u*yI_Ay1B2KBS37gXUE5NgE+6sVrDEIWG(|H2`aA=5+zaF
zf2B!N{K>zMzfBthf{>7D_z|=yBHJn-Krifyi~j(pS+3tUH(VBK>*|?Cg#=|))~sc4
zQ^F?_RZvgq)X4gymE$c%$!lyQ%<VMmQmcF9kC1Gx0r?$~IW}#HCoietMMUW3!aT90
z8dGK1acvGDiq~}Av(pM)L9B}hQ1RrlY#vuyi)8xt`TTQK5)?H-@SCFj{{X*M7g}wB
z+%XQKbz2NaffO2sG2|<4qe-~-_@Qh=_TszvU+d6Z9cG1jlRHIiCB<Z=!*-~dif^od
zlO0`QcO8&bNF8r~g(Ta5J9I?mX-ipq4vthAY|5C+-Iz+)cLiDjaek3C;=EUu%3JN{
zZlZH#4iz+_v9E`Rs-1a+VhdD*6_%Ur$!Wwm%`Yv`(NI-)`jh&8%hVi8GpDq)or}<f
zxl2guM4I`x$)=s+E^y|mgiFN5HbmJr*;lW0*^VV`9r)FG3vUD$Hj<6L2in|;P)mxc
zqAwCpsS|!Gn|NNXW7W`BUroJ-P{K-_fD<MIN!)c?-2_y==p*4jr_Ww4aA^*?L<0+|
z+b?z!R_>u8Sy#5CttT|@f8p6lQGP{J^&&6M+kN^Q!fCQfif3k6-#jm{k4J7K7ZbGG
ze3xYuRoIAk6GAUPDe>c?wT1;0(V$*UI)nt+FZK9OvTd^U^q6_zR^NF%rser!iOCgw
zuG??FkKd)W)D%YM66&GME<N)qlv9*tY-&R<k|I1th(zKdd@7Qz>Gt^jJ9T>t7m3KF
zT(Cxc&PWnX2mw)iA}7KkY>TpNo38zIj}0L>QdN~xBG@+#l|O$!x_!PkPQBW>IofxK
z0Ua>~Bo$q}{gZT0{ylZh%xK#pV*^{>QbuFZ2}WlXY?sQ3ilQ&dY@6<?zxj1045%`Z
zL5WN`%s27=Z|~!%Ak1*!^A2(b_TnO5K@oqduHXE6odp_hDt1wP68$PW`2CZlWmM)-
z<vGok+I4|=Q_42TCgPvdb@Tq;Dc73Dtzo`!f&;|B4(Tn&wjy2r6%{}7@z;p09QU3#
znEwElq>Q?vLWqmyLv%#jW%Kv@^~wwy_K?|}f1LKq+Zm+c7R&bYzxVh}y6r7QJJnhn
z#FIo$N7jHlr!CXUuY^y8U+dSa7oG-*uu|e;qNJ<w{ZW7Tbr_#)U09HtHC_s+N=x-B
zcvRo~%Ad0J7P`F#QpzzV)KLXRH{!oart9bJx6k|a;L)n-HeZ;pki;g&9_)xe`K|A_
z5>NAr?co>aZn;Z_>|*yS0-HF8!N(O-nlI{Iy#C&P+b32nD2wVXIJ^<G--03{@4x%)
zw_lA4Gkw<{a8XmwFRPO8`nK|${{XjM4j`Z{1weL8=is*dxs0rql{u*}oJCc97lhx+
zc-=l1u7c}bl{Or8!bbTj5vs2H`Q24F@wfM1+o?Q|xpq;(R5aaHwD3Q^>GA!)->8!^
zOl~;@d3UkdByoJmd_f5}Ujw@BzUZDjbU+=Kh~ifjgE8hCj>B%Wh+O@`8ZXkns5bfH
zzCKrf>C)?1wKz2B0$UK#=LPghVDoB;+dYxRPAZ;JJ7$T#%B!;N=cA&%mva&KD?!$Q
zsU$4OVf1ih3V@d&Bwi`9s-lT*h(WUWUHVvR_Ah^%He+X2HVn3{lLuJ{8j<65KvEY>
zL`Vp}r9@5m@BJNz4ecoH6tmg3)m&UZ0@{+|bb={SEZAYlPWK776y0P&ToWG+auMH%
zc@aciwk`U%uX+oxpfgiokeis(jS95TfVUwBn7B#yBvBz<_v9w3zqeV!7H53H(???>
zl_)DwA;OC{VQfM3R9(b;hU>SL-9<-^`*`WgU10+68mq9PlrFGuB%oDYj1>^TfRTTp
z7?OOVqA&Nc_;S{Or0r-;tiEDw<Pq{KoHDKUUYPT5t&KlyS{GmXcX>BGhh#8AMA;k_
z-(=r(nWuP;U5?40TbyF>7)gZNwei+_CeS)6La2g=xC)BypDFfVzeC!QjLMwsJyfHx
z_BQn{1ba!XM<*PS2{%@J2?-H4?%S#=?g~gkY4r3PuGy|ZnQ1V~$}%iyUl}J~XM177
zBP9ftrF5AG+b0NA(F3>$hv0}%Q)NNPBh9zf4tT&7twx+EpDjgfW4OfHx1N;4h>gl@
z(167^{K50U(Nk~BP1kf({ko~Pn-Z}OHA^vDay!V$Lz>aD2Bg}!gTVzA)7zPB3FQZ6
z;;M_#?5q;D#{k2%A<VYV5?Y^bxA570J8rVx<n%|;vEtyWauhTj*XShjyR7UU4IWd7
z9#fJ#+6t=#pId4s(x>JU5`$_yon=u_1w{P#PxAdDpc*RU;F@zdhSKy|<5&Gh%+p1Q
z>bn>zQ*hOF*g1AHP9*bAnwJLMa6EQ}PnQ=P<IGW{b9Ew4w3aoKX?C}1jC{)n%oW^x
z>&Tmt8K<F%Ap&^Wc2o`oh@zX8<-Ys%TZnpWEEgtz&lt=}XkECKHeFkLcNCl!l_RNd
zu_qwkZIx4!Dr}o|!M!?@GdpiA!?H&hsEc0YXjl?Hj6es}$mK~kSPtxo1d5zgi8yWH
zKBejNz9|Uo_TTJMB5aYg=Nk1;g>#F{w%+2FuAd*Ko?g+{VJ(3;z4b=`NfVQ5e?qHU
zfg?y=!7b4Q_ou==J!His@+_|hsdhX|Hzq1bG#N(YB7K&H=&GVh1ZF1Mi2*4IB9R8&
z5M_GTZE<fKCDCbh4nhTrQeL`8Av}&MlS+a-2#iy82N*C#-LeE$&xtDo8Oz+bq^`5c
z*$8%X*MzCV71rRg=@}yM?zSW-N{hF1Wi9@Er%iOS#T_Uw>ZfE-%OND1k3=Pj=*FF6
zl$DR;^yy13rb(e4T<02ifO(0uW(p|c5`9F5yBVsH?x>v*L$hMCbTFfe<EC-;h~K&~
zM~quR6a5CO`jI&=5g#bNJoGP`W*X0hYNTp>a|oY0G`m)-8*zrzp)>@_nwhvliqNMY
ztPx%0NIZBh=(ad5{#BRb-tm-=5+k!ELkZRZKqP|Vqmq<RxF+05vIW@{Q*<QVItMY%
zZgOf5G;MPO@-$HRE3AT%FK8ymzm8B|b{eGBg*nE|90U_|z{Ph>iBn@lRW0{X+isLP
zuW5OWyf;&xZ6`#bNe0kVw<2674dH1_k~)*Bz!0|S4-yhCMdd|9r)E`OMN@`Ni&K-%
z78tKqS+i~C9yZ?<@ZtlzimERWP19}Hbp855>zz%8nX>*?^egMRboGljBD`XZWxjk6
zg(A4%FL8#A)CX18n;}3~ki?5_nS^_DT%}`}LrF{8qP5O+^6~n4(xI!A>G*YBGXj$w
zk|L^-9S5Q|LZ&Skh`Meb%AAo8j?u<$VUOj}<wlH6*u5G!lMDk;!gm65w$oAOsF8z&
zud+-disLHdAfNKl6?y5`)kQX^T3hMIscd<wmPW2NPo|3HYY^kgiw#_fCMdG5I^fNK
z`hmK~c+F4{`(lJmla0#C`8sQLpF3xKwYIIY#Fy-$6Ib@~9fk~)eU!F`9o_(Lljsfy
z5;5)a0_#=M<s=cy;bfR?Uo?o-oh*TsNy2bl708{(sxVvUts`L+a8YEW$DAh{V8EUr
zVnlZh#?_e$Cfi78BBW`_m!4+Bl3-N+q;t<ubkSJ4!|I`G9NH=ndmFYnuK>faZHZ2M
zre6_`Aj*KKxJW#ONd!9grWiJ|WLYg;OBl{MOx+G7+)7l0%O_Db_ka+pMx4OUkjO@N
zZQ0_ih!L-MkQmeJz84QE^rx3;40J4J6B=W1RY>z)*J-6!KI8GLmO;oCRmjgX9N82!
zbWyZdzviN^Unp>6NB(~Fs_ad0B$Hx+^8H%WtY-_%eOh1|doM4o$1({I_b$k2-i06<
zQjShGqWcp`S$)F?pNz-mIE{mfu7V90roUVEo}zVjzCNFNuY%@LDWZz@l;(J~V7T)j
z)P-l+#x-s{!beGxBZ~S+BoY!4Q0;Whhn(QLlJ1)Ni_CO~9%OZIOAx7VN>L4B+sJAY
zzlU2z5hQWMu?GFLv;ipUhKsU@s^Onozr&az9#5&bJ~5D6*JAOd&n%(*sw+!jeB0`>
z4s()G3KZm&`)#%cLRJjMc=@5LDx^C(T0s;iO5AX#UW<)jW5Y@DqS{y<tonn+bvhkq
zsY@BzE0@vY)?CoXiB*aPOi52P<CY}b&ZL5r$M}}p2u`R!906B%Nj9VO!=`?hbc@su
z9qLy=brLMRe>J4Gz@@m6P7A*6l^M~3!ZXbSjM+NlXpMoY6Yaj)2Y10Q^UF@Xc6yWa
zw}wz)X@C6Hhf%WOzor_5+oanS^4oQ`;}E)?)_W=KrL;{Ly590b=}plz=9YT1(LH>k
zu+$du%}dk$O3O;Vk0!wYpg>>0WMH!I($&zEOuSXEJ^mWWjxEapkts%GA~hs@giEhE
zkB&gfQ#TC{4-P&_y_@?o`qrE7KOt;P+tnVHx1cs&wc61AL7d(Y^{s8j8!igeS_F5V
zW;~arM3Sh2A`Qlx+lZ)W8!8f_nkA-^dX>;!U(>3+b<s;4pCWG{W3f|K<$6oDs*wPY
zTp?+<jF=`)N*a*zAonW2P@0cQe48u9taOJ`eK`7>gNf<IZln9EoJOfK_Q8n9IU8Ur
z+U}t^*~cY}Zb&d{DLo+(ffm$E#Xp2aQCfO%q|v(6hT6wDP=@Cnp=cd&W4=z5qiw(^
zqoa-*Cw)Ynkghasw#u|_378n%Ig!<<_(?L7KxM1dR-DFks~=o5D%3kAmfTixkfNeU
zb|?lkzzZ*gX5y*@Cf`zC<8OBzZ~#=rd8%|vr`5HGM<#YI+pvlwpM;bsW!wn2NYfCR
zt!;ZioMT39ri27gImni~ih`<H<(V_t?Y(Y~XmyonK29qyy57=?z8Vq)nPehK^^qzz
z(k|ax@+4FOPL>+qmFf;(KATE(s*o{!HaWaFOc}y1Q)&r>hf-7tRt@larc|$~*zSQE
zIwawmnh`dzygBwZuN{YnTy|79AkzN;bK};^>o8|A!?iM$@Qn6NzGTiabT`(l(j4e7
zOgD-2IPuL@w&Ju-8aV1IlBqDj@>EbrP;tq!HCm?2KF$L2elsNG15R7D--%%JZi~`o
z%>e);YAc3rgH0ftsK@|{v`g2_0_*-A&^?XmW+cWTk8^gt%{9xO{4Kg$E^Rp~TqYwl
zuSkf3^TsI^!v~#nn_az&iQ5@P%&HjBKb6>{VstiEK#gO;`FpCPV#tykL&?E(LDOk>
z<b>JmDn88ODNa@0D=ThE^4qTzg!O@?PU@GXEk}1B#x85+<~XYn9|tF+PtA49SfjZ;
zAs&?6r`S{!02Oa!6x+av<*h~Zo2=QJgK*|Mn$*F`YT+h(X8~Z&khZJ~4ub&|*I)P2
z4ncQ~;&hv7@<CKaVZMv~Fv9Wtb>~Ln4li3h%c#p0sjy!YmnFV@{{ZB^(19ajLhG9f
zC?jZ!g~fNfcKW8iNE>x5Mw=c}u?P~p7qp<kypEGVJ-H14wt}t*?Z}lAj}k?DF^+}D
zDEy-k7c>_Y{BOmy2C9~^)GG*h_Bj(Hm0f=h{{Te}LB*Qmk(iBE<B^aO(#X&nhbg}E
zECjg(piYEmIBI<&!Y<}$lucL6F^CxWemJ$g+WS(DCh9&X5y+29l_EcEg`V^49l&`>
zgl$`1EQ;z}w*=BltvdX72GTcSTi|w&3|i>b?XfbNQXAr=)Hv)LXpfAkBrYH-xZHyw
zaTQg1&)So&I*+CqJtMeJ@b!Zx&RyIG-b*Xj<<i%avd8>uZYl%zS1ubYsqk$ZX|@#=
z#}G@ZBE-)#Kmw+`M_1ye#77x*&8fjwx1{hg9ZJU;&oFaxPC0u|DpWZ3t-8f^yw+Zc
zR}t1`y2-|z5fP@=FBhY>F7De1M61&6%^|OWD;&l&{{UAiQjRc2n<1LJa!5$qY7WU_
zBah2sSw~SYPoc++mIVO$_f<u~k~NHEISaX#MQ<v7emx>xWMjU|9K{0i<>V*rq{(M-
zko#`A*<eW(7qZcysf&aiQD^pT=NUZR0GFm%K07BJm_uoX#mrijLc~cMNS4fb$sM#y
zSJ$xX)u_W<VzP*Dv=6Bhqr^=Vp|!m)%lGl3neetq^PP`ey(*Qq`1Yta#mx=@t}IeZ
ziv~k@{zEq!DES0=2Q{{3IXcDK^fu$hZChcn56x*M3ro#5bg6Rv5x=XxxOX7L@p{MY
zCpg5pl)1U`q{hY895~AwS+LB+lMo&TAOk9?A?F`+n!X}B8rnQ~w_&T<!)(6Qjgv6&
zY<o^5!-HRyO=KS@rVOMhPbmR7`8g#F8j#~nFiku3?Gem6`my@FI@3}nvzjt6n}vIe
z$b@RLBXdU<L`Ne?scu_DZV{43XY!GgM@0b1Tl|9N9Ifl|$NftTEqzO=<g#7OG<eiy
zl4^}^HH|JqS2{)I*-%Hbjav>xghhZdTUimSq_+@l90`vTZ!loeImsOaLwz&Untdv^
z#U^IcBub5mz?qW2i((jbc+b*}>n%&{Ira9X99ni|nUI4rh&eLQ5uong`~y^I@#C;|
z+YHNFS6q82cIO@}Dss5HDzf9)xr+~~xxfsaLuK)BNwhR<`l!?_qXVYQorjTWrSuoA
z-(|}uG3<(#beW&#_eisugyZff6^=^W<B%rjkQH;6OcOpqS2vxh@vpM$Ln9ejYjdr7
z_dyn!9GA3X8PJR>&7`Kunv->(zLd=~7Tx)GQl=YaDp@wuk((O_kevenGm7JTqJbiO
z%W`TtkGXA+&!Kj;$gI5){C+w!Ua?KIR*i<$OSH)fDuQmiqI~srBMZ?SMb~EOx2TY#
zv6V!SB4hfAkx9p=GhF*jGV6x>(HxG{(~R7K2mQ&mPB`f+M5^H>He07R(yXO7d4i=y
zO`Lej^!WLWJ&jX)Bd#+JG~u3nfnqcQj=o#CZMdQhii15@fy7~BkTs^3-%?aq=rJ-h
zx!3UEj&#4(cB4~PLes1J$REpN!ZWgMaj5og*GKPjGjG1xsge)SJh>n@;75J7+Hi5o
z2sm%^PHP7qq^gzvK14dWu7_eP!P<r{yuq2dDc2lD<R!WQn6`+dtJm_ytgHM>Hx#p@
zSx0@)ej+vb?8xMZVw^=&n35`ZPt+^neD$HU6H+}UGiL>9sx>PU%%8kuU{g|OvVx?g
zD_ydZXCPhn`;iz6TnxlGf+-rOOZvCdm;ja*8|zE@-`#uZc-J(RO79Aqb>OuQs5t^f
zObEHAHFG90R@k!L<an;bv7w=GN8Tw5B8JKwP&UwcEQC>D6bQFb5X!XQA%2@pH1ASr
z>1ANBXeT{j;7LZKIB4HCoNb^3?8Iq-?hKd2__$!Hw;lRzK#`PX`BG`c>&?h>739sm
zph}StE38Sb?=b|~9{`TvAd#vUBz)BoM}CK7Ro3MAj2lcYF}W^n5emVwH@(ycY#TU8
z^f!&S$|Ht|<6QP7P-Kn4QRGGQ?0IcE*0em9>*EitH2(kz2^oyZ)Ler^=&}6a=jmZX
zvSDgqIVSd^{{R`SNeqN%VA(XKCdw;mAOszKx8uH|(3l617N(|2q|CIQUL%TRk!81$
zYBUUH%6*mT#9~+hx)T&uGBkju(00gLP!l8_#Wx^T>zKP(&K*mG$e(ipUY}l7!M4XP
zF1D04MKq)^>C2GIhd3T_S^$dJk*|^6v{V5&s>S2mdVrH}V=B$coid<_UdxZkChJ&x
zj`EpeLO3i5qeR%fyGSSl#2n_G)HjIhpMJkZEv|p`+fKdE*16Bs_$@vE00Ap6@v8g3
z{za>PH3-P5{7~C}-9C+{Y51?S!$^o|&^GB2>_mb)qcn33^y}$<+Fj?U<G0Ez8@P>m
zj9k{$ej#stB%{2`vEfVxL}kM+`Nk*bt4=;bsv<<#uU8tCty+_-n!e7ndRO%ylvcNh
zYAaavWn;x2wgy;o5ea)v&S>9}0Gwt-O`|Yr&5&?K;v+F-%AmmY-X<4MYo+s<b}nOJ
zmiW$164>l&CWt*Smb{sgk5-e03Qbta1XT_O(g+y>IiyDpM^^fguY%@7+GYl%Y;^Hm
zW@Y%jH8v^gJJvV4(u!6M__#KdU0A^@6OLl6$5`<KAG&UFZ{_4PQ5SduwuEN4j_LJ=
za|0jNuUEKhG!<;WANeB#pE5&L7{fkAh@}NL8%q<|RY_Yn%!`9fwgKPiOOoB_H>FQg
zSl#}a=#5@=ty+U-{alH4b0u1xOiy^(tLISj?i$P{)Jzq}`(mt<gkZe-d1ScV4vOZj
z>OQYwc~(uH*ws7u79DYw4eji=NYLa-L}UbN;<Sp|JnUVWKuw2rPA<;+456Zxtv2!k
zrku&wkWFpDCu<%3O}v2jDw0iYc1wL&QgQe&YF4(zyk4!^$ns^}MiNnwEw$Mh5Snaz
zK<jbU7-c|O5_px>K?kskO?9S`I}l2DN=&Bf>n<3>0jH|m-*+XU%XNfzwk))5v)V8g
zM`dkPQ<I7fot8W{m->Nn^ygoU%*?AH3T1;)Si9{N8}9cxcF|g592OAdA$J^b+i=ka
zt{d;r1Gx^S;L~Vj$}huYl+3WDxIrORuvaDb5nD%xiVI?dENsx5f?`UC4CDgc$6KUL
z03;gOS806P?Np(OBFXn}pi#<c4Fd90E=-!*s*;oB%m#jf1Zl`!wMV<oBBvJolS($R
zN;q;eO-@KnL4hJ&Y#P>Dv=&hn3D+YqF$w3QvZ|<pYH8b0LR3$uq4;-Nd5q2eYRj%_
z<dV2@Yb@bZ_E`tG3}@t<jVTBhX&Q_PF~jUe1UDQJc~LrQmRE=4m;<@SQ0!PXZGq5K
zKzR%uV4Yv4J8>D1G2JC~JEZD1q0B)^2e-2LvC_Ls9=tt~HSLY0*61H3&o$33gKw7M
z8mFp`R+>m}9mlb(ek_{^EwF8YNSRJC!aK~oV==d(Ituc%K#|0p@|`r_P$A_QbZFSD
zczH%WV-KBN>{hWKtB>7oM-*ZrxONd+Gi!;$U&(OW?4rjmY;}2y;W*AGhn6E_n&mcC
zaw4`XVUDE81!DLQ7DiE^_l7})Q#2Uvv=6ol<J=nUcRFa+ahT#bL`!Su*t3^vFTVao
zCzs_`yk=3}nu3f0JnL<XDI0Cxl!A?)Y11Sp2r5eklmo7~t_R3K4>YaSK6!`f<zz~_
z$l8QB^&{BSHfXYzUrN_(VuOHDs~JRW<h2l;=Q2<-2=uu|5tG9Q#s+by^dQWNY^T%y
zVJ-TpGM^Ehhy#e@Z3lW+bOKVd6S!Nrkz|sYs-kxM8Z3;0W3V*lUIm9%I|!;{Lzvz)
z<!ftX#eqC>MNV5p4LdpZ2==dS!C38_g>?y#LU;BxA0x|b*vi|=Y;^V(Jti>ZOG=3Q
zMRMFvabX{_Y_<~LdKkG8x5%Gip$3t$ZAdvc4nrDWn%nsCw&z5dfqTP9zuWK-u34yf
z{#TPv()~5g=<KXQmE4Nfj~$x(M_(1F4XaMSF+mxt?X%iLY>&0OZVCdq#Cpm3j<C?;
zxeO*^Nbk3GX&myLLYEvMZhLPs+Cy}T7<bw3NpX^Fc_WBYW4Mi>2`5`m)WrQK!ZZfU
z1IKX?r-gS_7RM;9sfg5B)`0PLt1D#4E(B7hIDsMbbdeFZ)6Z-bR}jBx3ZqMz$#ES)
z#O6OcHmk517xj)6elTq~Q6IT=KDQ)`yxLK9rEXJ=1Xq!;ZA8~+0VtLOZvnqEZh9zj
z5M`aW@jN+tDVR2a#gCWjE~!-FSUApeGi=sPtt3fx5N_I2XsbI?W^W)7q;ba`Vro3g
zsJol5n}QQ^92+0b3r^)~29@IY$k$D?Xx_$g#Dh&3+F^&JjAvYt-)&t{bj?+TV_`%?
z6WIuMw@&f9JxpPX`~kdMPO+nwrI6Ux)<mp2`Axp-HZmi;k2>4No!1zSl3W#h#jz1Z
zbb4Xw_KlT=#xEBctgd#mFUM=~y4PgVsN6e88Z!^dny<zqSGh65JO2QPc2P(q`*ws7
zm!lb2TIXwSHuv)=<dn$AHK#%5c0xL#T^lK#rj;{r=?y@7Nn|d#^TSqE@(oPfh%%lR
z#YN^FXjx<&XaVL4=Njbrsw{P?g){#ESTMBXQ!XQ8@g&~{KPw`Q2wqinA1LK9^KH`^
zW)cYj*8#;Hgphdc#Tl7J-K#7!t~NP*)NcU8UbcmKI#NnEc{s7FB9no;BG+&kRTCv6
zb}QgWLJg-&yhBHFeRTABk!CPz=1jWM9MW97_FH91;HS2Z-zWQMo9xW^fa#{lq7OKK
z0=wSFb_~o7iKl^fhr>@*2ybjaBSGs#6QWj^8V9arKUDCun^lh9Nyl|R9WdsOLUGsN
z*+g^|cO+14<wZ^QA!z>qW$X5`Xl>S#YmJ|#+V@$znN@5tC~PZ570cLC(H^XpB8&Q;
zjO!$bo)ozt@9>VzL(zAANL((kGi4qQZ)_FRnzf7A+O{VXERNezR#y-O?nkzcEWXr$
zUeCA(K#di^-?krypQ+sw$29XQZghQE!C4$5AC?<5xz$`Sa(o!E%}6_T(3802MLmJ`
zTvog|P4QDPl7h@dIJM(}+1>--stz6(7s3w*H=hyX_fNcTb~os67N@JneJNlTzNVwo
z$8+#(b*7}AB5#1UR@NQo6KRUti;EIBF3^!WYJgrS{TAtes;yJi%|UBip<{C4T(H!<
z&p6a-5x$oQTxHee0YT2$E3Bc3k1uZ1O{Xyu1Z`HHnWX2sL6hWpW?5yY*;Cow6e)Qn
zMyx^QSp38mH<co5gswK|wokb0!lG@u(~UX0iV{DwU0Q|eLJgOo-$R(iqp)9=G4)?i
zZw`D)s@O5yM~EZ)w@jnf_P20cbkv@0P(=%ps%A_d7HHi<U4GE$&<#$y0kFM!-BQBI
za=Eq*{{YVuwRn@c)4@Z-HET_MPkM@rnn=j6=(M{^Vz#*5m92Y_-+57<+Q>PPz`OG0
zASyEl%jDRH1r$R?ysN3o{YGnEDXTWNc!P5&BuPwZ>q+RyVh}`Cz>dq&$k2%!?!6`3
z2AeW;Q9uz@I1yo#)ePad{sZZgPqgbX(h4S|hB)R`T*S*f#^Ja7Ru(Noaa$)G*aRAN
zqfXmoicOet*uu{~(;X|*yA4s*+F2O(G?u|i+!T*0(WwkL;2A)PHcP5)GDWj;hlqf)
z9nff3n6Fv#%Ix3sXCMvFr~d#Wsq|Dv#(_t>nIq%CXgyR*T|>e2`ya+~98)EfQ0xHW
zX+=a7g&tv{Y<8JHddc7dxRfq9t#js0frx^s8TE5ziDl=TzoIyHWj`8+Oyo8*O8SXL
zqN?ypaf&MU-xVY!6MjXFnIbxB<By|&tcZ0(eIrud%j@;YoYMo;U2N2C>a>1yQwh2(
zIsi0Y;$?I-2c9O|+?1s{BguPSHZCh=i8VoxU(M1D9gy=_Ml>oKg>j0w^!q&8-Ps~m
zk(zQ!3A7HovoE~f=6e%nO|;5&0gbH{Xt*DHowVB3E~!@bk8q>St8YsWO?Wne6=`M}
zfjxu9)tc*AuEVp)Nb&2d)}4Mlh=9D6=&i`+F`_xyWf8+gRw2V^l~LDGdWCgGr_k!s
z<^)0zI=5m}+}2=#vmJ314pi`A1qG1<d8U{*x$$|`b8<ccR=LCSr{*$rIp1Rf;^m0{
z0M2$X8AALf1h+SZL0;(lc7dW6c}bS4hTsUGi;6&O*vH6m?5cc881%B7w72b7S0qXB
znpyIi<_(FukE=p4OytN>B_w`8ZjG;Pq3L1r8o1W~02_Lub0cUCZ9iywzDA{gGiA-g
zZqpU5k&zq>BE~b;PE09E9hYR9h#<s><ia!wE(dZ)7fkpxfSp_6`2JNs%oiBQvWb1g
zRr~@TH4%<Q96_TeWliK{g~bh35d(?x*txFq@f>0kaO&}VZU?o80-jn_Si`gTM6d<d
z+h`VfB1>J6Ly?*nBo!WHs)^CXE}i2~;9(z8u{z60QlCZzmJRm+no|`NagIgLbwnZ}
z=0vNxcvMb_&&w4zK5LQ1o%I?E@KEyGj2BIzCS|MMrSVEC=N=B^7iR^>;%x#iCYgu=
z$O#`JLq?f<mlWG=m#VCPFwwn0xr1?|SgnP@FzZp_<QXLq#Dx{NSrZ?_;h=+T0<p4;
zryK1c?jYeG<*8k6hT`tzm6_Ew%&AS*F)=HjnA~Y@LrDM(6LF413iMP_1yO8V<IPoj
zWGI_O(|t3AqFC%k8OOyQr;4mjw4Wu%9kppswyH)k{{SQq#9!^SqS&~qTsB`32FI6j
z;ot(icC{4%H;u{lQk<ixr5P`lNMjhyRmEwyU19x+KgCLXh~1MUcTUiEP#Yye;+rnt
ztEi#lc<jZcg&kNUY35q*FMZjDf~euhdyu@Z?nFrPs+y4@nhLgq*CM?BTKsM$oxPK+
zNPWlB(!%hh#fZ_eoMN={r+5_5T;e=D8mc0ykgriC<uBrJu2QX+Tw%H7w019ugjtb_
zEO!I43h8%&wm?AMRd121pnscVYe}FQt~u;(x+w9RXHEYA5F(EAv~=~v<hRyiWN@oI
z>~DfPj%=#osS-AZBN<O~Aw*dfnKQ3Us(T$6ca?U+3<Z50sZO@&3M-)UY)Z!?h~hja
zw$30A0!8D{eU;4Hb|dD^HV`jZu5NfS8CDs#rU>G;;EI!o%Yse{?uE#S2)?02LHG4X
zIEktF=9l4NQ;0>qvzIh%ESV%?K{nfx!KPdnS}xfsIK8k=2rfQ>;ZZuM;bbDU9ek+9
zC5$Pzjg^gTg~Tl4+O*``ISiy`5?r{Fr8dzS0--c$+B(t<mc+<-nW}PC6%~bFG7B%+
z>E>-{{O6?0Sgty7*o3w!QG1=o8bJY7bOq5=LR99%y9j(BzBj1aVV+l3UCGX&S*>N9
zZR6R&I*C&yw&C&))8bNNhz`%PiN#1;MC7gWRUp2TrrF7+PRlkCmY(rjkkrSXfni+x
zE)M`{U3fV0c!ZU$$)}0^k$$a?K-UMVbG7WTT!JlzA*c;a#Ui({!+oibN@3z=$Us{(
z8FN$@l#pIX!moKv2#~vC*NZ%^f`=z&t2?8zgBnxS=v7ulT+E3Oklhm_7GL57TPn2c
zdkHw-(u$l1d(6upk8mXs%!bkkOkhcYeIH?CJ^uhP4a6qCl|@aA5zW+9cG**Ygo`fD
z@n)*4@<|fjsGD|C9<Q~A4TW+ODrl^_Ek39S>u#qBE{KpgpO`DK_23-(QFPKWLxr}Y
zF_%e=PJnODhf^rFR%geqpjd6Xpnp)vWqG!$hAM@&`)#*CIc;34neSJ-l256XQvU!r
zmk?WWJcy5igY7uXk_S70qDlr23yr$qppc4)p%Y5V$K0j?I~toQ*y7Xw0E)<Mr;;!k
zk{~>eA0Z_`LK7Z9oQV}SA22d&7}YSQ+S65|kRe#K?Td9psTr2RJA2Gww+#`F(mF&)
z8wzZz;8c*~W0)x5xhtC`!9u!mkm5INwNW`DWIS4Z)2){hGr?mG&Hds>7DI{3MNwH$
zQIH3D3(c}7i`R6-CRpH0q-OPmn(Aa~Ml+N=Oiq_kIx_bnoBhPt+I$REve<z)Hjj#{
zWJGhZW~F3?ISf{;0>RN@qQsjammCxoMUQlfrqaE{gk&<{ppdqz8yb?+cki<5mTWZl
zB$*)wLO9g9;PVn(fyho=3nX9=+i*!8WgP)jZNUc@j^)1^OHI6b>)8W{EukEc{-EkE
zZI|IK#)E;`LA(I=88$O2rJHKGu;j;AQbM)e2@h91;O@!AB9I2Ah|w!%-$459X;G;f
z8H(#7MY2qv7VgqsoI-kQv0DQ`nGw`)^9{yb7M(?Lv@ay8B5I@491^zx&2lk;rWUjn
zOiM{}CEM1JK)zwg0PCLEz};`dX6ZWHV%a;o7>cWX!m7dVwFoS7+NxaM`p+Yvn%vm;
zR+#HeK5@iXu^e4iL7O&|2ez`%1>KjnW!wQ(vkXHd4+E_!y|2~O)Bga~rG)F%M?arM
zH#%}BsLd#5+C`&n`)HNcNo<nQT%@&)^qD%#s)(^4jO(f05!`{&UAIn2MAQWJ6{GfA
zV%|1S=h|;<>$T+T;0^?c#@9HdAQ4ef#?V?lyf`Yts;Hj*c=YpOh>O`Bu9QtC@!Yyh
z$&jjUTP2f>+kqo<Yq=Pry&H2QNbd1AO<iqxqKfqb-sYD=Gi*mz@#!s7!O34rN0=zQ
z9Sar|grO=45VYbj*>>4eR6=A$f>BXy4V7!l8Ee(G*zo&vN+zH^*91}C9DeC_Ui2BY
zkuGZ-Uu!lnNs3Pbp({oxLW(Qp2@!m!*>_L3R+JJPs+!EY*VZ$U%ecujE4Y^X@4xT!
z{{UYdTI%i(TY+aXt0*Hh6*dBv)lIS}2_2~>W^ADR@JCg`5??=BhxvTa#dSxEPOj^}
zCFYx_h1;$6JWUvP6@>N}q|3n)T9g@x)<s(&5hs$QxWWiN+Dd+*9luZ-Y~YsPav!%}
z871Yg{+0W6UmeFcR-M@dxTum6`CmJKU%K@%kv`!OIpI-0o<F5gJpTZF`dJiA4yme~
z+L4yuJiH38+xqoAl(5+XuC8qP9ub(3BNMK=Tl@%$Z}alL5fjeo<EpkF9%?8;go=x{
z>AENH)aM&na9oZA;Hd(NINOQ@o2J~5lgO{1pSRE3rMMlFTTIKFjO2HD6@E0}l}2Y?
z54n!WB`CyiIJ{Mvy~R{G<eUJ-K*Ys(k_mvXUvd0u1^uP&pSz@$@-f1ND!JN-(PFUe
z1mYA)Fq&(NWhsXmaNTN4DuCl?qOKV!aj>(|JuuDct6W?AhZ<^l@Te(kYV>tBdv5IH
z_D|b^aYa*Sfhj2}68Y*xTuuym@v3qfC*sSO7+ENg=?TAo5eUdWxcr5&PpHx69Bo^3
zkuT~XDBS$cwUupSn|EDRXCK46(}s0`TTQjJs>gEc`sW}9Z0*3-oVf|zVh?oK?YQRc
zK1`cPVr~M87c&k^PgCfJQ?;uE{#Scku-VH(P}vKtAx3z-?R1hz@Z`gB<yHVu*Ad0;
z8_H|RJAYGTcW0*BZEc8TE_$t0$>^+Ln-=kHqdz0PTG|n|(15nC3yLHvK+eeF3Op(V
z8}u_=_ob*l<1ESan>f?TtfL=Osnuw?AGqv5VYFc%l_D7{m5v)iATJj+c@=pX8g((m
zVwg=FO%06!9{2JJuFDG}TTllo(D~T`<2o^}dU>gM{wTR+h5kogKZ@pZ6C0A`dxqPp
zNXu6PkpVdKj6!8ew@{Ur992an5nh>ERg&o)hK|=%YA&B!W0pF6P-Nd$-3NMh7!nod
zBD~{`sy6g!=11NHQ%LBdYsEmi?R%SJHaKG#*0Aa$x{pv%T1<aY@g$8ZSxFH?ZXB4=
z+!K9O1svG8y1k`R+s9Y>S(xRSO`TL+t3Pu4Dkv)UDV2T*>v3{;E~n>1u#egnBD|y=
zQBhkbRj<qdaSgTX*okF~R8yGa>CT67%q~L=QAk5gc^mc1W64FXa_2+jOULF=oQnKO
zT)2kJmtH1h(MvRL+yUnVn|3>IAG%}&$kB(0RTGMC3zJmldJCu&Oyli2Wk8do(kw_K
z2I17pR~@3bh`{(Fj$tAMwt+S#TW$1D$=y#h#@*ieVHAu$^(W)AT+(&FuQuMPo(Z*{
zA1x#bD~%X;5<8r>IPN28tL@QLdV7t{!((A{@nyfpB_y=O?QEmCgxxB#PQM1trrC8>
z*fSVdrNDV?Z5I_KE|UYCWWBia>h|&BRN0u&%8T&p!k*kwEc^RgX~KCGv%}gi%;0^s
zMIHBF*%#$hmwmt2ua7&Z88w_Dv73;;9i|N-K#NTkz?cTop`y)rQK5+Dz+#)K{bZ`U
zZM9Azb5Ca;vf`F?WUA>*G*P70%2_bUr9?zlog_tZuL^=nh)O7&kr#ABdl*t_^0r0E
zs?&2TyEV~bN!z?gq-XvewcM3giix7G{{T`diZ0z(Aj$xunmo@Ljr2nrg^OZy=eHz6
z3~ANm5gc0r2@Kb?^C(~8$<A!L=$e46bumK{Awxw}=vC|vi}36G3Fz_Q<M!4gV%$2o
z?W#xbMg(z?1SBD7Uk6pNGTa5y<Ku3b8I;W4vI0zM9ekQ;(g~|pTzJ&IuM$y|O2~o{
zD}n*rbWI!LoL){_DvIAxu5%4YYeq1dPsdJ{y_dBO!nS%7nAKdC+(>HC3v0>w4)PX}
z7hyngcjgEy=nJH6Ty*Qza%Oj^2C8nRW%PMn<z_XK=9u+cu<erZx|Z)`r1@{Eqd=n)
z6Q1Q+O~gKUst&{|o_bB)>K;p}RiT^dK9=UzacmBF%yS@}Gzz@qh!Zm-qs~1T*dzlD
z--f7)L9?5x^}|gw+h0x@{&lD6g*S7N4U|%6SFL8W)Qs85kx^;|_8u0^$*S9Oq8LRU
z4t^9w;_`4d=>yb`yE`uDMfFEnr)05dtDbG#@)ADXx(vB6)Fi||Y>?Y&Vn~oc(`0V4
z00?C9w0voV2fHv9;ZyDcT%g8sxZaf(R;*z<uR*6VvaLeZ>zXV|vc9fB-{pBk2&)_%
zY-7l2&iS~J+-+1$);LC26UnN6g^Q+oSxrlQaXS#n<TYXM-LSfmfjZSQH+E*7(3V3X
zl4-|`9ND*-VTkG{%!$rKy#gjZY3cH8Y@=E7496|B#;|jbT{atXr#TJkNhb!%OKt)0
z!E4>FvUD76*5oisX4<Io=y>h@HNnZ|Sz-E5Uoi3fout%Oa>ky=<JHAEowpx_86vm}
z!n*LzM0wOjVfh5xEf3NJ9M`zg;Bfn;zB0i=b>sG4GwkBO1jApdnSo?9?vnr(cE5sy
z)2e&2iMHyX1V`jIIb3tMF_l+&3a}B86?<TYujJPFW>aI1SKy;tA4##OPR7OLIz!7N
zbkv37QWBQ?QQ2@??i0WBVIa1m+3t%d{-Er!kpBRK`DUC{*IPF=;J?Ih{6OR@Gfs4$
zaa=FUaZ!LTZO9ZAd3RcQr3Kk~JddaPiHpsfjZkRwEHn=}AS$nANp$EOYD*~7g8BYb
zg<(J(?MZYH)r1uzNgR_)v2%dVcBsEz3IQN#APd!AP~T6u*34_u{$;1^BzZKKQJ#k)
z#Ds3@WXEbniOePhqO90gEjKKQv=fZ6pJ`E7i4}b|5guIuYF4zg$kW=Ll)2bEsViAc
zV@3`nSS4c9q=CHo=AtU%gJcc9s6vOh(P*u%oR%4s;t=plh<Py>v6ZaHpMxVNF88?n
zEai-WbGs?tQfF9kZ5nB{AFN0b%RJ8_cJ~rJFTBWVX2UxMZZj#V8JNybVmPvpAi!y%
zH(|8f=<5s%Naqx7Tq7hS0-2b3L)^xSSNk44b;-`1g{^aqX{RJ%>E{Qzi<du`<8|)Y
z-)ao#u`!4?lrkeorLW+E>~k{*)*&=ZyB(r)c9}Mb;2;NuI&R>;pRHrq23I>6p^1`I
zoVHrc@{E0mmRQQmLFZBm&~vc{w%fPNLH^+I;33bfud5U6ZMDve+35}|o#HvH1gnVr
z7N?VwYCwc+BQW5*ycyLpfu&^urkz%#$8d<lx}yB_-dJ_v&8B+Rt0Bp1fQTdANP#u>
zt6oGzNQvHZNwCZ8ks--K?t-{6%miB=q@20U4r#TAI*N}jxvL{-VWHON%HFkCGU@RE
z(c7cNhTl`LJmxjuwW@j{6OX%K;-s2ndBp-q{{WdG<{VTq?Wq6}`*i7%htkkrVwnD)
zO@$}jQd7qUAG5q_$;hrpL>3KRWP2}|0Jh_*Mq8W61S!8Rrdw6bmm$Q+qF7sv)JE8}
zvODMBHXZ>Li6R|phqjN|brIm=y!i+SqV8J@H$dJAF1sG4_qA<f^BkQvvW5(IC1euJ
zO<Q=MkPbK_CBqX(K#|wq`yinh$lUbj*T;f;jSV(CaQ^^T<}{XqlQfr?)?@Bt(ww|%
zRm{r5Y%OP6MtKFEMEIjj!fmrM5H8{qQrskARE2uuk?H0Or&#c4`&jzN$5=S_3{$r)
z*v?HdmPs8|!&QHqI~yv<mw1t~23q=6dMtWmmurtEsEF(UgrQxU!Ksqjy9|JZ(3I4W
zL+?1titA?LCnIUciM8F7R2Oz;9Zil!!DCHgs>(I>gLtUoLNU>Z$l6G88GIZi?>QO9
zo$n!&&p0lUa#iEkm>%cUA$~yHsf^-U&qt6Zrsh?$UUt3{QL1ShiL`uT0++RY*fmjz
z)TN_t3r&Hj0}VQ+>%GEp67p3Od5Z|AVPhJ;MXYwK@p#frvl*yF{FaH>?HMRJ+f_*n
zDu-{}gJe9p^;>{h$&V5>N@0!NH!*;Eyy~l@n_lCOb>;~9sxjY=yE3Rw8<HFEJH>dX
zRyR3itO-G74>x(*H=wod;#WjwVb?fM6ozfuY|tHwtfKRDUNaZfvH)w6uSkAozeMI1
z7J=1NZ2J2*i<%4hW#kz2Ok*vwwe(fYy&jTkNL2@0R5Ujt10wnupmR4F1O!qwMTLEn
zlX(@!Q9i!f-i)QJx}21$O~<Jo7X_Jc5)vsq`{gCUeTG~?WukBu<>J7i*-f*^@*^Ei
z#jfG8J-Fnp&Z&ft0SIoqU3i7IUTLWUQd@jnZBSi#glxGY^(Hg$Wm-CLRuz1k07#6@
zijFvPRi@4FZrU4Y+rZmT0XM{awkNQz#$6Buv^0tZ>e1B~t<a1t-7-pyvnh*_zY=4v
zxfP44t{sg&Hb7q6wAqrYQ>6pFzkdGW(`w<PC$_}Ars@g8$Xv(mqsxTsC~n&OafIsw
zB*C*`*bfr6>Bor7gcn_w;G&~);s|mgQs}2AqIXW}SiHq_>Rq8uzEi4Nx0q>`XFeUK
zh(v*VY?%H?kP$YE+Y{Iim_gM!H&ty-#VTcmZH@jvXEzhO?jV#)2wj;C$B>U1mj}D;
zI*J>%fRD6jJcPPyT-J=B*X1qEbFOt!tFm?<q&&LUDTxZEK&04GY}svwTZ%Ez-vN8+
z_bA$lyUC$*aNo+JCeiXuCactJUHEw}OJH~PcI4(Oc`6Gnw?jFhY=%T80TI^OQbx#)
z({Q9VTQ1y162~XTF7iveI9XT<LY0z0v3wt~aO4=Q6lP0%y~~7TA|eI>&7DOgU5QJP
z1)QgBB#(K(Az^`Okz`0)0TkI0v0oq`bPw{Ujgb?kH!*WvRJ@=95WbV;IWAX>Htuyw
z%}!5QAfV+n(MR%IoEs@Q9eneQ@DM!F?x>=BF2p2=SB2v>5waPX1QV4F_mQ=Hpf1h2
z=#qAn$BAv{bzVCXpsH`Ob-+22BKJ$i$cfAJ{@ZnNTX5`prKE)srbNq=j_<i2*mqyH
z$+~Qxzn-}xoNG<>MH^ZOuF7lzjS{?Dj|t|RDJ1&1`4XuX+iZ?6mGY#joB8BQzDalM
zChhlCvta$X1E}L?8F-U!ZMP&e`jhwh>aV#VKw*KZwkC?As;ZyWQ}$lJIADaRr@E4U
zm0!2QeEf8*p+7mL5TB_WqgF1lia2;?rDV0X!*u%<lj^UZ1!&)eDZmE<xQP2?`z?nP
zBtb**w~m1`3@akM!e{z**36Y{ovrt`_|aPAP^CH$#(R<@Jf}N>E1=u0Mf|xQL4q;a
zNV;*jEx1S|sJtCR9n*b@J{33kUppeF?!UiOE?~B==Mply-8i3+N1KedS!&%hM&?Lu
z)~pIk4wDk3HU!v%uLshpx+w~x?wxzP5CjTR{%LLwk;bOASijN~hp2KbDx|Qn#OCA&
ztCe%|=BXq&K~7SdxOyB`yRN&jC?lH#YJv@zqViHr_2;EP2)a=sxL;TOo^6vfE}-m&
zCv`3H+xJ8l#CJ~%!FtCUkrJcQx3BzG?;fF#Ur%Y8;q`yZ(dgf<O8(5JT9D*;>P{oV
z4o+>SUN;3ACxJx`OgL(vMY%<F{+Zv-r<AV1{{V<rNfAs$R838jb-l%SuNMr{bn?G+
z->oc7C4|Ta4Sdwl2Sp%dda`mjrSOZ(b@C#gZod(tvb!&o@H_tde@?s+ZL$)IsDgOk
zWKaG*eMdNl<~TfjZ}n}rkH1-J@@l#?N{WTQ+s|KBu~FSuW!vRC<}Nq3;_4D?oL7Gv
ze}294MJ>q@Q}$lGyP0{AkE48;*$GuXQ+?BaJ$h9gxPd6A?bnWbp`y32kH^%Tl7H#f
z!`&R_K2ZgB-F`o(US7<)Zlt>x#`|okzWsUKK$O*2`idv?>ygK9Yb6=fA{UcmKyZOo
z6%*ivc_)v$Y`t_aZIbPe!2XctM5v!+-F&X!*Uw&F%)P4lMO0su@z<VSIS0z3qVN0l
z<s9TZ{QUV}o%;35e><<o!u`7P;Wb~6f1T5RgkHF~hycG=jr{fL#}{Q)U!RUXdgSxF
zCduJRcM<qi{{V0L_2eYcM|B0nHg*+JO~_Gx%jFktxuPH@<b}4#yZj>U{{XLDA2d|v
z9#DxlMP0Z50KeO>$N-AGexzSNA0It58X!?kks~IBlpZ@OqPOGE?7zQVTzRLIRioTT
z$AsU{UqPW?q#9lLr<6qV^W%T%*D@1Fm0N8L({3BDl~3>f{SY-?78G40qAIFvibAW&
zKc@cxe!C*JgUQW@eU%Xx`t`}7P&6S_PnA_v-*oY}mHTz|RS?xj%6zZ&{rVHC^5r0q
z*JW_IC&IM9`SlUODEoH71W{M??f3rx&#7i0T%9sRMB8tt$|ug>+o&!$XSz5js*B-K
zd~f#gw?xzqvXvTqkwI1qnREU2`}EsPu1E5S#9~x*w`YT68bgV&nIiEYDu}D&%5I)K
ze5!PpM_*`6<2t?GCEH#|K7Px;oxi_V`VB#-&SH)+CmOS1^cf6BJ9~y^g0!o+k-Dv?
zF<rk(?y1XhUmJ9sR7`UNiP2Gnnc?{c>#Zi8hpTv17+$hNx5w=x8BS#2#%*1MgT!B9
z9566xRaFrkLGE!?;6kda(LQC4dTsRK8LHMW_8D2zxVGJLn+p4#z1BnOg|oyWh^nQ?
zljKvOy;YIwEg=RgqM3XQVtcG0mBeU8VB|-Xgoue0c(~G{7a=avqOR!TZMR2Qt|5nI
zR?xC+rm-$EX>{cd;9InIGZIuACYDGrhO4oPnhN<|DyXZvZ`3lEFo!tzKlp?0u8aqQ
z&<210P76L{xyGqcYK%`%vz2Xene9f43W-)pH%5`c?opmVQ%`*3rNJFU?3t)GL>yC-
zPhIqWmo}h}bzbxer*7g$<6Cbv$m}Gg+Cy)VMpQogWGGyPd=BWT<8F&`yiRQWC36GB
zDC$afJlkbmjz2MDM<)|yY*pa}QBMiKBqUvtRTF-y^PMxxwKor}qxC0+!m6gEmX;03
z$L$|}Nj%eh+i{ngR$PwYmp(gl=7@-+=Wd8%fh};gDk*ByYi^cs#jJB(df!d=zR7Kf
z`mDgThL<+LpTDfUu!&0a_m+{-n6X-Idvc!Q+N+(G%W_|*k_vKE<GQ0GM{+4vdS`k3
z$fb}_3<Ns%A_zLRP4>AHO|JVBn{h!+(N~fvs`5ouHBX_<BGoL8UcbkN_2q>%*~zMf
zYU7ntmPsFnTbmsjR?C9&+?v>k)J;tYx@2e+W-#~U;@F)WnX(D?8nnl9RT!4=Vt^7h
zMxrVc07(d&bbm9p;)?UxHY`+_XGHGI9L9v!*Xwi`HsV_LiGQsPH>m4nRfPJh(tRSo
zqhG+Adl1wZA{d5K9x(vOl$@1oA8^;iu@HGsT<wvoY8xwvsng2aDv^icQnP%1N8-_a
zkxODshX{eCQ2GH|6jKpZRNrJ&L`7d6Epmzt8`cdw$Z^eE(b@2^>w6gt-cw4C+coXH
z4kV-&43JNEJE~x)Tu_v_k}7m<rx>c@Z<Z%nS1Fcp$jvueQ>B}uIxwOrsF|r5?kT?_
zRa7BVUH3)m3`g<aGf?IlgP|TjD^Ch%XZ*u~8y+5C3Ram)g{|0BOxEJ2JZIf(A8KP;
zC=&0?O|f0nb|O^Y!uTz=Mcb+j@7Th>kus9TGd5W98-nZVeYXMiQgM?2R8<q=K2z=}
zspU3Pol2Z-;*xUcv!jba2;Vemq~zcr?ux3Yil1*g_)k3wX|<*yoZ@cf^B}mz>nrVF
zjO>Cv*Ksjjw^S|pBB5@-J0k7UqBI6dTS{<Fm940Xz3pqph+4+tUCnIzyZFLl+}E50
z7sa;7QLrYQ5+U%aqD>O*<8<ZadRgkdtQ><Oud{}+so}_i;}QyLy4;A(8)DOKfihjQ
zPHIY^dw~ifq9F*UPiU2u1$6WY5L<F8whb#JhC--lMyOk=?3?*r_f;kGyKIPw)a*90
zRh_G@WzWJuafM~yZb|K1N0d-OlOqlUtrKXRKA|oA^{<05nRtHIHaW7kA$tCj#!MD6
zoblZICBmw1X3mMmj$BBm3d))~?9jw~#pM}b(_EY;_ydBDA}>B3F0D!hCNq#@cJU%j
zjOAQrV};|*$oEFdi*S3cxQZ?zNLfmXT%1y4eq>6Dp6j&!bP$Y^uH;RY#V|+NYyf01
zjmh1|g~pm_yNlb{oKRCvC_Iy7>Z2pmNO?m^VCGGjL}+VLG<GZJi1P&ewPc>{mc#xf
z5QLRURpTP~9y-CXlS87${{W_HjaAhT;CQ=d5Ng|}3}&#Vu}|+FR)CZpHFXhFiJ$|m
zp_msP+!6YC_2L|xd}{_POKj0;_>^~SXUmT-+P=#zcVvpPpnL)2RcJ*4dq|4r`|dps
zWz(|Dyoxim)lbch4e4d>S)R};en5aUh~Oa+I_VP|7Q!M*N}ob1!I!4E?d^qf9#dmc
zWA5Ly;|@VLCPK)PZa8A&1lvxBcsEY}0DT+as(`%1i9Rqz^e7uC0>eZ@FF(4Qj?(2;
zSj~+Swq4s6Yo`=f9cdKBwquXBB?n}qO(7oJASnjOh()lAEY)Fg?I6|A*3XpP!$m3C
zj+`c)dBz!Rh0+9dvr$%Fbd3RCG$27G*$c1Qi$QG-(!awsA?ZxWnGLfGl#co{?bTK0
z+F`IJoIVKRDVNetMiL<<;)6wDL7UN9-Qe=|RyAw@r-a1o7?4;~H%Z4DX&)jM%VA|*
zRM|Tz^(v}tsnel_y^y+0lDj!7U*m4bxHh6kY-L!+amO2dA6Fm($8oTjC`^M!zT}5}
z)d^Y>G!ju&>xE9BH#0P9-hQG%u!m5i+l66d*pqESLS?XNi6kwu;uD0Z;t;8;NTua|
zo^={`kW0hw@>%(3u$OH7d2wUDaM9ucj*0^DFxyDcsR+DAMqsFIDgdf<EpvrrmN?64
zhAnNgnFUNw$0jo4t~cEGC(XY5hORz@<D`J$0|LFmR8mHiQnrX)x}Dj^%5Y~cUq*Wx
zsGTx%xRN;@L>W<;oaL;wX<Q}|sbXc{2bJM)+%26}+aWX*+oCb1eW?-g1|dktDl8_#
zN%*Vr-!{_35o`(8JA~_SyPnv~xgE#Yb+?s46~y159X`k0$n$AgCO*T`ZXnN_9{RTw
zM;@0DBfDUah_d8SQZ3yO0`4nhOp$N;2cug0M7Ij-YD-pZBvvF@*t=2XHx<Z>C0rKe
zdtp)r+~neui5s@V?(T@vigM{vF`_^lphp{>l;+f_84bQaCmOiC{$NY4SsG>X*(onN
z)BWh|zWZ>HjduZiiU6<Wfja1I#Yw)iyx`T^y=I`brOPhag+4PdbBcIWNp6`0p@`ts
zw>G!KGh0XFp9l9u52Q8|1m^zDKbq>oKAW{eaV9g<m~G1FFMGL3UEN09E>9qnKsytJ
z`nXBVfF0rrim4omrz5?UD&|bQp86uhv2JC3lxVSG$gw%RoPEHGV2z87kUr^%7S1-x
zG!3e_irC_5h_;%pncUek9gsdDL3NqxJR7ZQqM@^{pIt4wxtUnQh!Se#n96=c<VT3&
zN(YFVX@w@;Z8`2-k7Xx?eXdzB<QjW~WOgS{Gba{YTL^=cLaelX$4R8FIdfIkSO$TC
zY}%C>0moH%xPqHlX*Z^gdCKwmnbwZt7E<MVkq8acNRY#GCbo$U9FqLfdP*_d`p5x>
zk@r(zAw=XQx^IK(E}vqOs;~6FAct*|)V~35nz<^wDRIHa<yF4JWR1NdRb#J9U{$my
zUyAq&uHuS_#!{eI(`td|RaPEQ8coG{60EUGEK<)-E8EE8vl;zi)3@=9D+l2l(j`|D
z5?8hsBJ;8c7?h<aV>NNN*+{0V`DfAY7XqFxfy2j-8>I)J#+3no3$*sE+lxrZ1&?Ms
z+#^Zg<4iu#sX5KYfqS1pAnaUgT&+gAi+wV-sJZ-3U8OA9Psa%rQk)o)o^-3+G*%+N
zVG!R=`h!Rl9quR6DnfZKbD&yXi93U8hOEcRp*<=@xA0s7xolXAIa(%L7p^3q4r1Gc
z-t7yEur`87pahaO7G`Y+c;14iuN243@(6M6jyB+j^9<_U>MGo=aXL!a7<Ov}E-0y9
za!YZb%4wM`SsUbRBN5T?awFsIjnQ#KW%J9XtwfB6Q{Y6&aA<$Y`K~#2IzB-o6SR>V
zzHGYdP-H}xBpiB8Pi;?S<J(tI#l+-*OPsUsTbcBsR<x50ug9lBt(#?0Wi7X??v1v{
z7D+cgSh%eaHhtn4{k0KQB=AbBp>!V($XLQ1%d#yvdojnE#$0Z$%7-C#;#9e=xbJ=>
z7Yqt0cV!f}d2XocNoiEu;tH>pH$(mQI#-Vng@inJN1CSBeLKgmwASxYDDj4Bttl_s
zl-IH*A$}u{GJ?c~hAy9Rz-W=T7D6Keie|i>6;0r3mY~yVezRXrp?Wm9`iX{}RUK92
zgOMy+1dhNtBuUU1?70}prsT1@f+MCtq^hJ}klD_gd#H3T;rU)mE|#9I-!a6Ug$B%}
zR!NEM9vG4%BX66^3?pWOzfne1<gKETq;Xtc-%xb7PxUFv8%&L=n_#6#?=s=SlBPza
z+pmmNR?ProuWcSw5L9rGi1?3U$n*aILu%91Xt?am11P`Yef4z<D$lBE^)dZBU|fYq
z9;%Zcu1PaeOnD+E)pS`R;K*U}j~Y{erikBi8Z-ieZwrl$AN7T+`ZI&pR_b23(Q1AJ
zKOal&JG_w<hVQCjGTV{LK|p=x-<ZUQ1zB(rOq(Nl6vbN*=r<0}aQsJJ^#ernOxbbT
zJd(@>jH0nyd8}gc3%%HL+x)H_hNLF~F5e^tB1QQk49)TP@O;Z3qxCNIEj>FtqEy@u
zA%Ow8RMG5g$9sy_UM<>)!_SOq?33K%qN}QkExbq)V<KR1Yln8n$nfX(S77BXh=!Z~
z7xfEGHBU?RYXGU${Xf+>w>a)e38^w?!*CDUqk+v4#`$j1igE`8(G(OBPz4Z`XJlAI
zHuJv=2#rl_MBS3~=*U8BsHlRVBA}}B*i{r2R26)pr=RAwocg1n^i{8u{VPkzYp|9o
zrJz(sxq&C}$EUo|toq4wJ4o_0<LK1rlK3lVG7LW`OULvd(|4-M{PvDj)>VO9R7P^u
z>hVV^%oZ^+h%O1Xq^4XA3z&$ZvYVlXz^*PqW8-ObX0+?!X$MC42FNmlqNSgK(PX&I
z)&q&lnF`|?bw)&BwQ?}eiufM|R{&AQLDA#@@bPt**%DPD-?-V(x+t+~+nJJM>Tl1h
zivIw1Tanv2T$@Bfd{GbzNT{H=ZT$qIo)J+xqRBAU;cEstp5uxSy3@{Ay3;PH47f5y
z6r0>pP_|GKMI}K+0A0}&ew>ityB?j2%JBh|E%<Iop$U%rDS1U5{A{W7y7^V=OjE{M
z1FEYB05XzC_4F&`n)c1GYQGkBNo0wl5F!dVK17L7kvuN{0Jrz*(y*JlhH<S~Neu1D
z<4#K0p8o))2~jsxUDy5mr&X-v&(YMmKPyJh+Q%f~-~gc@?y90Ax~i&i@%#0b{YQF$
z)@-n5VVXgajwLqAYf%o-_6AGfCWu^`0u%<p6UQP_UDJ;h-)^Ua2`(+!TR~0Lv*O{x
zwx;#jX{^g1t*war6}6ER<)Qm_m99#PTYYN3b=?!l`Aw5;`dmGQR9uikb-v_?N}bkC
zc3$%RYK8Y*x7fdbkL%Hnk(``z40=4G&8eXLK;-*?N`mSp#HMPi$w_xF8*Td{Y=}cD
zE<Zr2Iy0<zZ;-j#M?4~_culrV_Fs=Fw?xTZhjC~%C?5+kEf2697HiEtJWycK%P7CS
zu%vENgpa*k0o)UJVB{^MeZ>GB)ksMd5fKG`l<PC*cG_!)Wf8HR5yxG2wfLyb-6gWf
zmkQ=W7RXLA@qTcY$VjRpN~%9f5-$G$&`Zk;47DF_T{$$vD2wh`Xi>>K7cXzmefxx-
z6#+IxR8lWHCM(sg1IX@eFEbjqCoQ{fM<_Hg0Hi=$zg4nrk#BX9__l-HHRZ%d>i7cK
zRX(KI`h4A^k8E%3u`#fSso4u4e4Zq`2XFBh`Aq)+z-4i?m5*H2PgiIhCK_p6X1Ui@
zBseAwBT@`W8(-8Pm>d1lXbXVT+BC*?R%LZe+{=pzaTuJyNnugO;<Fk_qi&+3MZ2b`
zE&GKY((qL2iJUd2nO+eRe!62Y>*Kcxry^TFZSLDw3`o729CQz6^MVQVkdi7c-zmCF
zw$eD1I106uM{>H}h{{w^g2Y#eqj(V-d$rmlRV~|XO~h19kd=Jz)hz7X+^1fyr!IYu
z1iittEQe5Ye{T~`hCFJAU$D3(CmWk>Ug!(b8#!%=gp)6o6hu%B(Y_<HB&<TgqLGi-
z>9^qt1ey0%R+({54{<D<aJi{6JAw}c5f;f+M2C|7N`pnCnAW0X(OAfG%bN=qu4Kw9
z3Ya+qqAf>M*j{m4aav@Fz#>5=&{ZFCMGIsUGSg@wjN$f-wT{-=jg+UA`ELw^k5<EK
zs>il9c@fbT$cUV95QNPTNA+yi(V)}WaB(F-)v54n@%wsc`juBYc|mo_RFrN_g8ayi
zxE<AD$uAh2Mnb5gz#MTzkWf`Qb)@|$<Iid>Y;2n^DG2*U&_r@H_kpsAf~pO<8BrT)
zQ575cBmBLKWlj20X~r=_saWffov_FSAjuF5I(U(6A-0O=Ho`+B$vT2Yu54mxC`L-0
zNj&UbE{FWRR*{{gkrk69CZ{^`Iz))riYcOb+hN=4URxq6uItuDHenMB2CGj65Si_9
z(J^ZoZaguHyS~^C%d+|S@%_JjzB;avi^6)?nm2f>{E0_xi4jv}@wVIl0Q7ntqP5Cn
z-b{4%HaP;qVMu`*6&=hA=W#8Rfc9SssJm>Nm$zb%*9^&#4X05Mdq{{&%l1W2pYEM}
z^P40_#<gEY$44`Cr4?RHUo9I_t1}1MWR;b0kz3tUWJBfPk#^a4@}EC$k@|zD&K^LF
z*dOChKzrOtdP%4F$?kYzvg6=cZ8ua;B!E8&<9E#VvKtd_MMG%X4(g)ep|+@>bse|g
z`zkK|4qfIqwE{^hje~H>Mc-)Sji`@=<*_3F0CZH};df4`fzNBLbv7y}-Ft<fUBvRr
zg5xR$m4s04A=>^7O*Ya3?Yrl)4(6-4Ag6#q<*_RDT;5NaTO*X1MS4$$O|`}Nb&5pP
zmYx@YopoDPHjvvvP(@TwbyYm4Og&APZ*?j;jaV|;xNE#b@-7N)hI{U-;WpoGkx@Ps
zdWt%+Z8SzUQC=2YQ2>F*OhH8yc&BWBj!0YiR9(=O7p*{LbYPkvvdRKBNoye%^lLW1
z7OFkO+K1va15VPP2V%x%QoPeAxe5}u%|#qkPlWTh`6#o}OF6caDCFerFbXL15uKjc
zKOSbnNNuM7086CXE)ti7e0!UsCg_CN{e}KNVC7DC9z<#@8tF+MEscNW!j{-76jJ(k
zag%Kk*7xV(3{_PHHkVnT)|RvpW8bKw^=+&OZpY$=Fn0%HlCP9?*zbaDyZH`D{&hu$
zOi35Awm1W~C@rieFXF3jZ>SI*l|>O>mma;Pecx`XhNSBNs*i`%=^-eR4>SIY(_0mp
z3D_$>G}*Qb8RcvmSv*`34Uo`*QGTtENfVOtMHNC+UaxBOqMEKWSIRVYoP-K7z+yI{
z+bhd>;G1|4ti=<50-~R8t*UY86s!xh(AsSX8%1rBQSbtSJ~!D_0T6usg%jhcWS=-y
z$A@!D>lNv$NP!$l6cheq$;)lLDk7H1n|boT)2X2BlTXXpwcFtgK0o^u`Rm7F<anHq
z1(g&}pt$Yys(#!50Cely4@fof1yGa1s0s>yPn6$orqx<4V!jBPsHlqV{Zr@v0Dm8E
zzxV6xS3t!9q}agKIP?4d<G;#n{=IY<(uoxjl-YOOcU49Hh`(jq{{SwyKOKdTfco$>
zO~FkO5zYSqfBteW&t6@<S2-1NkkQK74>V)tQDc&d{@?of{=IyF^_+MA0LS-`41S(S
zTO$779y*$i$aI`(sR&L0sR=K^dGop_#@$4)e$Zo-m=8GL1pMYz7ssE}3aRn`0GB}B
zQM*OnY#CD8LWwEBFg{31Oa9;4fAj0a3OS9MtMbWHbx}?Li@(p66ixpC-{Y?|xBlRJ
zZ}~9!{{ZJF%I*DA<v)I`JLKSUL_$rx5+?ru{S;oh;^Ae+hMTTQ6_9<&WYDXMzD*Nv
zD4rL`-}?2@#A;9F?nnwBR|VUD_5HeqX)<#Ny_nDT{CADQ5Cl#9s(f$%0IyyO{tR}#
z%y~_?$~uh`tuHhJFOEo_Q8)Qsxk6WJ8mtweXnur2MDT=ucHgKE&InLllJucd2Fb+`
zHQa?fFOS(j^YPU+g`KmUrgAWZ((`kGAt)fKas(y&{rCO16;1Z*@G8k_LxR)c+LBDZ
zPe?@Viv3E6s$LNnVijNVs%_DR(J9gjuXp(bcHH*y+#ztBGeUGp6%hp!kZtp_swW>G
zf0XHWnZu*X(b-vi$Wda0q;AQTJOS4lEr*CO*pe3LD4V&lDSRq?bVruD>u<xC7DGf%
zH0qclk?tH9W88nroQV||kf`pwd@7}4+QMcFGAtrF6oq?lH^X%&0Z|1-MSi{a9woXj
z75UrB(8kc&PWN8wR+Z^hCM?qASar>qS6avX*bWg0e0?qpZX%GlDvR{0`9<9od?!+K
zJWh^Cd)ttN%r@Iaa#BGjUfX?ygphX?0wmkzHa)iLew%}Z0${_Xv4rADR}Ac&RT~~$
zRa`_j48W0BiYo2!pJnkY-Pt;z?0E=6YN~{M#FbGt*nvFmo;OeF_wc;~OS?ta29{MP
zAHb{ab2xX_Qmi3ZcGgfjP)UHC*rJI%+en+X>WU|MweqR44$8e=$glP>gz@_h{5R$=
zF^<YB!tWI3P3_^qRr0Cx=l=i~g|p3Tr)NIa#~!y%^dlo_mn6C-_mNal6h%hOH}I?E
zkwtg;+r-!s@)}m|XcfQ27!YwmWAX>MZoi~dR83cIN-Bt`o2o9zom|NafKa`lIIkHK
zQZWd<%UJCbZZWj9kmmqcrMGa9kr!n|^S;aR=b${Xh!uK!I-%(+V%<!`k!Y_;2;is#
zuqpR{FSg`j?YfFeDhdWFim1IG(B$*-OqP6!>@z3cN9_$YvMDyv@kLZ=!9@~IE9E>Y
zqWpO2Z)JNXzSg@+aqPx6F_%Pqn69R>o<!ZOefRd_=%}NP2q|_6e2OZ9r=JAe)uG!|
zw+7O!OaZNfsoF<b9~{qF3P5%%ldNSAXoa}y+pW3Jkf5rxDA}*a-@>O<c_-r2>MpT-
zLe1l+ZXvvHjq{MgDF6tdI*c^oIH$-9x6D<~9uuFR+BrWV)Ezgqjdx<y1ea+#F@RSv
zh{IwcMAEgoimHj0`|rU~QF(3AbNE&#V}!-h+>)v_jarbt_%k4x1#O}p0)o-*yKI{$
zl-UsxJSNF?Bdc}4MKz$v1BV1Nre&Jr_f}aYg;d6C?kpOf@mj`rw$sNP8+{ZN#Bwnc
zqq-piAOa$6spTpCL^+y`^+Y@-II#`bQlGrAkrZBP3bw4PZ90PBI`d}Ysv3`g1XCja
z04kYlHdBw_dVJkmHc;y!!-8^FHRR_TNb%ZHUQ!<;-KJBLZ@DRN$BK$_Q3}X48&M$Q
z$(2{)Se@kMtw&moeQ;Hz%BY}{o5oA+fw5CkE)Ei+iXxgS7ex!nIl%Hulm?E>pERSY
zes-j0me;XtX(LlDi>%sAjR_7zsGpMJ_x4Z2oI^qqLPhU3dx56NX`nR21IdpP88>&9
zcP+lqJ1-jxP&jDnA`5MU&p56KBV0K)zpX_a{Yt8$IF1!dk6~3=jwgU)c={!9!>5=w
z&zJ-^xFf30(VKWhJeoMXc`L-cfgE0nX)&p}Erj@NWDc_XvRsPsR7~RAyd3<s5+GF%
zgGECna9l$kTX9~WJe{j(EEKRtV|DLU6Vz_F)%t$KXJgStS-rS+9BLS5>&*LtlIk`2
zG6@JvvI4F-#dmB06p;~8R5uya+l;S1iH_R6_#6mTG1$ner&yCxW6PG&st^e_ExsyU
zg-26}yhXZs72U6w<5;z&1bi<fpb(h__nwbB+0~ia6Gd&;5S2)UO|mfLUN$BBbf(2U
zC!Q&f<au;99<{Q*$lI|*SJpgw*5W9wY(P-hk}PpSA=yYt#N=KVWE?q!N8Z<ukLeyE
zvbsvN*lqHO^p4&4^$RD`E6Uee3K)ISaTABQu9e7GHdTLHXh7hi?y8(s4G~kIFJ4eE
zo17jj9ID!6YiFS_)gAN+1r=Ly#{}Ddy4!%%ruITYj(du!mj(Kedip-Dahy|CDyS{8
zMy#@Gd9r9HUOgLlkCViX`*mLqF9HB?R8e*nKOGNxhtnJfQSB=7e2+17TZCj&D=_@|
z(uC7Q28PMQI4Yjp`=z*=qAG5mR@-%BB9XYpx?w>|+kf>)`D1n!%w_Mtud>YAG3pCX
zv=348ts=^_I>zea(^S>m9=^;14mu?=WJqsWEJ8P52i8bPeOH#}z=;v0U4@~TYOYV7
z=doIyZ4}DB6zeB@F~}ROZNYh@co}93{h?D8?mVsog|dn(govq-Jxa`X7S?<HRl}_6
zAkW9J8apEP*DOt0HXh2xJOzfG-uOmkWU%^zvf2ZPN81L~zO<r0f#Fje2ccazA`Dj{
zNy;qTl_H)TXo<6E^9i#G^Nu5hyZqDY=7<Zj7Skh+@1@UPUP~rvA4ayeOgk#vcOiBL
zINqHBdz)q>VoX-r+11XA6&`9k4=k1?HsZKXdzVSaIU0mlMO9O6uI0?HZ%i`V>=zWG
zta3fqWpcYZRG3n|`+&iu#4bv%I3n41I65RqAn5E$t4~VqGfhV3wa{MAwqc6ZkqSw~
zMemfgD*B;d1J4v=+`KFMKHq^|x?|+9ZuH_jJtK9@jToWA`xjSu%tDZGEhf5-IVj_!
zgYFp(fukLqR1*~Ax}x<I{hV|y>W2RSBh@w$BhCE0`Xypb0nK9SZ=&5!^x*DVI(p`s
z=6BTAaNC70Y|6UzR-TY8!R<C^yxx@P`6Oqui^W7csNL2%(KW*c#xol#+uC@!^AIFi
zVzXsA8@Y0DRx>TylTDunSp`LLR9qhOK#qWcBci_ap$bk<>lZxJeL2<|+iE*4JFmLN
zD{U*LwI-RC&G=Rfg3SbZNtZ3G4I6NK&4VD@o43&hi(X;$`BeQVwXmB{iDfcnK*v}a
z@;KDnMF}5|H0kjbZY;KVy4yx(Jc3BF0F5G*4DS-=i`KrVWdu>X5pHzVD*Zx#4V-6H
z@aS1LrpxK^E$`&A{iRjC;KG7zw(O*q^rs$W3VW)nBn6;RQWoT>m^1<+ka}LK>HUNX
z_h&ydE5<Swpimwk5NxN~$a)&bh}6c8OqfyMd`%USaGWO;QL^AiAV>OVSMR8)C(JyK
zP{(e<Ro$*Tj^jWq%8>Di%Cwy9c7<PMwNX~vX&5(L9sZ&vK~!SY5ipHfS{uB>BdMs(
zu}*ny7Gp@;wN9;JEOMUW61c)h=N+|KOrvf%_tZlm9&JI4#miHg<aO}9m7$<kgYLhc
z9-y)~8m(tq%hgbDtJ}F&7}TtXIfWuIT3N8<DN7mHtec?~*A=$GJ?ri;jVmuH>`I~i
zI`rzsq<U2JzjcpV<QJN+saZ<SwUp%BSe1iOPtUN#R*l(CLaqlCm9_v4ww**2RZrK|
z9!aK=X|-lXphm=>lRo$(OQpv%94euj))%tN587Bc#7;BOk(llrkD*&|n~2{saasnx
zbC2onmR1dd*FTyx^oZk|TjUelj!Yx&oId{mwsD>h8kiF;$KqT>7lUX>rP8r@i18pd
zhMjd(Q3pob3UTx6$qB{79m?_Qj6#b}2D1f(aouYY%HBp!1ZS1x+8n479wpiC98ntP
z%Y^y~kh+N3D|oIW>Bk0o>?#<>ap{+iwU)`mZDiNe(!*#G_nZchoOIV?UDOgk)}*8%
z<CjZ2N*tFUuEZI~>|vdzM6fIl@l75nPC92b_k@#liy9*meY%>UJgyS8#6@>a>)ph>
zyH9m$&Fq#vT4b4RPBTEcHIo1c`?YdsxG{mI9OOvNqX?bRG9^THP!L2yTIO&Xe$Pb{
zS^%i(-30Q-Gm2K97p$NRTgZ$%6}nbz5YEYnlNGs+vWSNv4W4nyd&Y>U?%<2(s*Jx=
zacp8WtQ`7GnCE9=ELc-xFFXYCig5P9Bnj7r;}QT--Ij<=0TmU*={>0$v1g%lZq0>x
z8UqKeuh~qOZ0JlUYAr5GHMC0ymzY3lHx|!<xIm;NBqE#>GwW`BthwzS)`6Xiup=>p
zSLIlB-Y-gFX^;dy%v%GDPH~XRv;!5^WAF!Lv}pP$DfX7QFu~@puswCnB1gD?OVNKt
zb6ac;%x22dB(MBJs)l(#PSiSw<hcfKv?rEKK}i5d8Tij3wt%C}4e=!{)e@ghJxt?y
zg`O>o=lBHdXd>HJ1dCSfV>?uZ9K4g9-4_`JK~`KZ%xzUs6r3NeJZLYzt<gw&d2LKt
z1m~()rOIez`{^)$7-A>*qj$R*la3BE+K?m+_ROR>yj4)iQjp+U#~Aq)P2{U|t*R!i
z>(R#FQhm1E88KM*50mhOlnY@|C(*SZ%2i#IV1@}}d~VcfdM-^o(7mO)9c;AhjXqdT
ztMnA@o77p0Ph(C1J~0NlmPh~}nA$6kMkb`0qHu6qH&sNG2aqZ<Z61-U`CFRLlwi@Z
zTby1)%mmCtrVF7EW-9xIm-MwFGpgD;@S!@an`S17vKX=IHR}@1nX8qFp<wrM+X+q4
z<c$Kh?`#BKVmti7m2t)!0Y=<FQ6)oA-3bylwfdg)v*|}pGEGF)eMP9pq1s1D^!W2J
z+jeBz29TBbtVb1B4cQ9xWKmQULUla+qRShnfP<9R?0+hkMHVNz(kZW7tnccB)Xrz=
zS5D=7oDOzbncvtyQIEB4SruYkGc*aeB-#O&8BBqzB-8IU0%rR{L_(yc-_tIW*lE6)
zVC~l7GGQIEO**W)@|9&>vkRB_qyycBix=Cn%T2f_oPu{XM%7ysMd(!)s(QoDYjrzN
zw68YDZ?cSD!R$JrBuyH6oNBJoqe_UQE!e`_(i$N|kcNrc2`)Gw;sFkg*L<E9S(8T5
ziea&S`z51UQ*wXDksil!_|LT4&a)y(k*mt<%#YNht~LlNWBU5lqYFDa3hM7I2bKNS
ze2si>2DKY_?xL-&R;X%y&b8H8USgFE*H~3Sk&IINX!zVH@|#)L?YPsX<EG;#q%w_y
z7h5gdPT3Ll;rom1J5QR-rs5+Rt2bjE4Rw^pAvcfK1c3^uM!+-0=?*!><T$=SUwM0o
z2&kSj=(zLORDPeHhl|IARnc$l(mjkxP#mmi#h7uRypkU{(H(R0NEKLlS&U+;@bpCv
zn*RVPWzSI4fm0v2vT^YKVtuws(laP+*2Y*NAPihlHzlh=q{kP;kOYNUR5i^67MmRh
zE6{nOdt}N+<6gOSqNvL=nmiqp&Kb_~w&Y{=&jXZUUos=bXh^Kr#ELG(YE*X~o6P;H
zxga|MAi>3N%FCg^>}qc*mbW&_h5J~{!D6D;GYm_=o6XZX4<m$3xT5mOl`I@XCc(Db
z7aIgls`U1oC)5o>o2rvvo$TupMRf&5v+~ZSbcaQz->@&jkfp>?WZ!_>q|pEm){TfE
zAz0?LI<2c3tz&{~lUG#?QM)cXHBz-4awzbaR?=MgY)KZw=_>ZUsEh2Qtd#K;P9?hZ
zxVCP`HiGBvPAi?BXuE1_V5Qb#&CxwFRJUvK`bpL3<k%TzF<#?oAAuR#OKGk$VY24v
z+agkAqlEDBP(fXmG#WXl6h_6>ccI*~5&Sjz(PQOam@?|D%DMRgDl~~eH4|BKS^_-V
z2IFYapsR(kAh@Jmqvf>HshrI6)37O;iF@6rrfxfDK3#Z{N2iACo3_$1$lianiYVU(
z%tb_nIxEZZ>DZc1$TOT){*IuEcYe|bdcD!Eh}uLLar=tX(N0Z+sPYPS$>u|HH1NF>
zu+kRg55EiFj^lOcv20_m+K-Nc%^HsvL+^4&?J0d(Rn$t7ZcdSf>JFY*W7hH=bd$X}
zc)uvQ1C5~edn`2Ck*^SMV(K1@{{X`laszWxb(Z@~?ke0V&~oS%OxX)gfeHgXg+z2+
z<f>@!I)lVX2{+kSL23uDyhdvm*zR#r3p#^a2w$azlu{(YyS9162`;$gj^V(s7W<qc
zHos7ik0kn$ah|N@*zQS~Ot{3bI-FVqyCiA~1$WuRL`}H1j~S4Psw$wO@f2Pnh(0>r
z`g}OaV01GF0mh@+-<6e(n+VC<Bs3?5K3DWZNGkPPOPHO3W8S^7?9g&^i#i2FydmiM
z4U9=ZFD!wO)Yo2(8R2th9(}%Sw1$8qxbkCT`o~>_YonEsE*&Yh)sa&(cA1wZgbOI{
zNQynv6p$=Fjj!c^i*FlhsPb+<PxGtMKCaRFbJV*1bJiRlUA7%H=W1G%k&v1EO{H!4
z%zJ`g@WzUQe0;d$XsFP*sl_$Fq%4A-!&=VU57rv13*4s4!s`1Pi+^KS^^1<0@|e_l
zl2DPh`L52aR<;!KslS{&ZV8xqTpn{<S_%{8xaYdo!(!hwZOSQAVaxa8o)hbFD=4#Y
zjQ;>GmyP3QiWs|7oQV0lF-5l}OLf!}B#>^pNP<ePi`%#)JO^O?N5x92eraoiUA1d}
zZ!!}>X>XHAjMT_4NA}*{TL|+$>4@wZh`7m<jf=|af}bty9o39K1J-cXTJ0ojF~(Eb
z<Jjh+<C!#R%Q>{~q}ef{w&Arf<2(i4VO6;T%S7V>;DdwFMb0&Y<u!6{G~ZL;<hJk{
zc3nK^c{$npoz)Yv*CXNq{!m60R7}*`1yn)nE;(A)Q0eX06?@@vZeRs^=yF-NKFg-*
zdsrTuY4(?3c;$R|Qu^O1jXuJCZFDE3GWvE%)g5*lt~3hbF*m->&N?y8u_RKQhK`#S
ztDA9)WOen^HBRZLZs>zrXA)UF`yIC-qMpxwlz71oQ!KAziZ0Fyb!|(J!VKRG$l=>g
zj?@?|)mX>0n){J$Bw34*&ZV+*W3Tp%w1neLMFTVDr?(~FoQJILwd$t&1r}=x9tUeI
zELIfR6*ZEkIKqU;*1htOQ-GoDv7U9NW1no%w-r=@Ya=Zv4SaPqujBnviaxoGyt?A6
zF7WM4(yb$FO1(GZcaXCtara%qZP;k*n8O->kGqp$K3U0XuscD_n&#@gx~eFmw7p$=
zOZ1z9XbzrF^(~v~VrDrc*O7A#Xw4-*5~;=s(Ntou@dps)suH7NDbLC+)PP(qo9I(k
zsjancJZ!?Mw<XFlTRe#DG^YuNecGjt+<7cA?E8BaM%tRwa+^PD(W*1gh#(ld$b#~_
zdW>_{b|a};s_sbbB%G4YeJlA+VOufkt20E6AtfV@IMO5uENq-ly$~#b+Xo0l03X{*
z(gUfvwaqr_)vl?rJ~+q(SA|W5ck%p<7NEtfBkIDQO^;F|c>8n0MI1-yUt2o|jSPL`
zCg}plp85(5WF!TM$0;rYe8oDg$a4p4u3po8!ZAaiC>lNtRocs|sQ^ywcu~77t5RHT
z#YbexnCR|Gu8?s+4y$pkZP)Dj?lziT=w3aCNw#ju+?OJ9&Q-tQ0K?y!+YCyD9hO{_
zpe_ulF1jzc=#nGJu!+4bW>;H|oV<fmuBS+@go9;oD#RlNb7IkOnCZ$NZ(dwPl%z^*
z-A(w%U<FZEJ;cP~UMWoitTaf_8G7oM_|$xZAQZE5*1ly#{``WJG!`x-o8aK@d>VKd
zarQWiMhqtuaM(}PyG@9WrD`=kUn(X)s#;MEhcR;l$TAHvwVeFyWz$r3mX+6>+8MYl
zljM;}(QRX^ZaBVBjcX%4G9YHHLz#5UiE<vG%G$>yt$8qPBD`m5doQ^tolpf?O*G0p
zpdipFawO}O)xwiy77a$7O`l<FIm;+A;S^`&)wtR=g&~KW{FfVh={DJU!6hSgLBUcs
zy1FSC@*aH!uA`BTj;sd0G%0ha3}0(5X^QHlWu9j)(d*S^Wa4vYfz-qy9tjevV6uYH
zu)LgY;Bog1l=w<v6hy`BTBjz|oLf#Z90jAHqmVCB+GJ*BGFC##HcnO4))MyTGQ&U{
zNN~-V#t#dI2#PCBg;mi@lV_Y}HyK2<W|^wq^jh!3Enu@51@@~6p3^Cg5~FU3?%PZf
zNGE~BF=&eJ*G}`B>b$E^AyTm&%P0dL+abuLL}=`x6RP0XC4#(6Q`9m9CiGBfjr96S
z<8{I$<gRpW4F<!0wd%XCL>g*HsXcipSPnHF<5V%sD+l~$?+S!-E9rFG3K+qU#bJ{r
zkumqlIgrS3&N4_fSL8U<rERfoL{h_1GwnU}_ouTY<yu@Br2hbL<T|Y?!ktSA-Hy_>
z<Ov|qxK;4cl?5T<hGgP4Xo$QJ{?@Bcb!SWJ<>}_6!_VSlj(bN}9g`)RNs}1em*ZFv
zKARJYO4}r;NY3q$4-_>eW_9VFYf{Rq3e)^9CGDh%58*B3)U2{kkSNI-i53mG6I=vu
zeV<_nn{^xmkmD+xQyj6oy5nz3`03|r^G<wnMsopE>OUSArzQNNwe>OUXH@l{KGh#p
zc=LG0URg3_@AA%bDE)>vO3|!Taq4mfIU;6}p|Keiw<b8+uqdpPq%A!w)BN*G>Zj$|
zjU_ZGuAOT)5HdGq*vM*IQd@oalZn1uodrmaOp6tyX|gni1cnA9{U2}BhosF^qnTx?
zI(HW}n-Sl{U}RI^y3Le@7=W>jZ99FpBt}GfFi%qlOc)=j2n^2*=XJ*yO)_XFg5^=G
zilt4vEMMH#Fof&Gph5zP^^t%hU_~L<Tkbo+<VbXfbLj7To<&U>DMQUi^?9T08XC|G
zjcPe7{W#Oh8FI0_a|6e0uHe|R^|W@`fXs=Orfu<&b@*Aj(j0Mp(`GCoFjoV>G0nfs
zW9ojJ>J1fbt^nR`6DGp%nHd&WHaP6oZR@I>bMs!0Iy3P}L)<Vu=<|WLk=_iTG|P?(
z)8Wi%U-FsbTG4M|{H!bktCB^#c;eId7BJVqcAK&mab(A2#!3-31jlg?nTx!J9WG4f
zo+9bp=BR2Vy-Qb5Ri3E+6t-}J@Y^MB8?Ck;`MCtZu<|<i_MCK+hhw-zUd27LNC0<q
zesv05JaR<Z<?kB&B;KuO(D5uz=RM9NZGAS)Wm?qE$3`<pXpur3TJVZ4ITV5wdbsH#
zilc5g$|4xJB&OMwPN@2H^&M^MA3`#yP0YhFh;a2P4T}WRvtbKhuq~yD0e5R{U<7tb
zb0|W@)}0r4p{n&|s``7QUZwCRaO`q|&nC~TaA{el8*t_%H3vDU6L?HQg4={GOEDP@
zITe5n(UtFa9ad01;`;ALt#h$ldKR(7!?G%>6R`Blt5V+t80|dxh+|gIk0X8{_M||5
zBkiE^?RO9z;Nd=bWHGhTHngo<#C|pO<wRIWBMxwyx1|pQs^L{}q}l9?y>#@?rVi1&
zk3w;b?@z8PJ<!rrOym#GiqmR^XO9xF4!;9ob~-4z7@JW6>LuQxU^uP<{%Y2pteFy!
zvFTOvawlJv9((T#)-c+X;VLy|aMT~Kv}@^=9hmN*awpNd*Rm>2K(e^N-K&kInv0J?
zcCNmjqq7`oEF68gG38S|AjIB)>xd#SUNK~yFer`?zD)E5n^IvGnfzMn+(u+-EV?A7
zo2d$^Y(%Vb8XNw}<Wwi3gh>i-fv6*}k$ZkYuwIS`%+g+<a3^ma`4p+-jv=5Xwm+@B
z72Y*VoBEZvxoGB3xseMPYHnGQ6?+6%vEw19;z9tZjm(;&s6f&$xL)$AlcGXvn>%ev
z$~E9HY*H()HJ>?GUpD~7+-d-1ky$h%t$s@{Ai6+6pu?)C%n6`VHEC0)_oYpHs?eEC
zdT^#<)Z%0|thpmRsIqOTL161d<C4XsZ9v;?_T!5P?&wUL<+v8=OP^IbL+Rg3eRX3w
zHbso&IJTT+Fj&5{w8GIEaAq~!?>$=LuO)HbQKUEuh;2A80uq`kr6PQjIug$49otty
z^T8pIXNXIh<lk-mxu>=fp_&nm=g=zgTyHeQ>|CBI=8$Thm`Y1$9Bq*Y<S{L#WJ8|W
zgJNWYAc$M4I@dHrXy0l4jMvmh@<u76RFmN8?M!&s{jH`tMv$_JCEYm;x=9{7I>dG2
z;FE|*3JQej0wT!LEq;ZNXjQkYOuoj#2AJa2;_f$r!jmZ&Ky68;pu6rQi*qL=wdQhM
zZ}SYkf^Y#vDm3mE8=@YRvQJVTsm|^i*|hx3u8vFXMU?fegT1%giUy{`F3Dj@t>c<^
z8d5Mu(~2j}z4(_@zNOj?`^Rmr2Q#j#WHubYFaXnj7902<Ei_#9YgnP_Ha9=iVNql7
zEcG?m*lveB#2}3=iopW+GRz!d#)Syb=9Ao&R2pSXKnVpJo|g323-sUV;$~wRnr31<
zO6~mXNYq68G7TG7LP4x~54$j3UQY`G`k?}%h=7+QN@>iWTDqy9S?79-7aYgg&gfv(
z;n-7-xA=xD5<G!6RwEKvIPnM}ld7op=JL9TZI0lbF}+`ZJY<;Ff1?c%v9iY<%E(#C
z@2hD_S-@^a&No)TciRZ7CAQ=~;&NULHj1DPx&hMUV}n}-Ma{@Ip!{FN)iOC69%i8+
z3j!}w`Swx0F5`3>J*64PsclowDsrn!*h_nHpW9Z9Xf{(1x?4eD<GAOx5^<=^@+Y2E
zM?hOaR8?r;cotDvrnRM*&W&Gj0+gmfx0wlz+L~;yc60U3G|Xn!Ge)Kge3jQ<1l)F1
z>JO+FrADmNtuVr=L9ns6W#xVv3`L0wv7mKQ2#Er;`jEBDw8@BpxFnz_vXN>H9<S;S
zUqw$;`ADm+g*wjVxNoFd+42#_ftF^z*ptsAMx^pJ9k6e@DZ7Gzpt4Hm$TJhKz_1-z
zQ5#zs%0`3S-m0qx$*D11n;FF$u#qk#$Wq`k#aqKRJ$vxkSDB9MOg1eMkTmiUs-pKp
zwnBWH=<Ul`nA}-IZ(!A96%F@abfAJbaKw?qceuci189gGNe8;$6++^Pzd~Ahb`Wz6
zf<{Rqw!xV4DvAxXYXxuIf<Om*!^IWXNV%Ay6Q)Ee2&#x%bStj*dX0aQ;|YS|SjFBO
zA0R}$w3Q}AG-QR<K^Whav{_-xn5)h<isNe>kb%VO&x}4watoqP&MKZO=AP<4LRzt%
z-f1LB_UbkfZBRz^8mX}<KoQ@U0!i}ZjR-QXw(Dc{koMdS%aKkU>W+SYbj}B9i(0W_
z5*ch~vkaud?V`E7rlj`8wPiSg5In8A*ELc?AE{L~Syr`a&83!~OUPDbVq>DU`5lBO
z<WCS+2qiX#@*7eCP#XNFi@y}nKBwDIA%lf$R;tOra)w?BkK0YXVjWIA)ojA6Y)OQ5
z*I1G*5iEgyv^NmMk)$@84hRk^rK1E(Oof~%YM~hCM)1JuaUW#iqbgla$1H}8$TK01
zRTgsESiEwfPIfm0H<|6f#kSXp_(Rx<43~(m{RUzmh+=XfX`OOMv!<w)+&a4%cVu#z
zsr>RC*nE3zlMQf0K_eF%P5zZd>*k-~xbBu<H`rz;YQzgnmo0H3QpA$e@)ii114=Bj
z$B+Yk!|srxAu1u4Bu)5SVG*@WvSR8TfzVUWYGOSKW1#%YCJlCuFEYL7T2M|dCm~K^
zNQy#=q{!P7ORI7ET#?c`l+_bjY7{A1RV;7ASg$MJZylG`mG)#<z7ZXHrkOJ5x&VnO
zG)T#yb0KZS*t%QlCI^#5x~#9EuYSK8hh-YiCn{&(jPpVgK#b$D*?E<99o^2*q7in;
zhmkJpA6F<c3~JVc)HW}fNOroB_Um&-@yto3DOBY1g!{2yh{!y{;%>O6sOl@NtH^?c
zU0iEEqv`HLqyGT$gB`DvYl_B<>|2=fi`hzss6wdM2?Pey%19z?xy*^J)d!Zv(Ll$t
zfDLWnczEzbJDT>FJ8Sr^^*4CFOQ@FjdVP*%_Y!edVY!dn;M3*LYI@0z=FGn|A0}Dv
zxMAHV8)4Q{cL>CPOvo7>MwHpEHJemg9Jg)}<|ruRy>k1~oO~90ry-<u<z?o{xQenn
zYH}D9-IE~{RC;65{XWdJnvXN8(I>3k_GUkb;@6jA{PmF_nMYm`iZEYo0EpF8-fUH{
zFQk`}HfS<DlNHW#ydy}Xz@Zu(S~v3sOP5SoYdKp7QUkD`Wxg&8=;#~L`+EVjq(I}M
zNzx~161k%Ew+$)QiIEZ**SJ!@dh$k-we~KO>9l)ufLE~6QbEUDfYY`Uu9;Sl*ls%#
z9XE~9j=afSRot0<b{&_h+ARM7Pkl}^mPNw!?%`Q(5kV{Iw6bcvON!c>xNoCQIwmO5
zgRKF9@=@f5JM=@R?;b%(?Xt*G*~+D3zVb}$dfk^>;UF6lICB_5-IO*=RYg%z5k*&t
zqVyM|+JmTiiHy6KUS7`2R=*EN<To9LB8Xm`p5a$URd2A{C@lvD&$>z56(SW?<dDXO
z7XhaA)lg)0Kqp<Pr{NsVw1$~QeWSR1+k=x-HEv0!j;83i3EgRjIH>~)NN4pa@Kr@Z
zBqZCYwzd}*xZLOH<HiezV>1EpZ;PVC&GH3cj1?V@o!;w8@gcIip%9~PCqfQqkaa3f
zIh<G9hFx0LOl(7yUS%fE$_#f38OdeHjVo=7u9B;biZY#(L?J>heRi$&C8uSO<9c&j
zaaQ16KQ6hZ+M#`xBM-V*?L{{pF#<7CUgHbR?*ih8hUkNp#h}vbrSY}IR)H1j9o4os
z9(CPSSw8boU6Tff+&s*JMp2|yM}W9XahCh8ta9B&q+O54)AI1@uQFSDc(NhcNVSH;
zY*)WMW42E(aT-|!4Xdm$Us?$vBZ{Di3*>qm%i}qb%A&u>w8p~WoL?el&d!!NAXrt(
zWqWZZ#UCs<%Z+&<B1P>w_S~0{^huR2bnaa=sNA(~s@j?nu`1HT@Wx@d+wV6m0YrPo
z_Q?&vZN|tA9yCHkRYVZd!9%+7aCJ_|F9eA@AI0o3?20cFtzp>WP%kA|#C^F8BVr1Z
zNndl@$Z^sFB6yLvjTOz4wmk2fk#~^DtFl&9R=zz%K#w1{F~QwjScYnjH8c#HB^B(h
z=tR+}FVokGYx|7DO()%5B%kJ5CmahEW!WxBmm~pGas+(=g>*=R=tTuZK{Qm`s|e8?
z%I>TJw#o2gE1?%^QDm|YES4BVeTO*#6HbZ}5j05qdy1IxP#{~G7-d20nvKp60);}*
zyZbA9%$E?H{D$lft%-tCG1eJ<B(h{6YaGbCuOnnFgTwW>*q|y3Afi{z(@c9l8_Aki
zcVAl@C^sF=wEHiP^tx+TRpCYF6-ga~Ar(1<h@^@K^2agXs{a5^dCkl$qa?;MI=5bz
zZqU5^w<PynLT`552Z);v@7+YWHj1dLvLd1-Mxf6OXDG-g(qh%og7#Cw^_anQiojLI
z)g_b00uISV4V1u~RNv}xRZvB)!q*XzwkDlXDVTuVFnK$aOPkTy&cN~L84e|BU6D{Q
z?Lx<LdPqNNpPJAScy7Q5P?a4OM@Nd7qOUf3Ucq@0!`Ro5fQq3asHfj_@#lTl&-Cb)
z4nY03niE+QkIr<jk@I}z5<KIA-{rWbyY8Z@srxE!ii^;!cSHXG7Zl{1DlX{1w%usK
z8Dk4i6`zTFWOG~<%vVemOjmVPAEkWtYzz5_N<YyPZ=R^5xSUZ8c0@E^pO3#*kz@nD
zU0t?My8N&2(LTsnY`Vu;qbQqtI-(<-P{eoUh^z9c@#E~h4d$hvT+4d@01C-ty<d+L
zZdqgUV?A2px`nzvv-_<IFsP^`CN46fi|||QMHb4X>CaQMe*t9*sz`)34J?3C9rsqb
zp^uG~JSYCW7LFl=*nS$6mf1A5t4CdA+l=rw9mZ663ySiqOTk=DDB_7K`2s>tlIQk%
zg!tnxsHy^uruc`dJO!;s)9W0bzFEADLdz;9#)|DZGU69%G`3#?eleJB$wA<8RY|o@
zy5YKwt8g+&ngOnPq+0fzt`}=>9lenr!oggUipyl+3wyAjjwiZvw0-u~r88b4v>J<o
zTWM|Uy4RtZD>W@R>~Xu79;}}@(VI@{MsgsQ&c;JmT{eV4*9*cP>Zq*z&5U<h^zZPD
zjhWQ;5n>^{&4l)XSQ4K#Nd&6nGGV;n1BedtVbS2Kyv0!$BZWroKCMn;O${vJw#7on
z@Jyx5))q50ii<hu>rx=v!>9I6)SP|JIsy^B$;TU07l8+YftM6SFa&7M#c|r`AzKF;
zl}RM>gu9H^GTV;~d2XtMuY*Y75DVZ+B)z^O;wd5ls_v%H3K!z4X;z^`S$4SHdlF>i
z@FA?BaUGI;Sr(lqK9*c{TSrL%k+47p&;b{xm3#NMR55dGRo6cNd4+OCRgM<iZt1vN
zdxAHWqG`cFG*odA%#l2zZiSbP4r_oXMWurQ(ULbveNMu$t4%{aLdR@lw)=6Ke?GH|
zjhacbhRf}sN}kh=HuRy4C?MG@Mu28U;R>g4t}8QmIaM-Z`oD_0<4>bg-hft2xi$-m
zs*Fe%!Sil&oy1dOOGs>yHmy2{KpYD-&W1Hh4{BZ1dny_A&M;K@Mmo&3oeAVI29Tkn
zD3aMARcYQPP9sWcJMF(!)o|=R>oJ_lC}!T|^;22GioW&8xaM-vkT~flwBo}vkr7l;
zrD?)NB~&5;G#=T#kl;OidZ&fZb}kb*jZa;1Rr#JZm*h7!t!CK}&MOYnZD%z`<4bzW
zY0eDGIGwa+x<q%x5vwNGi*JfB@C$D$b<0sCWEKuy)6veB&P66byx7SEY-3Gv@r>$|
za}Bt>47TntrcM|a(aFXT%I+WXowRAS>|M^Ajbvo&0UGFI%ZCQQ1-QiP%}Es~u7k)d
zOJ#WhIOB3vzAhP{eoGo9pjc7X;g$EWXTKV*+62i~vS!nO@3_e9wCIunmvh>ifUok{
zO|?zB<OEcbdh2g1Bb1QQ$F8gMs-csn8pWlDBT$^iajY%{O@PYJswdvD4vg#fajE{r
zrqRckR?S$I6$!puxbr2*9ufl#qhH(7jUc<!`pRnSNR`z?K1An@*2CD2#7~=ywClvv
zV5n-1i71My@l-|VFC^0aR-n_XEilzL?3u#Qe+#y&SxVF#b`){^i7ZK%CHW=u`K<A9
ziK#6p>})SOYpR`3ZvGW+i|4g=GO)@yP~XLJJ7*rM%j>KoD75UgX|-tg1#hzAIy`rI
z4Y2x6G$UhVimo7^YI&&hx;KCU1CIX4b6R!pRP}b+E;s4(Q0uVYdvrMX*kl#FCncoV
zEzYJGiu!Sm#GTF|6TsVo<IR}w^&qQnHGDD*8wtoD=30+m69@kQ<m{52+=OegXtc`t
zSL8U&w7^6uvtmdn){*6q0uyB~w4hD6NOhU|IL>SFyC?56+r&okb}`F`;bgI0a&=Q~
zciHb)OzudU#8Wp=d#*J5YrvW<lVqaRUq@O`f=HWZsh1a3k4Z+Q(_}Z+O8s@L_g+9r
zD<UGSb|pOPq%JV>w5i@#5!cbv;@-vy90T7$uxPKpR9<c(NSbo8r=7i!9%X$@bl9#L
zthus{wS63lj4M?oSut*Rb!|uqG<S8oFtQssljFzl*Q%VQ3t57wpwR*g>PEfRYl~HJ
zvuf;u$T7Q+i3+|YyHVl`Pq4EXv<6v-#AgkJl3>ht5MKslyxWT63hkltZ{g08;Xg#n
z8Z{7KfYTD&JXY<;Rn!7(%XtzWX?UWF0;m!Sf|75)MVODIs|+>ApG|zWv~Ja%uIS&#
z;6;Nh(Rra711^v1Pps9hZvE6(WlC`0!-2))ym{LELZ1;XCU}ELr-ucbW$KQsn-eC^
z!|Y&MQp&45VIkF&#wR-TS(SDTOpMw#(6=h3=3+Rls&3>c?<lw2;yt0`vhuw=jhbfO
zqg}@>tJ{TDQ(J>jSy=nXk=j-bBr6RWx@<JlOe1nRnyYB4=anVZjOdoB!l{=QFRXl>
zr-ku6eYrRtC4_2*wnTCt=Q7)m#CK%m*X62gn-_%ZuBdv6u+y7C)0_uSZnIqF+QOOq
zlc%va>>%+$DXNA40LjtZMKK4Yc=|R~RM~ptaS=vbV`frLwfm4)9TcwsJ@p(Gc*Ag=
zY?BbQ=SqD)<rwBSjJnfu?{nO)Eo3;~;JN$bVBS!OOU=0~$$4d)gag_{AR<dj+uSn_
ztFW%rA5f0vHpCpJ$cJLow&$CUkTBa)IHb8wnkW%EZMPeT>L*KnnHg87y;QnjvkzIC
zr$EGLb0kQ|=!ukhs`$v_6K;Dp5z%&10HK;bvU_|t0cBN9E9+s|%#2xQrwuXGItrW0
z!FMcjHUR7x*U`j*0$N0oJ~M3c5fDiZ@kbj)Rc%*wUb_{Tf(Rp(z0cVJ!+<H2`SoN6
zo8!0H^*!uwe{95t@#&Rz_|<7bfhsgX7E(h%-E(ID0A!hMrrczarp0);q`g;XlC!Cq
zH6?bQ<&H$8Tn^bR?D1C^A#z*o8Z+CkjL?-z$9!XvfSb>gXnmmBNW|8T3wK97yjJ3%
zVpanqHaOKs82<o=q@^;7+mIoIP#*ZHlJ|sLd9XECNms9Udl9D8vyfx)^7-|b4x_<O
zfg29RuVuk~h$7^dY&%v5Gy+S7CDV1%Z{S(o5l%@ODO*#Amt6#?n&#-C>CF21c?A7T
zR%GXy6^RV%YrH2NlO@USHqW;iY&$uTfv`3K7-r5el42y=sH7yNWu-o)^qWj|RB*hv
zRBs|%#f=WRojojG&5IaLI_qYLb#UI53+Y1Sk3e)9RTWZc1XrMQ40XLSg7n;mC5<(S
ztti5@lyTXyh})f(;L3R$axym3i1wzi;L9D?^ZvzmhGdy;jOrDQ2lC3|Fs$--SW?C1
z#(o3xNc*7s&Q=Tug$b}RDF_7H2))Bk%W(xp3e@dOU#$~cH~?2#tw(j9)#Mlzg}y%x
z{{X`ud1F~c$#H8)&ebw#r6;)vTWVKtwn(G0h;ng1GmgTP*uAv_I(=J#9&vY)w)J!8
zMX1xnpBs2$h}(=!dN?Df@GFf*cz&0Jg|`QEBVL1WjYNfEmYu6QeJ2`~Um8>&<r(=+
zgsIkV2qDU1TuD+NVcyaYHJAj7n~&=fRO;U9c2{L<G0QNU8m8JSG3UUWFW=PrnDPl3
zvxOPP!6Zq2TxFC+CfVX3q$azsQ8o!}QA5AwR{TU{R4R*2YogQpce3ZJW;0<}=+VY1
zi16Z%Wru{Frn5pHY|@Inl3||@&1BR?!g&Z5_ZvH>EUV<;xUDrC7dA&{S!aJ(<2G~Q
zgDP?b+WrkVj*GiE)13SQx`IkO0zjt7a!VGl`%DSuXWQhl+}?gm1=bdOUDuFfN|sJ@
zh_1LU0LhBkHZC+OK;vjB)g=8{Zwb_@?G4q!)E{+lj8Dt5R_NeKEIsD}N8uJOjCD5L
zaGZ|ohcTwx7lto48Ub-fqaZNRqNG&$55ial)USeLVfYp>bLm1&n1uNQJ=m7dz3mv7
zZoI)c9ixhEk8Dk*n{}qS8mG22BW)bng;NfwT@uTgMypaw;VAAKVLuL@E4Y-dd-nyw
zL=Hk+P?<snQFFqhI>+@_Gt&yXhpe$j&oHchEUB1$cNVE~rjfZ-b}=7UoDquiiP>>m
zUM?i3n=Q~&W2|RU-PC-SPanF&rdQJIHUlZ;YWTt`z`2JNnM)Vi6ML%mmE_o0VR9LL
zB%e~jES9T|wWnUa6{8eD)B(e<ghL2u@|<KY=UhgttxG8dJ?jag`ou<MxfXjy_#z=Z
z+oH>(<8daD2~h`hQ@^QtiDzGuY4$ZyU0s^Wq_&kp<Yvj45c1kNeTQO*5R*?wlCMW|
zl9C9uJOL1pxeG%ce->jE$S-t?nfcai+*;T<jmNfBW&43ucEC8esu4};DIvE36J;qW
z<MRnq<y>4|J9YW7V=l$MmeflrkZ&3id6{p)7M>Sd1y)hPWLROrZ4gwMRZl9atBkmu
zr>=@)z-XxJuVvCJ@iE!baQa$l)m51tT#HOzJ8UAxfyJ@+(GkG^0G3R?>raU(as1~S
zX%z#CRo~aYo6g2>vN)^+lzo|2X*JYsVRxXo+rZMGpsBcButXil>hPzw>(=KVTScv!
z?K1%?rdmjLOxFpQP9nyUAAlhuq45V)Km|N=B1J__`tg?Lc=j_{Ynf!$@Mx-QA)EG6
zrMxW1g%nXYQ&iiC3L<&i?Z1wl9A%H@lOwY>n=Z2Dtd|iH2^bV!)OGzW{CGt8Pmeny
zZ?^tA@Z4ijN6j|kTZ(VDg#N!|{{3@ihb_+Q*@LE;3<%P!3{{J%ETqOGG5XEWY*&nf
zQRBh2BogK1krRH1G28&{V!=6Dnsb&wFA&EuFbP&_+VOOoY3H8pH_yVKZ(&97UklMm
zJW-34#=|7Wpei}8HB}v%R;$=%LrU`xx&)0n3G%3DDxAK4j|I1#w)5Ay))dq+V#&F+
zY647nLNl{BXdO~b#Sn=RJpGYXH~VyVX_(MbFj)3Wf!#L9KJdnQ**(dO8*TIb2teSN
zff9*|Z?fzQx}d1-R$}$l?{5`W)~)*1tQgBBN)wA@#_8Q*_Q}+ABr=54%iR!1g!qo`
z0gp;<A;eURCKwnrHBj3RcA*uN?-Yd*VWve)kC(zHAKh2R>YMN5uZsrApIH9@gUDr&
zR97WPFm0BTeYm(vyqR--wr#-`RPu_c(R4Ue_q2`BB@=zAP7ijjB=k{IUPPis(x{S|
zhUn9#h(e3p-A9U6XPMAxHa^6xcT8nm%WTCSi;?B2Q(KS6Q6o3rl(G8_wwoZJvW~9m
zDd2f1tNBkaqe4I9u(qx$nz|*aMsi)-RkiK5Uk+q3<T~K}ltwo(L{;4pOvmATb=YBJ
zmMwy06ii#eFAqdnL<-=lY`k1(#YDFLsw?+J>J`VVY(B~cKUq_yw|N?5T$`+cNkHTO
z078Lqb<vQlqb(lBg8A$&`QoUGh@_V~+oYOrNfE1!Eue!Uz}1LV%|&Qkl<vr?!!0zN
zoN*C+h?1xE+oqF<b9>C!g%?9`z~&CH@mYKLl<0mZS?S(Y?g%Y0cMu`DfL*QFwK2CC
zeI+*?kdWY_Y)m*NAWDiw#6XX>NHOSJQLAfxL27Q61zf6H$<pkyJbJpuBhghDdgZbM
z5Pb!B8+I%!N`foeMuW<ND(KAqMw<Gr(M+Qji;u)A>CQhF*&Q-=Nn^T+AsZJPC!2It
zwNW5ZQc>`m?7e?J^)n=}(SJ}m4eR)Yd?@l~<SQafD@ikC5jNv8)41{=G{Cl15maKf
z*eW#eY$_a0bZ~IXEKZ5v*l|97t3MMgamd%V`tlp-zokO>p(&E6?f(Fa_x}KHxthB0
zs|`L1ywOby=_F0}MDhJUf1azXGKy%oP$3<YLU+%)wOmjBaw97tc>d|z`jh%^)ZlST
za^$-%%jfUZ#e^pU4vV@g(c0Ow-(lGk^zHZAKFQa|CcPJ6D1^I`3Zfz^2lZdwI_45Z
z2>CAPfU1T4KI)x)87!LYD2ktL*Z#c?IIe@idpQzGJB<@+9KNJ=Hr+nzpZt3E*#aWE
zZtki{<ve))-A7jpT;O5F1r<>C-^Tv{AK$M_F@~H52#E~Qdtjixe}DU4yu757$P2k5
zZTtQA>+zZn=!drd0N2m&_x}LPsO~(g`J{-SbY1*^r(YH3%}|KNQ47xh06*#W+pbdU
z%0osXTnW)tR8mCni?{aq+pkU%BZ!3RqOQuDeDxh%1QqTe@<c>U)6U;2p8%OaX21D$
z^qwVjgvdx#JR&chzUaT}*N7EfUX;v7ilVCVUMj!8{rKzQnEeU5ZY#I--}X+vb3#=y
zU(}yGJpTZ%UmQVrdq%qs{{T@A{y%QIyuLgns-Qb;iT7U}b0QMrqNu&K-FUB!)91o<
z*~L@@^RgnQ$h~kz$CrX6^SYq!iT=BF<>l*&r#^d^B}GLg`)%>p<>JF+O8)>2{PI6L
zb?LVSN4nagqW-<V^8Wzg*Wpwp*azxOmt{{Y{+)Swec-BHwb^#x$L-W&koqd{ZFq@&
zNw?Ig{SkgTkZAC@yRd`^-pWWws-^c$zqedpNhk{7I=dqI6a?K9_C@`==+$uOxfGCa
zkaqHln<}S)^ZWk&LXh$JUTV84`Po%}`1K+~Kqg3z2^W+>^VDMIL`%!bezis0{+%#t
zmULbf6w{Ix+a~+%@Vygh=5qB6l&X~}(P6<+Z?)r!s(qKC-N*$|NmF&($oSj$>NyjQ
zn7*g6A}62Sf2Ur18zX2}qj`<t!8aehTrQn*nQ{(HXb~MKtPuBjlKDj>CHYm|d@3rc
zY>Tq5OI;R$I{yGRcJhK)j#A=1CW?<Ewm1(myab&lR6*26#T*535KvT?brtZaeOHjd
zorXon*v*-*lVsl$g)9-oIO?bdf}4)Syts<)yD4}@@zRt30O7k!Gun)A7{eZ&UsWC0
z@71LDp0IsU2nqgfI)o_75u%%ly9n&6iX*g9M&~i@XgRzq<W=*#zQ>X>_@8Pa&r$xZ
z^*2HD)-cR(BZ+l<?9^E`5oSd1TLWkY@;Ljds=$&Fmg3rY5FSIiuTM;C)lQyjl=*sc
zQs>p)#v_>CDU&nXlH?^eMc&|om;wPlC?+JTilMii)2!W|`g!!btXaK2t!ec`R8?}M
zw%q)CP$D=|uOT6+jInH;RB@ygG--#^!k>3xQ55K&2AXA-+4u8HIZdr@8%YpGo>WGV
zS(6<^z!)dLG3jkIo)xntWE9Cnd3{||E*}LfY_?Ycdf3;&M;<2~46eRrlcj1Y<Eqfw
zJAvvhlHb2mkZMQb`1`UXIab~MiJXSX*ZGS;YCMzV&{a=#RNIQ8rp<^kvDcx0DpxYe
zoMBg1B;-y)2D_&dPavzh?5q2I`pej;&ewX(hXcE`8TXad%?%W({m^+FZ~kLx+j$j9
zMO6^cgoRZ%-)|E=Fl!DOX{j-=%WR=TE4>%dx?5?#<0eI57l?}wkGK(QX9R^wPzX0v
zUVHVCio!_tx#ahor~}acO4-3<V`G~eMV+Njx8X3Z?lOHd)XB0nS0bvFkII<YQ{HeE
zWK(yyZMe1~EB^o}%~Tqi8*aZtzIIh9pw#BB?;pl8CSzCL(Y(MpTOL_BV8i|yQ&mLV
zNmKQrsG)7Y-(cNs!)h^U=a%MEWn4wGd)b?|QQ3Fc!+3bV4G9E&)JJ{_Gpo4nrrN0@
z3YqBLeglzUFfyEb9`-I)SN<6ZCB5H$sA=@01nMfQ&F!%^d#@o;Ukkrc9D*Fgd8=aW
zKaf}rIUWd(Q*fZNK=0``6~Y7sRY6qqu$Jh%Z}IWx<D{;eV=w7dQru6<>}N#0H>-eL
zXM!=njN5cY7s~8NzCOacY>BcvvJOz<IR%GXVa_V7xJrshyKUvLPs~m!@JgL6^Baux
zt1=4u+9ysVSYaa^bJ~+@E?A<MWf0L76p;zNzCN^6Up*ccM`bP8>b;F)b2a;l)5Ta|
zLv1<e7cNf^Z!HKVpCsKMY=l(QS8dTzcV7v&Bwmx3v!~uoRGk_)N(;wWN6FCciZbJd
zh@_|_h>kX>t*JIDiYvJxF3xJn@+0ZHXEPsIkM=w0%gu0cg(3QpNBpX(w&~|>y2_)d
zX(G2Rx(hjLZ%Ybgi&4SSM<z!>PUg-pEtCX*N+R-4*;9VCa526|x%?JC)Fo_jv7ALw
zMk`-oJ5Ax%nwzgY$6{1V6g1vRyh!_;h=|1<RU%YQNQ#J^&!?*UoPHRS_Qvd~ZMP<C
z{{VoqImTJDVmm0%sWz&nZV8wusO+d|x0NJbpko@6F|@wE{kJ{3Iu5FvW)30BUBw;P
zO*oQxQ$*losk&~vD)kxhD{z6f%qX6d7DhVUe2gQPkZn|)apD3ILoJM4{I=I|4+MyU
zooVEegpO+~w2j~%OP&u)J&BN>uQ#MHPO#OJ&$%93O?GSifjP&MsE!!&R}@?mYwGYT
zy<$toAm>veSI4(`>gsp@027fRsZTb{c<@^$+K}l8wu<1lupsZqgP(&zLZ77hHY=Uw
z_m>oxQlXOq*m92qPO{N}XiK>8cEwthgsP;xkoMhCR8zz)M4Xk;ZyZ-=$Z+9q*hqc8
z%Z<GtKuN91OjLGJAyg4@5fK%9bifIdE39mmOM4*Z-3w!R4j}!!+DgQ6%9_Z~EJY+n
zCL<dL@v$vm5)|#6b8~YZA<4J<jgg3%1qI`|Zds?7{{V?&)s)b0;<pgw#HCUTSx?JB
z?zrN)$lK!AXw(dy9wL82kt*HNIX(QZE36pt;y+)DF<4&V)ie-vh>-aJst~v-`qSzK
z73AL}Gb)<eyn`RYY=O61ep9!w9j}VnA{P+u7u4sIZAZJ$=}(}Q6jfU_0kMoNH9SI%
z$1tF^j*G2h5?<0955zJ`+X?bb=8D23^A@AJa#gcY2N0ZXS`GrO5)z_1(tSTmi$590
z=`s?0?=8m8G${{B$qrQVo9vwldoZpdxCBYq1_a4T;1Xzs6|y2i9>&IANrq3CP?gU-
z&R%g`mN3MNxD9NgM%at7WHzYU8Y&?WfH)s0BW0zhd4G;%Srho}tmM14@7Gxgj0m=`
z7%X>MWXT&Q<rs)G>twyTV#vA+%n3T|ptKWOU2&c23T&%zY)?$2XP0@r`xjUTs~D8*
zB!X?MYVb9Rl0%srhN~$9k{57zzMRo~?7Pr?SxI(7j$>G)`wWupV%<WmlO9~=-!QO9
zLk?2G2OVG%8zQ5?R2%&(vJk49RLiBL$)3k<GZ^gDF<m~U!gfT-C43^3h=VPcT>~iW
zro$RrZ>I$T1L9`dZo~BI^Y3JpFKJdkjYh}d*E>TNEe%KF6D+$8ph$3R%v@<{l36>q
zw{;AN+d^}bh|sSSh!HWs)RF}+OD5sr?OqOmYN1{FT)Me>!#mEYA!IL$EHK?%IVUjN
zP;+)kv#^ca<~yfxf{fVnQQNv(_0v$j9a333)oryx#BNHs)dhKsI{J1cmnD$vPNR&Z
zmrR9MceZeOqHsmrQ$*ucjh)`|pKMsJWT1?Rf&Ml_VrkEI0kjlp$JIp?l^2L8x4$J`
ziYT#LW?<Pq{{SZ1uzPzFcC^jHQTjn0X$z5lltCdiLLLjpWZSGaeMb=)6mr;a(_((w
ztRrvf7fUraAae_;g3Gg`3Y;kzrgTiTVI{;sNU>RwJxTTL_Y{egZH9;ln^GiAqGsNV
zF&!3<VUM?`GNe9jIcbn<6}|J)Z0g=^0Ge1T>y4dzExNm#itiuNq~eK^uJ6dSJ3{lj
z_!)LZhBbF{Ui&LYDA+M-z3%EfE^uiBfeEmj&-D-jfcPcf_NDr0gO_%t1?`hlBS~gt
zCL&FK6CUJ1kqOdhkyI5+bxo8}P)NbVLPhWY09Yh|@@dbCG4ywalFfN=U(e(8Tc*{c
zb%^A;S(!U7Rf{fSO~kg6lP43x3UcQZk&Y7^j;P_I5nhzhhWtS`+=MT^HDFg*P9>!{
z{Vi>lr(YwZSnDxtPDKrTXVsFB={D0w>`4US8O3?EmmRbd*~Mj1H^csvAhC*+Y;P;b
zwEg2XWO7Vg(misxh5BsijaDE!tGX+#fVSYMniG7u^t99}J!#XqC#U|V^nMOqSmXy<
zV<W^L3i7mx%@BnUTU20=!kb7<b5HzxZ`C+|s7W~#eZ}cr#+;4sO4TC~f@}l4+i|9x
zd5?vPbn1*W;|sf+8&=)KbpuSYnKsxUITWPVT~8X)X5PQui)PBVA_zO$X+yq94UnR!
zkae}NbzzJqvqiBDIgJ^%G0NL_Vt1OCA<EK5qQh;U%QPvBxGlIc8xa)ku%t=1g~pue
zZinGkCx__fL#Pok3u$F%m+Agk%E^5WGm85&AltL~&66(>sR6mjn^Ht1*pW{?NlVNz
zRD>&)Gg}`9%^+ksEj;OuBRP&N;e$rpG<o9$CS<mY?TvV-2$-*wPP>bdub8>onrq}V
z{{VH>a}3JH05t--diA1G!jB%m)jpYLS9!B`(RC*Pe+I}>tyzlQjM&8Fc3ko*auA<v
zno|~$1zzMrh+C4^MeiW`Z_Tn#O`6php@n8nb6{P`H>-+oVR=K{)I~_W!2vduTR}21
zM^sx>P=9)i(E`_7y+icvOQ|DWlD#RMw*YpsOvnz+u!z>m<A&k5l1+!016G6tNuq7h
z;)%zk{{XA7bJPc>+TT!*;q1rHal2*4^|GCZyI#WhR9g!U+M|8&kcs(g!BrcOJEC!3
zslv#|7RK{H;pPsb@#2#_ZxNRbTkbbiexvmEr$GHp<2JhKO7-3)b4LZYropQA6A~kB
zfDDMr4w59+g&QSsNkGq#s&GA)1kF7Rx~(t_TL7xmtv}RSqHM9Ipt#GNfuvWYu^`1(
z4TBD+aGPwD0e4gaXq9>!X>}vi)}CWH&8{~?9)24`DT=$v?zploBCF`j5#MM{9A49n
zxDA%bs;RQ3+b>K{PdD_Kh4y#pCjlEvJBw_RyfHgFS?Nv^XG7oJ$92ZYk}q`-jh-Z`
zt}@CxTXO2T#!NqaRDnV^pgQ>7OA-G7y;x~`9qN=iyQKFywvk21y;tJXZsXx_DlzRw
z%Q5>EYRYal<7Cw)LiATxlNL3Omu2SM5pGiwnqEYNhMOb!ePtPQ+8qM7P%UEqC;Zs`
zYniq$bJ|N-)$!DuxN#pfaXs5YtrvjpxFn>gN~_Y3S+BKv+fwE0o`mG5brOD`nOI16
zt~)GDt!2;`LAXzM1yQ3m)WHe!Y4*+GRBwtUj*Qu9_6?U)YAacsx!Px8Vc5lUs|$AI
z*<iPG8vvbOa6|+O#Ix>qS}-7azT2pXqKcU=!ZooMH0z-Ic<woDwZ<{i5Z7&~`~FtG
z(49%F%0Ce-KIx*3Pd!?nS6u=2n~c{q?7R=S3XdrwgNCSPE}^TV#Zggo{x?+_xIXP<
zfVAl=hQTKwMK8CN*?zC{C(8UP{qk3)odI1vy@8V){pC?ZSXJVx*~T`M-QZ25O`$6i
zg+f9ImlloZ096C>$6Qg=D7JNOFrAH%Oo+Uff#bR^`)r#g+p2vj*U$Yxus)17Tc1nM
zlQV(=%k`H`bpFaz8IdBi2-5x+E*yrPS#r@-jg)B>ObM;I8k!)YDz53W^n=p>08+Uv
zuc(}#1kLcbCe+t3E=9Agsjxzh>w)wGvSc<9kqJ2v7&vH3UrO!eefp%po2k_Y(=&%U
z8O#Eii)9$tpgk1J!o+!^R0mq_4*Rdyxi1x6_FF$smwJTMYYcZI!s;X0B(}=N#tr+4
zJl!TmP1hQd%YCv<_t`fBMK98-y=X&+iYzgBy+=o_)_k~`q{U=)1rrZZa}8}AQJMHO
zI*Lj0-UjL2u_Bih)Gj>vBU>pdg8u-_<cYuAWL?T}?8`XCw2kb`UTfjCKDN2(mJ;9y
zKNrF&swW-3JR)wX@$!kfqMJ9uH9GakV~A=L%D(L31G5_jUj<Y_-8(Mrx}q=qvO*&A
zf@9%&Z)nX%pi|Ym2P(-R-2?9Sd#=MqofSdYgxVd)ebe+8`|s3qwjlteJua-nI#<qX
zT{%<H1ZWqk%{uiJjX=n8OqU#f#$=a<HCzklomp%F@jlw1hvp(|M$&Up*->}feu;DV
zIBQ(#&mU>4OJYQLm~~Yp0w?)N7kB)5;7hXXo1*R1OncG>gK6HN7O~@4JUV=Xw6W#K
zuXS04C-XN)34l=raXfK#N4hDpa#T*Qbrz5D%a&$KjM<A!ql}8Uis~mXyG7uM7sBnf
z>-#GCR(K5H#z=47J<-hA3uK`w8?2g3lCcgwy*WU)i0QQof47=o^0cIih!GzAw@-*D
zsFI@ZvI?&2uxRA9_gKBed`q;$wa<XqRa`LR^C{&R@<wJdCXTV)`#OqEAHs=v-%n*!
zhp4(?Wkoi!HIuU;p!;{l03S|BNQbidR3uNn=%|~b?yJ^3*4!@{(R}K+JIQIDi3(Fe
z21KVw+9WOi05UOH4}cN{FUc*M+(&`}iZ5EYJVBAU9sP&8%Ee*CZv~>nD|$!i+I`q^
zYa_4(!)^^xw(MtQ$P_|B7JFz4`H~-!aCcM<fO+{Mt;Xy!3DR>mFXcuLa4_Ais)A;W
zNHil=;MaLkS7aq5aRiWfs)pn}B=GF3IITGt>@4C#t-*X>j?`P@Hst}5FSr>)&Gbi8
ziHRz2yQGRgN~cCtnzfl#Y8_sH=5~0gSic<XFXBp}lL7k}AY^Vf9@zpjpsU4I$2Ku=
zRd({J)pHj{JGzxLENkjc%TH;hkyF--mvEbM2m?To*RTu<qLLD-l59>dp3s4g$bzNE
zkt+1%ppvXrI|uOgo06cSDoBEkrrta!$Hv>L^-HBzc*b$2b@mkQ6o~CdKvh?H7`O?=
zM89H1Mc?~)`RY@10z4I&l-Wg$EvhVcxvBsPsv;ww8*k(NSFf4GJ@Uxl?Ll8nhmDZ1
zIlHN2$|Eu4HxQ8v=@{e-$x~%jXYQQ0@(cd};QjiT)tp&~F`Q}AZ@0`;MR=ayrBiQ&
zRrp2OQFl(M^UGq1TI|s7Jgl;){6by`V5{`FB#XF^s`5fj(_~cf*P1Ij8^H<GmaR!}
z-$W;QD4Oi5CR|tdUG`M)tJL9yil>PHc2#{=5fF}0$`w*=O;CQ36#H(7N~*u<*Vb#!
zY8++Ah`9W=h9&-liYwuK@B61voCnSIks#Y}noXTgK6dlZ!g=3xUaLDY=FKUkVg>Du
z1lnz-+?V{wzth4Zr^u(2`Rjpz-l)sK6r!ukaGJXZmN-LYMjz(JCjONj_d(fFcTxRb
zJp6g-dpApHB*<>YW>EBFWz<Jv$F34FMI_w08-k7x>D&<)_uIns+OVjA(+xy{84c4v
z%Vp^VD1=Gi)lqlYQ+3@_&!4|k^_b7&NS01R2S7V!E--39=IgN_s-iCFzEO7BQ>x>c
z!IaHK6p%E@V58%@Gl)p2lSoq}pW+dKT_jQl%eLm|>pxE1(G^p1L{v{79T(b&V`*C&
zfd$4Gd>M6y8{dO`7waPb051_u_g|kW`zKKCv%GH;of99H{{U&>E!D+rl^a#~CEMXX
z%AY=dIuf?OgCirhO6x{pq{B$)vZZiGRZ&Qq*pWoGB;*922<amEMINThEROGJsRk&U
zL8>Oq^ZEznL!fT)ux`YSrX;fIA`_x2N-9E%jjrBDl8++WZT4QKz|V0y3i`+v89~gG
zDN&XlWEJk~iMW=?+AiBDkoovj^W}Vx%D}RlEH3X9y2}z%64AA;dfAaD7z9BiX~Soa
zBt=Ew;Ot1hA9U)kNhQ$ccx{d?J}rqLI_a?`*AQhijw%-gG1)=TE<aZP09MVKrs}EC
zmNz9hB5T|pIiktB*8&y8QJA8$kqnt5c6YT=WxbJC%I&``(~lKI+jL(jyQC`}PMY-b
zjZISIa(lPiIdQ}Zvpz&z(Zx=GNUq9@<xx}R6M6XlnbW|GYQ{@rU?tjhTA3{kzTl^W
z5ncGFB~su&Pt?9V4&S0-PSstF+gDSS#+@P<gD8j`1y3z5>$wP)=GuL^DlX~Q0EdOq
zp4`%=%HESO8+c;t5}FhdC3|PUlm!)bEyu>no_wd@_v&n1s;cD%EEmDYi4;e=E9Fz<
z7xpCmm!UDA4&lj=rA2w&*yd;qp)~0Z<+s!*Lc1dDK2yr<zix$G%gPl@ikxBqRHSA>
z{^B@~NNuf<Ma30O)D!3xUp#!G?uoK^LL9r>mg<`XX9{alOMnM13Q8)c#ea3%<Nf;O
zcB@$WSVuBKPx3D628;5avUS>2IIoH{`$(!Pz6_Vj?eqQmhks!iy7<x5+*5Ws@IX~h
zDYupX0A2ibJAbmQ=%R~J0zycuMG$>HmXN-naXhG}_4|+YO}_ngS>(iJMx8<5>J{JV
z{nu|PvVGAv`>K7m>Wqm%(cRS)RS6XrWkpV}IU}5kJ8AiY-4zx2-FH<_+s~bs;I~hL
z>4YVMtKXQiE@GluE2d7MgAL0?6kU~f*f|m}kGk#WuFkd)k<d|WRz~XJktY>F-4z@r
z(`8-NQ*;zxD2l7MT<qK<hEY!>Slcee`DUs+dHo_HioYIJetM4%Yj<N3QAyd=vPNYI
z0w}nI*$5Jk+j2zT&(H7IfTh<RaJ<<=i9DEFC!JP=5MFeR5L*Hg5>gRFKon9$^1e9o
z`)}76F;;hZS!f(XhR<x-UO;3&Ng|k{qA02_$}Z!_`gP5lxe%G%#Ar#X=H|H-v{eV%
zLMESRg?Hqr2%9e7<^KIf#G9<6?nRMi2U#uNFy|XX*g_5e04>xn`De#%xgw!`mwt#E
z=$1tSug)10l*4a(h70O6nF=uru^kdb?l!(VqMIQbOS-CVL$=*V36mwZjXPLg?kEX4
z3O?#9^{Nck2mI`o>+!m^ztWsldh;>7do8w<+fSo*0P>Vck>4=y3NL}%ek9=h3a{!#
zMC*lgmhNDgJkM!s*Lks3wD%B*wjTQ;o3CWkav)Vu-ANPY!@wekbb>*$?~Ky~ypb<)
z+es1Z<FKu?#E9g?RcMJ6n@~?Ks_d$yd#I_3prR^tRc$GmOcZxfwoJ@ITqzE!lP>Zd
zg%v+qDk^a=JEq<jZICj-k$lhbCX3rRgYRRz38@Mw9uWkUd7vWwNQgV8!@B*J<%^br
zyduW5DUsS~Ntueh^=+gcTnv}VaPUH<vZ@~2efsfZi;xG=w_NQrmKB)T+<I4KN|z<*
ztw*d8a8Q8|+IUltA~vEzO1=;k2vvL{bsiGHi%8T;dE+I<%#_Y7!I9bH<#%;B^WvYV
z{CW8PweM5JVvr+5mf5R~AsVEY38}2OyuPPId3IFQNSkQ{i}bI~>C+6A4s1Ibs0kqZ
zj-guJ&tY5G6UZtGq6jposoQ8jPRNV8sxL;-lT8wd%vFu_OkPu~e<La=k)yDwX%P*1
z&vU}CZMn=;9s)uXMDS?hkNzE$nYM3}W)^a(w8tKHOdX%?+RILIn?#CI5mnRJ+igj+
z9g#qU)e%?5-B{!}&S7h+P1Cs%+d3;{>?C&$IJVz}+`hs|vaaZ#ewjBI{-5afGY+n)
z*<@|bAcI(Mp`6E6z1$H+R8v$AOT&LD$q^K`>XF&OM}J~;2_5`JYycYZKo~?Am_Cfn
z)a;qL&CRf5-`yH_Bsl4-pPc9bp(+;SgorzCn<0I+HOVzc7{Y7{9z^w|8BehlzsDYh
zA!?9RlZcFy9w6Z+{{SiAm&fj+`2!i2Zq%%<B`wVjb$ev-wJ<wSr9n|_UW}sIE1Z-8
zP(<5Q7Z;b5FBEz9A9tu;pVt%3q@8=1^mz`&W3{_-Sd4CrX>IXv)RoxCDm<5NM5v-W
zBJ>^EBpHtP<hl!^jFycBk)F55fq72{CAGlb%^Zysp02H_uo&}aC?_#U#6*q0TzPV3
z!t%SKauZbPaQy~BsFhY#I2EmyHBV_=+jY@t8yIh}%X<S%imIx!CO;KrL&%sW`~k*D
zI#uYtu44KrtI=_pIiuaDQM8o(q*9J}?DKDCh2R$mUW(w5Bb-%1MMc0QAm67(owpwA
zJ-55Cr#efyvs^r@9*SgO-Lp-in~iZqMJHMSaSLt|*${M59&N-XzBgedrD`@mtrELI
zie*iX<I9Top;`V9T@o*+ZB*2X`5J?7GGmeBJsxYS^mB2?n~bt02?VJk+H-JsZBM}~
zXrCsuT5nmUv8UeSrngcWeb|u^+iuykD&Z1y*b|8fDx&STFABbP*cUO>Eo#KI374_#
zHu36)=EoSzTUTDxFaz!p%6;dN4OvbiB-nP8HXcc_Z_(B@F)|qN@_g1!Jyu<2(53xl
zb)UM5zzTA3#Q2J#C?b5P`jRIlQ<&yE{{Y1K{AifhwoR@#(SFFGxres{C(0t6x2)X-
zu#)Jhy%5b5novO=N~q$PBJLuBY0G5!lXH>ISmP$wAIag=u?)%i)=n_Pk(mVD92NwS
z(Ek822bRgV)5#0Mbpt}PZClifySKF;8j#&O%5-X9x1(5ZHZ7SV0yeIiIttk`=)Nhy
zkcklyMSA(_deVxA5wFI=a55J&g~u6nw@l5ZzP040OR)1+{33Z#Pus3Frb*isDtTzU
z;v>VlP;Jj%imO_>{Gu~@mhPNjHZr2gNmb5WUko`h<TeTlY&ean$K)s}u@{Zie@Si9
z_gnEgO+%>f&Gh|R^tm;!L-+XJvc?07r^Qcz_u`Qd7!MN@Ljpxn`BX0$o~h=vxP`4n
zMd~@;DKAt<I^Z)j2(meb<*^3jjhL!0$ZVghWwp(-oO<D^*l_Hz*5bWZG9CO{4P?o0
z5bzh<7?K-8B5hadE@Fk@QGE4jhFE6hw!dPb?V*|)ooRhFSR2<Kk0V(eNLdVwV;iZY
z2CAzlq{1hqTv=F3uUO2*d|okq<&M*UDB2M=EgO%P<|a0G7Y$r$Zb=@*l9-ss)Z$!P
z*j7V~<Y(kR%2_!eh4hZo?Hf)YF65+}iVnzkU&S8_k2}-*dCb^U47Z7Jxq~{cf=mY>
z8#7~*uQUMHVYkW}y3i<?h?ycHF6g6ak!W@!D^4zR>bN*u(K+vwnYhjbkQ-^ImBA>f
z?<SM-B{U8In@HLrI?|^eN~PBB7I4;vyZ-=N-D6^5F9E{zOdLxkJc8;SCQ)Y@+gi(5
zclTn$(j8dC#incHN+(<rWl0T}n{0)r{{X|7_C+=$Vq*H2VUlWAU0s+#dYaiSTfeNT
zxkjInXOB35%fzv{q8lX8h?{C$fQ1yhWyi1PmW69ICX8s-ORt$$VQn)f&2u}b7}Pg_
z)%&PXYnAyE?0w>ck3>Ic>nP^OyT)jUBm^n_I>c@-bw@^VEk~=Xu3I=*^*zit;|~bR
z^q2rsE8PH9K#KYiGT<J_3T?QXknhy^u^4Sfdv65TStCz++xV>i0O}$AQPN*i+Ci`R
zOv+q*pyqX0%$QN+iiAdF1&w=+n93&~aS<j&kol<~qea>!boX>=^!FLYZZ4!H{%2_#
z%C9$&`xRHVOIcHza|Yt2dPsS{q2zQ5IyCrh=n?=JD};u^&$9|?GqRm7rmjngx6@Ki
zDK^p*Z?yrLO!8)1gkngoGRuP5r;<-_zBsD%IU+QCDjkD$SS1Ff=}hQ8<2uun2#Ycr
zBS<ZoMv$c2PR1rl8I;MYt4K_~jhhWU(d2wsYgVqOr$>KOoXnbD^(flc$MfK&>8_?w
zXda;D8aFRfnxbM3dc<rJso9M|R^ZQu(ZjE1BOW6IGKR)8QQc1CV%h;Js&Xc(WUfuW
zsmbJ<PFzxn3=20A3EtC+Bu%^~iZ7=&z{JfIfk)|7MO5oO<XV4~SZS6~dxy84YK<$8
zM5M#(qh2I?80N*BHWjWslbj)9NU|~gvX~-H5ma^7&A~)x;aZ1FsyMA?q~k>SR%CUp
z*}?Y>C>k{X0N1fJzC}e;fk)(2RX*JuOpVQ^wClwT?~%Rjk5yNvsPNg;GRCU&7|VS=
zJF-$E#FA#-S{kY>Qv^_Lxbc~k+pMshlnK&*hUlcfbBym2O>qr4#3^$7%*zI!AMlD;
zDsdEPV#oG!>>iNo!rP5J_{(LpAvcA`9Cd*s`LD9cH7^aqnzfsoW7ySw)>@OXOV?bB
zCR{^rj3%PC#E}L?^Lz-v+<2Q;98LJ6ORxkSA>A9rPa@R4cc4u;$}a{cDv~|zw18!|
z-S;fW_L6~#&7}8@QS?sO0Cyg7)|(!uk|>L<rrgf^ZNuF*H_4X%sJ}J1g-@!P7A`uB
z-F=PLAz_nSOsGMS?RX@~3|UH!>c=S(Y#E5;sG#G9F_;4pKwcsQskX~b@6*K<B{W%;
zk>u-t<9E;+p_4K^Ilqpf{u1NOwu~%vSTW<2=8TzPd4TRhf;Rc?rVZYtR_QK_Y87pj
zK2wbbCzYKHR-SQ#fo?8KNYxdPobNPjIPift!I3A3-El~f6EJIDc>SZemWD%`lJY0@
znrzo^qS#A_b0i4c$a$9EWu*pq%W<C5O@qiPz@Z+>NHpQFj*-CSxS^-A2Tw}3Hoxz(
zW_rucpn8bXJFBcDAlW5!mIh<?xA9w$OdBNgOg59GM2t1zD5JJe_K;7upsL?}#4*pB
ztDjtFuxNABp_g-?>FveE^>!_ds!f+K6q8LDZKlJJe&#ca5%-*N1syh77R4D^1dlp{
zT7B#0wy#ocvJX&{kSX-PILBgR5~E|?*fOeO#y2Mf>XMG>KH@OzPZ^33wsIV8qa{E=
zAKK5LnWltl7N2VVjl{+2FCt@&<rI^&!me|^+Qj6)A~GDezrxC`l=EuRE2h~iju;^J
z&^ggFT*6^)+IlK5Y-?KA$S!N|W&K|CrJZ5EqVyLC^*y3GlWk{?%g12R<n;D7aVNJr
zR0fH-#~~PINyL<{5gEJ7pO(;@P0xs)wnWHeEG;pct*Ko$QAl?h$=k)h3bw6`$|}dO
zaa=@s)fHsed$w%83eX!#x~os*Z$<asm%UV2C9b><Kc?9&gSWN0){JAe<5wXr(z&^l
zY-00ynV}u#MV|Bkcaw5jc#YQiJky&`L15sRK8m}evi(QgPQ}L}U-);KTI#C}<PTLo
z+fT${P2mYIHx<%(wFftO07VfVX$4mlcU@C@`zj`g3ba^_5ErW*NyI%e;_%+VFetW5
zdmptHjp)NN4Nq-T-^;b`?HEA?!BHjR`{t?09A7<U3cpXcl%B2|^*63^XVpKB*jALw
zD~iVgebxMhLTV&1oY^)AXdmKUk=X_!wByV&-(?+L$E%nQpk;8f9U9aNNfT<N%a{1g
z)Ykz*L>}0<$-XdEk_SodEQ)R_=hSLR%@jtpCr+s4W)%5;FQk!dvn#n17RuGQXimY6
zAcx*bH<(u6k!LNI#v=lbh_(2EeMkUgn#`HZ!xjNjcl6@2#zxJXPD(a}W*4|#jO5nY
z^om5P$82AwfioX#@|Lm)61NzoJ_9BGBCWE$-H{Qt(2*DB=NF{2(mgCKT-LeF9GsaR
z$StgxoaeNH<1L7zbuPOOWC<t?fH&EYjJWp1L$=B(0>cuk)onn337Zzhamsst#BQ2_
zYY(%L<Oc8)v@t=r>T==4c?Di27Y)>HwG%Z*5hQ06lQoZ6WN8jO-eljlCa?3nTH{by
zw~W<;Wx~D$2bwTcStdU1z~n}W47O-oQ$j?NM(`O*19y0E)M|cLVq@d0iK)<d@$^ya
zaqVfn#Af7~134xylIq=py_jSTMU)~HkFto=2=6lAXo@s96pgn4T2~x#TXDh#Z6WJs
zRf{)g8pBWNuUWRXas^z7rISjV4Y_K9$enaa0!ah}5lvJC5c^@tq~a)s88ya3S!*v*
za;-6yh+V$h)iv!hc8oNVIrFfZ%N9t59k*3mWjk#OI-JkAW5BvuU<%Xvj#{BBKc&ZO
zagmu_MD|O07Ayztj2ky4@HX8ymNR_W;vi}Y@)rWzbZ#B3$Z;<kTn($B9QI1YJ<gC}
zqdM#Id=Z(g-k0gDdRz^RI<_oeemwZOJJV|{A_AFrq}F!f9BHW`(j!jcj~->)Hog&O
zUssUiT6WeOk6aQ<)SJV`s2E{BsI_f6r8;1u`9~d;(I<p5bYQk9z7aYz)XE7NZQN_y
zUrc&OTb5d@ZQ~ino8{`@M``gr<aVPt!JB+Y-64KDwtx%FkH*6|{zawn?d@|*yXX)p
zXes{ylyDdcGRgze7;QJ5J*S`pro@6p7SY}U+PM43qu`ZWhYoBd;8c@aU(?TxG%0w3
z&eg02z<7H3a8lN8ElI5DF8)$bVcK0xP11qVI%eF**d`+*vEFT$9dwajeOV=G6X@87
z@1M1sQfEz>I;NXY#^McuF#GPaPW5|h*jELHQK!hvTWDM)5awW<{3@z)>hD=KqCMs|
zxE>`6e0sNLd+F}q+a;XW<sv8wq@@PSwhaqyAaUDa-F&LANqdQiib{Jf>GUdnzu)`y
zzktCxp|Z=ZDNB0z)nj8ZO?6owm92i>3JtxOH?z;V%+(bWbl-JegzP0MZeCSW^r9x}
zsGIol^1WDHOh-0UR24)--)+2p-|N*3*HjC*uBfW-$8G#B{{X+wTP>o1C-0?u4PDcG
z=ONO_H8s|da;!Ei+?xxZiZy;YH4~yl+w4Ij1+<EUd|eoBjDgsMezw#)ZsJsUUNKEq
zlF?(=*<OxIH7NL$J1G|Hj?QC<9fl`!A+)fAHVGlT<s86jX#+*sSsW3yAM}fndUw{1
z8LRaDug^V0Ws69ckm<%%T|ni$*wRyzk{n)r;0WN_D{ny<{fEGi%z(sP9T}n8A1b#{
zZR_<m7rqRJjpl1|iWNEdj%^KGWLbT)M~(I$j^YW7SuQ$FC;>*CAiPK5KC0;-jCgx;
zxN!df*8}6teYev~S%PjunY<3imnFj-#!E<Y*%{Ovdl<><?%s;b={46-s$ysDAS8(Q
z5L#`cU}m@iM=l$^v31DdA%`1zPz|d|Ly6W&iuMUjM^9InTPyh`K0WR|?8lo_j*}PM
zz6{1ji8wm?hU)Sn0jZI3m2ZjF>C&;AOu2?O*+y#~9CzbJWf^w$))kgkC`ohyR7p|N
zCkWg$SCoxWNJ!HjrN*&KSu2_6^t1BDNgKD94kDyTJlC2=WuWhD%VoI$I;f=jA@SW!
zI?Z#k3mzWc+Nv8Hq;(HfNQ{Pxk*e%ozUL7N<}4xD{{SoEFWa#uG?`GEbfK-Qk3~Lg
zI#O5sS0(zTY)%LuuT*(;4i~0b{$CbNqP=N#4vlgcvt!iFof%pWt><2S{vDM*(Trkk
zsI4~BfYCO)kvDTXd|yvvPnoGXMmI|-^0GRX30`vY)fJxXf_f`RO0BqpDeRg+5hL<l
z!`TFF@T{InLbG~_<}y?_X5v_PzK<R(!XXI4Hm?hupOVX5QB7TQ+r@0i1?M@ZRWZ$X
zd;He6<F!<;jE?B*@yT$VkRBmo{RO@{%W^TN+@*%}>@F<GR+Cq-9^7kA$fh#+sWi(-
z(h5jv;XkMw@nNbIc3FNf#2T#PWgGW!qMMIdWT_r*J`c9!c!cAk`kM`jnYF>OaGysT
zLm+jqeAhuuU8pw{x>u;TY*kvtZOofB!{w*Dr->bzk2uVCE8+^eJjzDx$dvDXJA6r5
zX+ge^vRe$B1i?m<`kL+y_DPVWnusxSxKS*ffY}SO6Wq$&V>I6lq)K&rqAigkx?EKQ
zB@K7$@l;uZ#Ww5wOKkzpGu#ro_ZYRLVVT%*HC36;%&b3`<I5PV12OI<ON$xz0mow$
zX)7K(po*&F;^!wxuxM3gdONMSrayUCI)fyl3mFiq=VUnaf~ao99X6!Kro-CaRM{;U
z9`bBQlYjF$8Y=X<)hhWnxaMTV)pZ_5miTM5$3)It-KAaGNA5{>rKIk%?4@8FdBK#~
z1H>|10t7@5QGZPnbM`dgbstHz)n;b75*<!acbCH%4c^Cu?`kBuaoUi`zUjkAPwsDW
zH8I^BMP4O|!1m)iZP#6B%r-be2zBnXjQpOqJ&|U&v+P<%<Rmc4atRUU-9GUm?G7ol
z%aJRKif)kW8IvfHHY8|~OQ`mgmN`{h<EXffTEV?OI?AqMT-K+}MpN=1WSn%IX~9>C
z2@%%K1L%1be=DfCF1Pw(m6nz_kb0?#d44%Yhm+dLNYz$VFv)l;P79&~ScLD>>}!L&
zx+d<f`<1fjq|7?LO>UPxR>T4VM;Xi<D>pJE;)Dv~a0w8>0aLWVJgcw?6G)^-)DV#y
z!(1ukRa3Rn4BCW{zbR>`F*I)emng85^WicJtjR)!Y{G5`r7mk|FPwe5jsiI67R9w}
z9Wd#)fiqUcNK1nTJi~)I%g91h%`%QQ>AVh@fjH{-WFWqeNO^aV^0p{#0Dz?ivS?+_
zf2Vbrt`llBb#mR20k&YtS(R<`RP7KXa3zZSCegRtbd<j|l#ID6eK=@pV^z(T<QZ9u
zPd8B0kF}9LavPkyQ5|wq2!K7o0u6z{R8b$&o=dCoGDP^po2~r6)f5puk`Qb@RZV4V
ziCNP&^R)L5lXm$FvhUrfj?J}OM%<BxEzTI^GNo+Fwr#73(?i4um;A!9wxo?;E>(-y
z4NgeS4CoOhcjrhk;0`14BN2*5Bz<>D2(EDl3&U-qBK5JT$P%Dgj@{E14WUPyJ_TsE
zDYQgw=bVNyiAfdH76GCIUA6_}VA_hy(>lybZaRm7*mvum0d@E=tp(JG>6bShGULqM
zBUcdI6<%k$@gE`9eozH;R|>d*bqHHf;bHny2Q$~R!Li@Q2Cb)ZC{pLF778nFyR(wj
z21^KytCAF+DC!OYnj3_qJTQK<#>DbqhhbL+rpCVNb9U0^(9%0eR*@sN(WNa@HZ7RO
zZ?I1|+ltU`@dBcvI$Li%!h+`qpt8RWf6DNf(j*&r{#R`cEUM|1)Ib`Wn2+;EVK`>J
zvor&3O&Uk`Mmb=QSy=>@wZ?uwh~MO_WbM$%B3f*M8@Cod(hQE;)x~l%tg+bO<c6GV
z0YO1|9A!~4*7`e~=StzI7CnA^LWk;2AMyu6ZaU+~(Ov08n3*JdGSbaQ))1|i8HqF+
ziAI(bxh-7z?Zajz7b`d9h{kao2Y>{g2UVUNfOjQh$i?et=R_3PVWsHf)a~D3`7F6~
z?$OH^7?802%~&|w2y!BFaykrzl0&jR#Lxj>j_0rB`ll8F1Z?g^8>>0)I6{mlR5UEB
zah<b}qU0k7O-v*xpvIE$xK65elvx@JeFr<CrkjRo+nL1$bR&p(WyQ3cWvXpmeU=-#
zv5f)N-bYLb{pl=~AzpjzqDtIL4jsma{{TAtBtsybzyAQWhlsjT>kgd6()^nk$8$M1
z*baZDx{W&b0?o5asPUSU9@)p_%C4IGZn$s)LyWrpe2F~84YX=QqUso;JJeN1Usab|
zX7ttVOSQ+YQg&+!9y$!hSER^wO5v7B1!{r*O_v2Hp~&wefb4Q6wtRYw#W4#FR81Ap
z`u4Qt`b;g`C{dRnlaW!4B!}I0!W^WOimJ%iDfYW<n@yUSpfah_uTtE~^d4qA24;4w
zRpauevsT>=i<eN_kt!g%Qe(?4yK39bvhr5G&^nD1fQsX8B6X$o_*~dp^ZkwbJUJ;b
zQ?$xk{{WG0huv^o`JHyd@g`*7SY13;_E24GCnjH7m!~5H^DG<7-eN0;k2;YgDaCJ*
zimHy{)o!F`c&406$ux?yFqt;8&)UCnkUJVes<P7{zT!GLwB(H1iahduVJby!#+^WA
zuydw9^xOjO^1D%J;A43{Sxo(YPj63Jr}#ue?Y_O}b)ufaAh7cekgEov+HZ2;uC#@C
z_II6DLax(%vW&7iy5^@%pb8WB_xRgV+E&uyvP`p9?BKj0s*H-Cv=@*-hl&DdfFU_p
z(M}#ag&pSaJf5~o+~%_WCYo0Ir_(Hori#ZCwUrAosI9UQJZADUeX}@^Hi_J;xrBY;
zB}8anMs^`h_iV@1NdExDTT`Iu#Oix^v8nReSp^13+K(i$+L>*##Q1JU1_{U7eb*5i
zL^Tn0BPx!<;;j{a4QGkz^)IbG2+Jt*>|-IYiHhn*KS~b6hmc2>uf=+%Wpk*98cy%U
z*`XCz0pxj(J(EOj++}qi!*kQrZ%TScT`@gE>YEIXU{2o&78@Eu5JZ5o1wcLGGU^W{
zQTp6*<6rqn)^p@*oMK?jC3~m;0ErrsI5d71k!ynlgk)_lID@d}e`@2@T+;P5>LUpB
zd!y288Pn||v}&H_ZPZp;rm>!Zw1fz3jCLL-S_5oHxDL6w7%C>~(=!bnH_H7))afOz
z48`^v>E9D3Cgf{p+pNcOXC30$vmc8f<H`!L$F|v<&pL>tyCJAXiC`^%4KG7CeyDS}
z*44U?m9pJ+6&#nz`0%WEHHfamLPkv6RCYl+q-Z?bKvPBAuOGuV5}8}2?dseuXdJTR
zH@a%pRs(%P4?=}$SuB+2SiC52BKHUlhs2xw;%z%Fh#IDTA*>j87|(T`(0I820B3yp
zroc&@2mb(PT#gMI1+}U1yIcItyPHbuXval8VFOlDkp|vVjG{i^3u@XcZIA~i-4#_<
z&xYO)p*$Wq>aVEV%-i{$x~zX4#w0V1)<C^be%IbfP@Q=;8)?Xa^k=ac+!aS#Z@Ahg
zCXhtKR4X(;54X&%^6D$huPLqW#E$AQ9%am@9DEsch2jB_hKs=b3w)!KVnQ!??dW3v
z05Q7!PU|O|ShjXmaVO<69+om~EUrdF>^(9=gRn;iT4|<RgxL0&CeZ;^5f`kNK`uik
z+IjA;Wbug_&B?Ff5J)+$`nG2+$!On8ITer8QhRD=kf`9a%Wj+oCARXQIO=hFNcMq&
zE)1NMF+nK4p>kY8!#u|HniihBaMIBf%lDzfM_6JToSTmfLGo%dgSxo!i;95KgDwzk
zf}L|HRCPY2WJt(oKN*`AU5qVEkzOswZaXZ=73~QuwIgYid3g$W<N0W$B)8h*cY?nF
zGn}mqtg*W$nHqO;P=^)}$xV_Q<ZIZGE>Cf{3AY8r9@qf!QS;`vzSjQ$Yjy6t=RC&q
zrPLb9l(jUO1<fsufnMb$1fRR9TKMYYFq~`&S$%|UWOn0%IzZYgBW8q3qGCNlam_;&
zzL{Aj1)A2^%C1`+o}^x`$m0}YL1ufYDYrn(NJwM~xY~k{@e&Rz3CznZ$K<z}+BZ#E
zk;Zai%cfhkNa)B9_=lWC0d2OEXovLzm~I8Irs>ogT>k(lyqNS{(vDx@8C2$+uDPk2
zDs>{{WJwG^?bXoW5)f4+#8Lf7Tu^-VLvZgP+O<=5?P+aJiY~NecQ$y03w#?D$>kXo
zbeE38as|AIPYCRs97n;a4G$4byN)<WTaprTK}UL;yY*Y?p22h6S4t~_ml&{N8p)r6
zEQ_zW(gHNpQj%@Df{v(xiWn})h#Z>ax;m>Oo2b=6m&z(OW66e$u+$p>j`&Du`*RWJ
zn`nX7#m1af0#ZT+UD3A@QE2jSO8O(HGTq2E0}!>9HcWPyi%*l-5yF6Igg=xqlt7*&
zB1Mv_P9PT$FcsM?f^iWIaH!DpNSY%tFKNEZIA?yXG?P*_!%VC2&1T4JFvj12IS=z5
zIUXeHmm6gok;Z!)NFbDgDElJ4jrfu(qVOHr2&t>WqQ4)fj}i*FCte`RM+TF&MA#!}
zh^VB9zfRlj@`$^qU(3&3+6RGXHmFyYlI4)4(_BDV@gqdC7u|v?NGLnE{{Yt1k$YwT
z0L&rXR8@NIb^JrURpgj>;|}UKV8w`nmXYJ2%0rB5ZMuf4s4gigArdFnB8aK`>c8m>
z#6ugf#@zbVXGirThn3=ed3B=xhBX1Y9A*6~jbRzM(yc8H97{-Qu^x=;`<XexNxs<=
zgx50^B;=j34kV|JHKR>#@()t=*wu7mtFX7SZd^acE1*DaQLqne9`*tfO#u{8ZTS&f
zcy>TAG(=QlVL!yXNUHRrBn!G*iMb3~u_u-0Rl=P)-f1V3q)LdKl^jJ~g-38i6+}*_
z`gN5b)F!oAdeO)#VM30~-(`y8vLqt=`GDJEiVvR6^8zi^R8bW8q6&Flq>B$W3GS9g
z&<gpIsFrxKEo^a`)}BBoo;`m7`xrVWo$3)kOP0)ft=Nk&Md^$S29GrsV^20LGSh&p
zxX?1$hkOaWg}_nE*e+L9qQ10lS6Xo>nJwK_tLcfg67|?|>+Av2NWia8c{>6v8Y1_V
z!~;$Kt@$hCKhnlMN#R+Jlx1~wbeEXMa*0Q5&~pZ4NMWbilxid@ElN&8>hbX6qM#DD
zzgWt$mpAn9ubBQ#t~dqrKEma@2V%%VZOP5D=aOaP`duDqiiV1!yC=r!(*B)?WUQ67
z8HhdKa7K%``QIC(AXpLJ_8_g#l<93AZ&dwOZ>2O)Alfk0xJ@w<GvN};a_<9fGzs0}
zirN!`Eu+1&UC*B`tEx3aR((w3&0+Rb82%#F1+#H1A`Miriu6WaMR8*^^mk&a^JNhQ
zQRNOQh#;zps{8L%I@{`VQz-F$Ii$YDt1PbGTI<n`CC1!o8#4a@5c&Z}1psZt+m_sm
zivFbO(}J-!p3HEnTxKmbEkZubir8&O2INWPhO^_0f2FnWnJSU&PALi~3W;wk@WvQ`
zcm?18050C@hGGQL7ciW^KjP_N{U&j!6gUn8E}}HJFFvyvdd^F3RYV7qz3qPvHo_~)
zhS%1G^4PNI2$1YM4sNDX+2ndVsG5aY9>xwr>DSR&T%^XQ!>~dlemkVlObY=gRnS)m
zT@K0ssRQETbk#d!z^UQigzS~GnUlnIxs=ys!l~yQ?L6CU_DSZW$Z2*ZZ+8XWC?mGW
zmQ;B5Ij5SVl4g2Gp>E2yuYnaI##`=IF($}Y(ZX^phXBx>MQG8^;U>wrqIv3W&8^gU
zX{e&7v@Ufy^U)6J_J31blVj<b;@4EHqwY{;O=QqcG*;%g=Ob+5x5;8KjuJe>gk-@4
z#|TJxstGlGOxGBz&$RNwSGu~UeYfIX+M3Dt;-DoNw-k_wHU`@t$rLZApDp%IsKUo3
ztkx%}E8|a=7F4Z6Te^9y+rzbOhdD@MV;#ng9ga^Y7uxP_%f!=yd=XZkOEXxSE0X8U
zYlR!MQtsk8CWbSOlEr<r?kKj|Ci@|7DZy1dZax>{hC|vkhKq_@jnw8q*#%9neilYG
z*+oumHvZ=pzL!fIASQN`J~U&C0?I@{R%ABJkVe&q5ZTz#RTahz2sdz)Ycy|Bq~e)b
zXl7-JGWD$l#R_=-&4^9`Dsn&&5>SoI4BP~3kt!OtN~pUc^@}@<*2a?{qPMV=Gcl)P
z%Vm4+!D7vWLkQ0_+Bh-L;)wQKKrPlep(iI*6wfMq9M*j*t=DWzQC6no6l@TZOUh_Y
z0wJg=I;u#h=PuE2u?q1~`}E)Av>dJ)+raJQgklSZX6i5EH&jvWEp(q=?xE@(u{SBV
zo=0qfqH$FP&f_Glw2cY(0RauM+*5s!zIvn7xshDYr+Zm#$Y;8Q+@J>2x`Zg=DJy7#
zq@2`Oeam4KB_&PzpRHLP_4PJ8Wth0z_x8}%#pU+s$isk3!YpxZJT#_=ZxVgg#NYPl
z0bD(Wu40D2AL;$N(!<6G4?5DGi!%`^Yl|DDYyP6Y<|{h<cpycwYz5$Pw<GPywpAai
z&*}J2Dfa%IbFLP}6jzX<fS1ZBlCIyk!l#5(@$#JwRyzs%r}2vQZOaCQi4R4L%JMXj
zMh!0LI~fwRX~h*w$HvNvrkFMplI6J&;dE8xbM`ZNqAmd#0Y0;Ml{RPx?xp^l_)d-G
zk+ho8DlqvSKo`jGI0L~KV&<xzI`<DHr3=sHbjT{s(LhZqlE4;9g6^aFTl4at2#LC)
zDyI8&KRuI$Vr&#_TEHw$xwR_`dkX=F3RB9P3vF^mMwuP<?w;goyX+&r%KV1U9nEZ_
zX@0Ao9|t9NG{n>VntDAEl6j|@aOkBu?ggmRWDBi=3vQSnY|KeSfk^^Z7S+}TJVgBY
zMapAmIx80Pr1Gd$Y(&Vy8o5)HLZoU1n{oKKhTBd@c2mi+?49Cd9#J9zMdnG=y&B2x
z#-u-;ETf>MU_T1o;EOI*#4-^QdP}Xe96^^9kd#4L6gJe{M?0;E4jQ`2h}6Q$^!G0S
zt3Xu0v4-ta@!hqou(zCST-GC`%dw`#bqtcqwKr|!Z4jSrhMfabHBz=)IU{h+xnj6u
zw)Pg5q|SH{a|RiGu!x4yJj~!0k@AZF0Of+9wkpof$ZhYdjP7&tWjEpYRE({5VQq?V
zI8y5*#F}tr#FF5b0&S8OB{#=!f&D<cs{Kmfqni-%L|yA-VsqfkU*zdC>uelxv#q*y
z#3F*qFVz>5uB(L%)l617E27dLaim|<&@Kmw+S5jrtG=FfOF62pjTs%f!OAolv1M2`
zPMger86&!ta$O?@Fk#STNmq!95EoVjsGg@~qU4byY5aJRWP@zEUr3QG-hxW51c;|0
zA4t{_)gNHkkO;{*-uvugohW9ZAbO|Of`He_8r)#ofo+w-%kgZE4JFNU-<EN0iCU0^
zNy$tFrANdYL*gWeg}U#@p6JP<!RjsLGi7BB_|u_R$zf*0y_FqbY2p+olm=7lv2yrT
zaYaBp4*ex@Y`fJfF`WvRv5eYV4a!MwF^WiNEu(Wni(?$Ch_*Cr)ZT>PBc<e;Mg0hU
zg4%k3rjk)@Eqk!!$`FZT{JkBG&Bj|kFFPf{M|mJ2Ga&^Kn?)B|0#5HzVk+_dfIW3}
zP8_l`aA;L;skk>d7BBeKhGUc1(J)8u*tYCXZZRT~H0n-i5hJu<WQ5fA&NIWvTsDu1
zq&!0q(|te1W?4IrNV&yj?`@Fcc=Y!qL2M%NCobs0L0&iGx(q2raFR@LMcG^g1S6Wu
zoVzfmugEN<L!4s?AN*Psj0xbc@lbGMxGLJZ+VVak=IDTe3ZGGQm!{1jM9r9mSBFQ(
zt!pF<+<u{LoMNiU{m4~n-F;W^t2W!*RJV2;q>9^wEx3r2HIjcEhL0M4KIyJ>VsKrd
z(!F~pHT3HH6mr7nGLL0lc~25umE~nX@Um>tLLIwcsm142f)Ia>;@}Idkb;9-s%&M<
zxXG35&n<~ZTL~w{ki+qnho4qu@pVns6%^yBHbmo30289>k$|V>C7ljK9%eHtLdlaw
zIm;KJB~^Sj>!V4yHkH&LZuc+3Cb`=|elhOSNo)<JbsTL@izEy~5YM37WT}ZQl)A`G
zMYfZb<5fb0t&b?pE$jzpsEdkdAdWhSE+G9IprOXo96ZWgzx12Ibfw62{>v_NM=+gz
zZsIUaZswa2Xog${YgC&FQRBPK*H9WGEx|~RH@R&Pgbg_Rt-~d1);lK%!LvNi6V0(V
z%A(2}0kwfvgn@NJH@gP_NQD5KbydRcKH#daF$9mDYSysoz99z<^!=w6HSf&0Cnnql
zG)HH_g4}a)!6a#h*=6!Hb$|dB?kEcGzEEIe7;5Szu(Om~UA21#R8PjUCM~}`_9He<
zw+EblFSj3(cDu~4bybH%g+#VX!(JipTANzFCry1+j(bejzdQO3RD6dazSBHEP<00C
zOlrzoN2F!7QRTeY!i?DV+MQhE?refGm6wP|ZXj;G#MKcxtk8{1e+J94?HkB5XC+a?
zZbhCGWi{19TCMpz0La(tMmY+iDz6Qk57HykF4G30%52<`mchp@Y%kqv)?I8z(b$>U
zLJ~H+FF2yxbCBI{kT$3fBAD=O$8}vZNkOMl-Koj%Wn9XeZ7#-jtMG`VCF7_vB(({r
zN9ic&AlXOct~}C7VZc`vwCS-=9Fe({skiz%x>V6h#|HwtX_ltW$MOq!wpjF}#I5td
zcNDpK#3q{?76jdhsH&=h)uS_`sF(btd5<avDukLZlQD5ykmEs;y=?v=na`su88X{-
z$#KwInGyBizBi978&qAsxWtLR+w`NIG9;GjF>Hd0HBehqH#(A1#T17o-5+%%lg}ax
z%}tU9EH;YX+~Kf=v2D8t199yq(I%XS6|}mUCNy()=1{oY>)8ao$7FT~n<Ql8M(`qb
zg-JVmY-+5MAl6r|ON^LE;wiVEG|5L<Y4n2}ksfiPkgSTYKHn}1?~fup)d2~1MJ3{%
ze05cYY0NvDb(ad7416}4&TN}(PQEKc2HL^4n?|J00RTBNmPrr*yl(*ZIT$Las&lpq
ztu%`M0Sh$ua@KoIY8HEQ3$$~r)H`g)7YId$8Wl1YVgV7d$|(aby5}y9w2F3dE{>wV
zPwC}Hoo9}*9<s)9%a9nHPjKoxGDG%E3$Mv1l$(zkK#bHC#rhMP<<B_mYq9FTb$%Wy
z%Sx-vhBhms%qBNmX4S5Ja2=})IML9bgwvzk{5lIFh+>2(<pnvKCnH}e$DIeKtK5>o
z9L({^%->6j)4?6i1nnaU^&^wy?m~sdRR%jF$dyZX5L22=p-3;xJTKFGzTVDDa{bn&
zN{qG-HoVXz99JIOxC&sX<mVT*Mko!7swgdl>*uN_^n)5rKGAGwvWD7@uH<&|A9M(b
z#}Yh1GU7z)IVn-e20No{wE3E%2q8$vO)<$9r&4wN0n6c9=0h0IAh6JFUL4OfHLNmp
zPKzR&rk<bgu4-}^QX;@B3^M)tX-&H+9*|FwG(j2AZHAwcK<YZ;03niW=<<bGPM(%@
zC1psTXE!OxttCaIYZk^HlVbJ!)_Kmgeid3YEJ<Q7(aE0Bk|G|+u9+1iY*z`xYVxb9
zT}pP+WA)LoyIY4MGit?-QDG%U-b6M_^8gjDQ5;72v~5S^EBPh4-5h+gP_tPfsB;o0
z^2KV>Q&&@}w?U6cIPIFsYC^~fa^5yn4NcY)h#(_sB8I0_gSY?|+?`Fn4Sc+4rC}M3
zb=VCDUg<mk00^~5FsN#WQz<0b%h^ICT%HRvta4~%YTqWpbh&dQG(JH|KwAVoxRNSy
z3z4JRbz?{PJS={(%INb3EUnpX@pTyB;WBSSkNz<US#7lu4b8+AQzhgny0UFP#q#Wa
zE<0l?${UV4DRVB8dciquC?b1VCTyv?%BraleFTB!wL<aIhgftu{BouSKc{sQY1pib
z24uThWO{K-X`vu(V>Db<jxHFfnkRpV0{0Vb(yS&vqqBIWeLC_}Vz4EkJ*K{Q>&*er
z%<}yy#bRd{G9zSGip#Pp;j~jC&j|cnDIKG3LnQfqL~fUCT3?ePHAEm>n<U6}aVs-t
zbR#H(4J9io!8rR6?^|%qS!ePbbkNXtaMQM2TX0pwXn=QSUTCgIQ*L<`owdXowrG~l
z?Hiu^b&v(vff%G5xys9IxZeaPqq3VgXbP*$c=V#D$n^ehr@_hJiCXp5E+%YS-P_wN
zU&A7_<Lt8$BA^tBjmjdP<AOcXZN}Q%5ls-Th0(gMZO;1WqkCWd4UtBkWB3+3s8o7T
zRP^>0)DYRV!PYE?ZO)CEmPC>xjFA+M41pp#$wg9L!)_^TV2EFIBOH2*IHr+~-dR##
zS>`!pjX}uoTa!9dZMNvPj62?7T2~tp1xDLn47xHl6+tklqN}{q9AhQatgAPlPi;Cx
z7}z~5!mNv07DXK6#jR!$#!!aDCR}9SaanEBRWWdcNfmB1p9sq*V;9ukopER~8neg3
zJ&QKCu?qQ!FQP2(!(uq-xFqWRZM7*C_YuSsc@$a^o#ojHsPWpT#BEyNere4O%mokL
z+E{f&+{dx{ypijVP54$3iPpsYDQ7(=6mVFxsI>=3quR}@bAyW&#~Tv~QPssHSB2pE
zkc65xXO`mFq&WJsKAOqse#|a1Hy?0gRn1aHid;s_AAJE_bF@+v#T#kGGc-aiu{LAs
zFDA0R#=qm<mt%8TitUV;&gEFc^)f20#Y@`LMaUw1SthIxuoq=2xUQ>?iHi2O>uuwA
z6tpPjIh@u?nC?|c_-nOwv~to-lg1mkEU=rpEVd?OuDYPx0zyRM5&4c-WQHPNq0@a1
zy#TL@c;$5%Z@%72-q#|qsm}nh{XCS^Xp)Xqn}A~S&$3nS$Qa^Ic8g*`C*3z1i4;^s
zi@Ef54-Bu%b5`snU1ZSguOvVCqYTx>B5Bx<x?<QwG6qUQi3c9(s);Ef@(>{|qdO|^
zAHr?1iP?4Ak@3h)SN{Mp)wYFTgpC3V$lIV`?3LexVxuE+MRSW_s(o5yFfDQ`7hcZu
z%SDa&!A4?j!(7qFkF?mqMq;(fLoz@MxCY{&D5(y_0D}WxD@nK;Di3Dr16!(^THQX<
zJ0-*J{jE$lTW)MPYYKW1%2Z{SBP@o+_hy+shGg3W3W96k#W{3Ub(i83ZD3$I4hwH3
zm9%zC70ghx0y#Lt;?O=&oONW#Z5>f0BU3X_QdWQk6=|VIqq&eY+D;iP`iXLV&Hh<0
z3U(z=FLH?8d^n`jLi4+-^L52^n*iMv!X-o~aPqu1la`!BpqFtKhvdYefrG$`^wJhg
zn+Du*M~j5v3W;&qI2SJ^;4?YT%ulI5x+bxJGMji;?{xzEQ7&-&I#z1@dYcPymW)!^
zoW`q|wC<neur54Gh~~;HinzNQsGP;IUOhvv)C+8;ne5LWW^@KGp+|N35o8Q`(Kk)p
zR4^a$A_9uoy~)rQMD`I*Bh-9%8MC~taP@yuM<TO*w{3)18&Q57b46{&2_dt_ODIH%
zu?G+|ULE8?QL?4{D%y~-{2w#Coh6v7I#QD{>p`(MR79VWQQmpPaKyz_krcab5{S9u
zuDd9$s(0)37aCq&TF_G3b@I7ovLD6RWtG%cq*6$N!{r7;4iwh=j|jB<XPRx-Twida
zjtr1ABqAY3lr~>@4lvF+RQ2)8ZLpF~TH3^Yvf=NI1()W$O*BjH+;J7vJ%O-2%@D|p
zkd6f%GUYNeOAMB^ZkmE<+=%j>M&ia^C`+*`#LnBQE94`|5D`#R6R%S;^%+ptBh%U9
z<i{O)Gwe=}VIcvn)zfXr{8dAM?jnRnh-t8j_~-+`6in>EIf{u}jGTE=X28cO0wj(M
zGh;yfsFo8|4G)jI7oBDO_Dzt!qU348v{hBG$E@aG((;jy%SiTaIIL0T^o^^%kR%5h
zH&NHyEtkq6sxHc#q6+v2yv*WabvB7>Ss%A9cPSREOOW|D8^9vIE{4t{TPEwol{Vd1
zZP%gfj;yENNx7?$1^ej^kuf2Q6^^9i0IJGt*#ffAyRe%)jGFE$uOKfJGYa<#xYOMs
z*p|m;ilh9yBsnlj^{F-Va#gZs$uHqdY3AcJ>LPw(ih{Sykojz_`33sCYzt))pk?F^
z(cyLOB!z_r`phH~=V1k7D}W5TBx~6n)K$HNO%;B%Ce(W7ce19t9PV=XF{ajJtwp$p
zbtL3SY)OM~U^OB!6Kzfqb+T`gZ0k$8Z@Ll^(@kz1M*-K`R(Dhp2u-r2i@6HyB&)h_
z^T@W{Q5SBgV?<_}kdXKGhK9<Y7O$qpNLLi8I-p4^`%&37;@hMsile^&06Qno%K2X_
z)<pgx`gi=zuehFK?77h>-G?#Bls9ZQR1>aUj<rsxIU|7(`$ysr08vCp=xV=4#j;iN
za7hT0WnU<$imHqM0H;9ysBwrIhoaJICF9g?NR4$_G7S5bj;(V^(NS7+ecc5mZJ*2(
zEzkuQ=}#8JA&zkJrIDGUEe456q8i&vs6L;xCpxFPSrf6Wnu8z8!cN`z(qvV+1;KeY
z@PwutAHi|>@V#jxkZ8OU#|_Z;Pn7uo08hVP%S{-j%(SA@S~RB6LY*hTcKW)m{?S3`
zwv`r*%6c4vGvrFsPe^GUUMOg-lI*IRe@QV7Qp0sG9;eT-3qW=bOvyi4$x$5UfTrst
zio1)As5m5x=Wtc{^VL|$GF_tInje~}@bZ&U)vfqM&Pd#OA}T0&LPYugoqBd!D()lW
zef|@F_38+^t|Ac<Z?^q<SDg~vNfAG%l<Ewsti@Td@jk$+Y(MGcHtX|pJDi8z?3<!-
z9~&Zlzpqt@{{Yjvmj3|!?fULd5UP1qUxnMpj=hn0I_^a4U`s95`10Fu@`^vU-)_7$
zH2ILLW3lXrpKZSVa3Uv7Rl@mS9KJg84}C?;_S<iS^Y-i6XuX+FC&zN{F6t@E!g>Dy
zZoRVmyp>I%RPvkczUkxrm#CiMTtrq-w@=imx5wYEz-+jv4w~$nsu8b+*?#>A0T?Pt
z7Z%Ws5fMIrWL~%|#rFcppA`*>7m_NPe?<QP*RMqKGJ+kn`iJaWB7Oe-djw>W9&H<6
z3Ltz_@Alv9o2UIc;1*stHeER>Y#fz*>_xx&?frWF+9Wh|9SxU?kn!JiPwVzy>(|aI
zswmisa$U>D`+sh}ks6a|rQu7Fq9P(L$@l)B9SSAwvEqb6f`#Mi{r>>J?bpFxDx=9a
z-F~4>w%_iXefIwVuU<{_5mF)gcSR*%w%_mlJaz0<w?8l(<UChmAHVO{mzO46787+6
zAE=jOaaB}z{{W(Y@7I?B&f*hn3y7cQQ}T)Xf8Xub*ES?hBC4dD{O$4o0IysmactUo
z(o!KMROCM&ZP63LFP*v|7Y>WcvP>s%RX0Rc<i2+Pn<r2uoV8?}hQmhSm(bj!Fa=H1
zb@~xi7jKUrKRrx&!(GF?tKoM+O_y)F^-q-LmAIoJHtsazY2{QWA;&`o(Kg(TNQDJF
z_)nGDcHMk*Z3Mc3E#v@7nIw(I3|e%WCEWzYq$MBgx5rUQ<#TZ4h<oj^c-!}0mHOeT
zbJ~@TSK*MPJX1~C=_SP&&5FlSQEAd~z$TB82_s5Bnk&T=RFifD3#k`UVOmp+IaPCE
zljma7<O$DoK?d3+<f5y|RF`eGMDxE?Iu|j4$8|eoW1K)m_@ubGG-Ai6iwz@fs5d4=
zUhi*~-%zILyoFH-HeUs@{P|0bKlH~oHFdaLYjnFqyoA`RG8zWifC9fuVgg@ZEzgqd
zDxzFSl~b2NHB;TKv1({Isld@q2kx8sPxk4{K}ObFR~g9cyV`a_7dDsb5ZlTp+s|3p
zqWJC|KvtFwvCL@Z)Q)Jk8`AAJ)7>|A$1T2j)nt-ayOA;2?K9i@gaH8j0&V3LRZDe6
zRZf64OVn16Y7`iBc&=Lt+S*K)V$;^wWL=o9NEZ2^I`bU(BJIT!imDR$MA=m?bh7T-
zC~i(0bC%XP6?07^`_lyNwuQG95>Kr@Q_3&x(6+RCL(&~Whc4UG(^a)u{{Z5tXjYNY
zTWwxwxSDeT;?k!jBox^Qw&aS7)?_V-xTE}s8tir-rKvNdeh_~dpbAip&+RK9X<kc=
zYW6d!84jz&YTl;co;(#TT#Xh?Q$*QZjt+_(fK^pTb~G*bBqjLJ`A(KGi)ZmQLlnfQ
zU|Cwk?a#AjupF4%f2l{lL(M^X5~?X8eg2j5xThf2%*#&kX&5wS@;eOXizH?gS<~ma
zI-Uznil{QKIrU3)i*+J3QE^FAbP?GsU(7Yb5{n3HbEn`)xQG?T{2)<oNuoIEJ|xl?
zX{Awh(|HsWfCxv3i1o2H0~0%gvjMgD9vnPwu;9nxU}<YuNY}vi!DvradX<{dWO)6}
zR;@I}6>CNO-$!W}T!mngNEu;dvaJ)Q+7Wr|xwxvKDtX_d{V>!D+k8>nlO3;Wbtd4f
zJ6f(QWTLCMv~HmBL@m>{eno!e%f>{}+AIBS%WH6p8pxqY%04%_o>z}XdR3dfgfv)f
zfbeC90p47mLhUxKwj<m#F?7)AC7uTT4E$mHR^a>6Zgfe7-D+2H)Z$IDhyc-`j_U5p
zpHGxu)zow0V2y$&kQ^?q!(#C=$YyA$Ht_XEy0z+(UXGo89nA)!Uf$iiAZs92)ijI`
zWxy8^#~WR?0e85A$qB(|_Ec2cuh8%F<+6D53#lzauW_^~QXT;iQQMLOrsr|p*L74T
z!9^7j2+<U}iH%+B-QBKhgk;!EsCazW<%CPQ*32_96KK*k;Q5B&oKe6%`6@VwyKr8J
zbf*x5isNlm*+GqGRRRJFR+lYEa#Vl~g;d^gJ8GM3irNmx=g-|^c!m~Pz3*Dr;ab<t
zG@zFpzMtxco>|yn*d9`{(nN~bbxzEN@4ad1E&*=gF9AW|+94_i>b?i($5>VtcXy5D
z1(HDBsWGgiLulO%+mMFJ?kTeFLQRsQFOAe!Z`0Q3^(y=*T4?2s3k^Fi#xd1Kj@knD
z0oII(<`^Xo=_5o%+3~soB5bMW`Sy5RoTnV9xyM^-O`8^M(9M-%$+Z^7O+)_XJb`pk
zOWR3?vH%?<K^FyEEtk(*ze95jWV~3}VEu4Ew+(5~BWw#Slv-JE)Oe3dezt1_;8wzU
z=?KJ^du~2r1;yrpOX@}PA@zNGB6L{Re@Q1tVI_nYUWolm%si3oILMFLAry7Jmw%-A
zFD3Fk{PPu5=^KjYGFg*&SVYHMSnYco=>F8)ZZbZILeaV?tQjKhvbNzUkZzkQbv&~*
zcTc~Q=Ct#L7R||U9sH#R#n41`6$n(&l|&R&2vh1VT)b_v>^o$3VWoJiR?g_f4Xlm*
zGUb&pGxxDcnS1a;-JZlBa@$SDn&|yN!^*0irwMlLI0TA@oIgve(Z)ZTSN{MlESGE&
z2uHMb4B79r3Ib5t23<l|95ptH!W7*PZP#K^G~AXrMii795tVCY&j4A@CO3*B(N#~~
znIXxRE4ItQp;o}hbrT|A3W?R6J!ZAb@M~P4X2vVZ_~T)C`5L;_oC0UtN}PZujlP^)
zX=Jp&tP#@^-*iMx8Io5$ngRhl`u9$S{hUo}_0)KE?7C3A!?ziHhn%Z@l9t?9l`<oU
zOsEog25bT)<Wd^%o3BPuRdGbrIDras>368`10J)JSs}?1tH#!B6bL<+R7I2)2v{QW
z-rJufUL=5`L?z%A_>QGu(6WNQqJry`7FF%Tv2pb`WkPRc7G7<_O{A1!Z55Y{IU8+@
zZgW)Rq*z?+{{SVnk*Bto^v2A~CR?w_AYA}fN4RZNTQ()DX4mGnN(B`Ykt3=qfJ4is
zIgN-_`dHkcYs`l$Z{WWAd(sTUP^Z59cd1hxydT2uWw#r@CemRy$~1UPy5e`GM+G-o
zki1ct#wjIBw4%Ers;32RZ?;JF&K@@p@P)Usml{gEEjHUynC3zt=K)j)T{2}iQbxr%
z`4`bW1<5p<6q$_Umo5%_nA*!}%$yM%N?NdxtvN0@qlVwPala@n?qo`eYsIzM@rY@)
zBm;6ZS3R8_OcttZD^OFm(_l*By73TlGjNP|Mfo8jUD0~^f2rg9S<8X$?blzQrTS(8
z&4dCkzg>K!UP0;iO>goCA?Db_PBUovwNF&dK#fWpjwfbGMiFhfZmI#7IWBJBFh)@j
zl@-s1;1#-aNiOF4LklTd2Bpe%w&M3sk{~uMvOKo)w}j;4kDf}1y)dy%S0BbAEo~iC
zR$_M*T51|EU{H|{=tS8CIc{7>=tWdiL{(Jke2RGIJS4Xi5nwp3ijzNCJVJ<@Ch7Eu
zuKsrOx1E!$nQ^a?xoc&)2h*7u&1#^GOHbuc#GEs8Ig{nxNhvZNZVY&A37W3%3rzs=
z+i(>kBXGF+B=}OATtbQkdv$${z(Z!tiBQ3J-{~b@Tvbtio&0U~_*;7@XqB%`VjN?b
z45NT9IEqBS)l>KKo;)x0>O3~>*orb|#und_?>-&!4jUpT!6NzdvLbl#zW#cY%I6JL
zt;4oAXuc&RSSq%Y;mUlQQdXFV*6OIcBC7fNm3G_b!f*Ta^1k456n-qcVr6;){!6m<
zCfpV9ib{&8JO0bMC*P?O{mrBX+9nlIv)p^G3J|I)rs%tP`}t3W+p1}n5^JG46mPcr
zH@i-IrwF!j7wQz|srK`~!msVu8rMI?G0qX2Xs*_f3FVM1Hm)muxgbfnzSqYE`zoS*
zDyPTOw#(3lShJ|=iOepMtdAUc9BO_%yB}|4*pao}SNBC}cjLb3o;K*q9kr2TPRj=q
zutv%e8)wKi-){;30JiDXTa<J-MEN&PyrUY)_WuA7KH{i%m%zQ}^e@6H{4d|iCtP93
z@(!VPRyFa0EDroXJkV~O>81yDTPq~Ov15i4fg0M<D81MPMeZ~ts;X_O?1Y|GcKa$K
zpns}AO}MV4=-i6yyl5myuBbHzT93$q)<fz>fRM<y9rjdSTW_%^B~)i*byrwymhI_9
zC(`{+Ib3oS8I1W7k~%zpP!g){B&vc-x_Di>fu%WyrDdTm$34@jb#BL!;WIcpD$J<D
zOV}2O4A*_Unx4zQg#MK>dD`(aU8g&!WW(Xy-oeee94+I)BDLSsT>V$aD|5=`QkNme
z&K1@w%W}aa)yi$OL^FSqs&{}>kfEm}A{9pq>gy+F`W=o>^|6=c+O4P1vC2$_x;%<|
z4`S@NapuT^$GAxhh?8<e<ab&ploea-fr^RleSb&8AgRR3&7xWhXDm((8Bi36K$QvN
z6;0K}+i?+9@F}<7p*Ar*6Ea!O*kTXNVkDQINDoP6TxpUeUArh-@K4l$qq1(P%WsV=
zAJip;9?%+6gU<fjEUaDvC(|Lmq;<t+I9dTwhUF77txp=N#5rw9s<Ewo;ERw?188Bi
z>WjpUwoWp=-s^|nH<d@T!;+(Q*GXsNI&WR37nSJ|yPZ#HGI@=)?yRCs=53_-F^Wke
z$svaYNJY|bh=`&io2hRsXHQcBog$bT<won_?qLZV%`&Kk+kKtaWK!HsMLv9{-+q%m
zr@cDeXIeRu;JQ~%c)f4qF)|A3+fr?~mCiQrFLDk7Dz^#W*5abLOuNNIPz<=;7B$_l
z%<EKLK>QdHR15G~X9Cn)FGTs(@29+`o@h#AAUCM;U&0Zwkrn7qFxop7S`T(3uB>-<
zQUMf4OLE_*I~ZLalj&9Uy?&X6+ZZI*==C2GR+worYKaKjsURIi0Fd(!yk#0tBB-D%
zD1g3t8P{Dc!}a^pC6=?)Vo_~xnTXB5;xK1`*}Nc1&9iUvGBZTowHHX;-9bsT6je@$
zG&9sLqQYA0eBvXQ)Q~CQ%c9h%6s-jN3KyPXhbKyiq+Q1%xILQzZ_0@_{{U>8CEBb*
zjFIOSHSc(i95?$ZqHb5^tw!DliqamACBVgW=Dn;ZRnIBL5*%vCQY;10HaLRv{FhgF
zh2aF+MB)wtrrT_Tqbo8-SrCK}<iFlg1Xh~zskfI4#=+!v^1nZ~OHD7sr()PlIh6M$
zV`mPy*f|p>6W;xn`-%qg?!3Oehw}Fk^1lV(2N3m9>MpZUX6eRLqS7T-F);XBMUtKA
z2#DI53jiaqiL09-5^@yWNeMWw&q)czIqql#k0tb2dE11Iq2%99(_=El;^vYavAC)C
z2MNWM8M9-!*?3OlWQx93Q_jizqNe={w@Y7`!+FLk<HVZY%{nQ!b<LGgk=TtnY+shE
z@+w2)<EAa;s?x%S!_hzrTSRZL`1SzRMG;#SFVaXVtGCLa@Al{<E5z+W`MQvgB~;^a
zmP(}V;E3CzEB94JM-y^S^L>$e2wrki(H!g<>$%s8wXA+5s@807BQrKT@!OAM9z<ev
zfm`}dyTuhz#)&sV`9$&kigDMemP0t?sgIW;-UICs7^`Y1q9$sqx+*Wz;ZxxeQ>x^o
znC3S!@xy4%L%Q<~f+4u@Cc<i;<RfqOebqq~7s~ZO8U9U4LJvd;H!Q2XSm62rcMs2H
z6uy?vmgp#dlxxKhgOYTI4%8ZIsB44-S43-?VMmw2Omil`kpSINZMWb)gYE%;$ZBG!
zg|^;P=Wn_$-9WQSd?r8PwlaGJY#<$st}0+Y2a1xW-gZw5x-ZHvLi$UZYE_-Z&}wM+
zDyB;(@u%cP5Oxz=3alAPx)C@kg|e$?pq><qbY8Br?N8FWd0~oWdChZDrNu|si2LYH
zMG`IuV1EiIUKI<%Zk|(gMHaGFzq8lD8=n!6w9xa_RA(7XEk1HIn^xL_4oE}-77)>*
z`9(!fgfISbar(CL)qbL5blQWAKQ@k<J&?Z7ZOAg(Udpb@XrhF>F8+4%s)^%e`RI!4
zCd6fpb~66}W#^o1S&VPAytnhP4*Y*JVI@Y@Q*;&M%XCGG(~B7&3gKj<ywNLgA7Kr*
z8x>9VL`}_p{C<-i{HKnpiN&N4DBz}%t$8gbt@v4cDbReIHdK{KB3*UlLF_X&(nCcd
z*12wx74$_;KOi0Sa1>PqcqoeWRipl%rPtY5W^dM>JgH1@0={K+eAVD-^#M5CMx8X>
zRaHBQw~dsMJU&^e$K=ZeN+#l%Jg6<c0^o|Oa!%QjePX^pEVdzE9(t{ava!6fUG1h@
zGDAX$g&ZOSPBz+dB?A>yN7@~{eJEqPqAI4z)ly=lk+jf-BQT7N)S89U)3%(3m*Qs4
zos8-4&v8$-q>PL<l@n$~wK7i&xv6i=w_W%9P0w0_>{A+BHtbk=<ZV~G#i;yGbte;a
zMMN<~UH%l4&z-vUsT#XcMTNbVq!*?}ZG|w81%fkp%k-+I$gLu;(u7+g5~lwEze5x&
zcU=*S+4NEc*$#`lqeMdAG1+(Hw{-`7)qWLGQ8)TmsaPK88C_*#p2o03%c5+0(nY;%
zGVY`qm?KU)tr;LTN~)hvFCvGsCf+_5$DR6vr&yLPr?RBj*GfPMh@>t{aW-ssB~{=>
z^rq>y=$m*%PN{WYAa@3o`)$7!vXLB{Y#xY8>yIL;polcllc1uz?2Ec74(q>#=ZIwW
zQRBq^X}_*u2aA5+Bd=~8qkDDORgyI}$I7A)AB0c8T`lesG%JA7;<}B~*07$iR(VKm
z1smUX6%<d$pQ$`;)EErD#rvq(?%A3)0;H;ivVZ#9_}}a)_v?jxnXZ#tJS{TH3d943
zfC{^(oz%Gy?fo`g`nafJ_pCkPH^fmDPm5}TrTr0q^Xo8@&{nHPa6DDJ&|*nMM*$T0
z`1@?Xx^)3vucmZhnz(MbMa9AeB_dSc%I)QLMP0Yw$Bw7WmcwL-d!lgV%{TC$AMgD-
zufD8#{@c+-P~09oxom>Js7r6%2|w9YIzuXKRWce}A$<2t8_4U%Wj%wc_seY{0JKT=
zMcoxsW%J|8{4b8Et?BWH)+Rrc%#zL5VbuIxxVw^(r_><k-%2W?D*pQ?#@#YTYtf;k
ziH`$H>TkfwHxm1Te(H<A$4ebR$fINTa%9SOWVtVG?PIzr+G$tE&;ET|hjZltgs5k0
zBkzH#G{(jpTIGT-D~*u-F1YV4(Eg?8w#oX4yeEy<Zyz0c2oNY)eaN-3qPZ;-+!Jgd
zlj<q3ikIC`e|7Myx59N(OMNbjA7)NWKGpsNy_Jr=vP4bQMA3HNZ-if!@SF8_EgP7_
zY`AZuh98^=9G(C#kyQJAm3H`4U$XRv3OIz;I2MKCCF(}@fgRSJ7tge)!0y@~-*pu5
z3FSBVQdIaw>ODg?uxHG6(sR-|p1>xbO8MWO`>OI?)ev?>6i<a;D{EH65gG_F)Vo8l
zGKL$L`)q=n?wcYf!fmoAP;!e~8o(J58g0f=I4U&HGj+mLM#K>jcU3R+L`D6&;3Bj}
zT0?47X(wNg&KZ&MrToR>M;Mh{4oa$usH@~umv7irclcht7CS)eP-dn$+*d)~^B~hG
z(~T0M@>SUrZTD1E_%FXwsvnguAjy|lk)#_+uD1I9LW;jW7s73~&!0Pem#Zqu=uzH4
zHB=W>b_H=u>P@%Xblo=J?c;v9=K#FMmo9QI<AdVZ#OBk=yPB^8MMO=$I;OB>9%tNc
zNKC31g;hjFB}Gp^>F4+P>QOc?M{$S5_XiPn1mvi{r*!_PyLB1&7uqVDf`V--BB%FM
z{{YQ?>Cg%)9IM}5kyrY4VNl~zYrAi6ykcHLKPn~gzt_)&Plee!uHx(DAlquDTOtqj
z{kr#EI4R~aHR1(j;o$0X@}f$pqN2ZaRNtmpx0+b7Rx_bJIrm}(1iKVMUM(!*21C#J
zg?8J{{x@B=+o9`#vd3I9Mk^sJ$Rq3_nwp{^azkGU<p~qc{{X*4nIs4xJZ0I0X33FJ
zaV4vJhn<l&-AO;wpv;xH5uOCCal;N9cMKdsFF$29+`p>qiTfvAj*fj7Bs6JO7git<
zDsx8RHQQMd8JQd&LQW1Ul85iI{cE<~Idnf$W|SyWB{EWJ=D18qZ)7DE72J6W_~e7<
zW$;L<o_^dU**ev8@Q;c|BNt6gKS2)Z$rtUqF3bD%9;VhDX)ZvvLO2q~w=_X_AW!nT
zKd}P&Mf>?rzfWreT5P9rCg_Ue2*qq0g6siqDbCrt=i!+PPMQgD6<wFMTaWp-RPvkn
zPNG%WM##n2A8=q~wVYN~+Xrz`cq@)<yOU&!o0pUYR5aZeue7XQ#Bt3$p7=Qb0AQY{
zbDDz_fqtRlX}<;JfZ!I&qDZ2<qV?XYz_JF^6_3NNYW&HAAp{a5qAHt`e4JO1j7#K2
zc2rdGy)3-7b<M8IzElq66QOpn)gih60MzLn4SDiXbC_?w{{S1H?1ZW+B!a#m#ugzq
zH8fJ#_h|nBd2#pW15Y$4o0}Vgs<27PO%RDie2FR|p>=yJXN%f<6i2<Y#M2WClD3U(
zhQShjO0AK7Dx9|iPa7(29EOTL3)PLlgC3+wMooQUq-c)#{{ZfpC@I}l{{ZhzArX8o
z{{Utg2xv&i(&Y|K-a7^`*u%+zBFl7<&uj`xE-Q+PWQ~%mD1@I<s&VD@qIo`6uf=`Y
zX#W7edP%m34Y4XvgitgkQ;@9){caEHUDxi4JNVc_%H_(cOpaB}G&<(&Y5P^ISH}pX
zJ)|wew&L;<R5f%vh>A#y^!+_}#Pw|MttlMKBl|MQP*|^?gro%PPWH%`;Q`&%4IJ>h
zuLSYBt4wZlGX$K$uAx!&Rt2Q&etiussn@&?@EHVLNkik#%epH4{PlUJF>3VEC6jra
zsFRpCYveH^U*@<kKEn+nB5XvQ&9hzp`!DtAVwL%KSrhQ*);isTQ$?B8&;3dSjw%qZ
z@ALEbPd$CJvWpWYgO}x%mn{?1#w><oJV^9-k+*1`02Jgvjv8|Y`JxJQQB>u%a<sZ2
z)iiG{lQMF;OB&)_8=D5>4U(&o<VJiMQ$-IVs;Zn#6Y53TRa5@}vFS0ZT0L_|Cige0
z$SfxUw#j6aPFjqYUVy*{<~9l<i?AU9wu!eDLPh1eE#6C>;{e;YQ1z~&$~9)qy4wsk
z#0bwLg5K}C48B0%a$nR)qN<6<WmQanJ6UJd>%nSv8<N^ZShlVeRJqfRVW29e=<ycH
z<8Jv=AN(ib6N+pY3^cMhxraf+UP!T+h}tr|Ee9(`JwAH0t$~!_jvF*p-NvLnPc^i%
zisE-1Sf(yEO6+G5RX{l)Cvb>S6%kNlLhdy_*D@_LyoGTaD8V8dHFh@m>BL-)oe8u?
zWU7%U6DpwVF9{h6D($+Xf<&_MTn|b!67^?*<tty0TebfH+jch&5gQW2bSD*%1?1YZ
zw|P|&c%YMs^pl8>Y)>T9ok69Es=8Z!TK@pz?SnAw8dO4c8#Us=s;259N=Smcd0)Qi
z*JOWY(kW4(uE&A*@$p=a5iP+0@62*k6RvX<vnuSqBw?&jCdx{(rMULUf<UPM0QJOF
zMvMg)VqL{mvmJ-=-5|vAT)t*mjZ>{E-agEXw#M8Y?9FjZM3JRcAI;)|oRma29r)~}
zxfZe6O0S4HHD-Lp4C7!~YNlj!ako28i?51{NKPv7CD}vD0q%?U7<3weF83U#yST_5
za!i)oX__Ff{4I&^AQOf3IIg+~tqB+lrMZf3iMsVWOT=Nq)kgNSwJmk&qCN+il?Z7p
z^6JN>M>2-vNf-?f)mQ2!(RNMKblYwzzepOa*A|WHr!~X%DawqDB2=+8wqn3?G>RoM
z?J&s+mj_UgQBA->K_?qUMd!LbDefd+z>Q;#Qa0Ed0!sX-ge22yn~#E2Bwf7hUQ=OI
z@Ti?B@;wLByZuJ8)*GhpEoIk_(NiixEqI%Q+EwiefyiteLvWaVRj@U2Kv7&yhYaS%
zU6|@N{G!D*(lw=nefS^<IMr^T<`HA#+ND#ETf=?V1}(KavKn3szieJ@!EGEJ_aI%@
zitd~F+t#bV)eLak#i??=Ey<%XE1X)pO;57Nq=T*?@@)Z@&9`?XLj+OZ%I&_&y;#f*
zQq)ar{1Vim3gSpX1~n8z2<$wYDU(1*ib=YDr5`9M@{78U>;C|#>PjtCi;wFTIg?Yx
zda!}}SM-uiy>L2-$Xpfnrkk3ohYnjdNCb$e;_a~`rEzGjMJr0_><L)WHZTdxdh5r^
zqy#mudTj1%qt{d!R+ZPa5=2-1#A%u2E2vXrkQ;jo%!?9HHZoG#6;TtxCf;(siQy@%
zdQpeujp$x15iT+Hr?$Sw@!D8HBH5=B3C&{6=0~3E?K;p&QEQ1hGkbe|BB!eHysOhr
zp@fQT15vb^$k}JQv0zt4tC}(dkas9;$Z7L*l@SMK)lcV-)QQ#*z%ZRO!L`FueIo00
zJkA^#+0|}r-Q47ACB`ddC<Pjk8TQHGBw^rnr8d)x(VQYw=GY=W2R+ecW!w#S{GgGo
zYsr0@df=0OqS=8>j@Rg{>X>*<)O>=@B=_txAxbtY-G?eH%LmKcOBl8?6$DM@5gX;i
z6iA$1_AjIBD0n6^?wa8FQ?|7^!nZ#Syp?JAk<(ekXSuVCHh_Tg3r#4YAPO&Rlw3q4
z6^E_OFVuS6cQVvnTd0)~GCXo^e1N>f9<+&8{G(}zuR=JHAi`+LmmUR`FJc4wfs#~5
z7eD%a{wg}j>FVBQ53X8WhiU{|d4;T}VBTsKfj=F-3i8;*Xo7EXl5wXI(Jz5fAyg$T
zH$OB)G*-VVR>b*0p`jk(e??!zvV7-PUCHZ}_;z+%H;cu|nwJD!kl+-l6%IJ2$g?%}
z_EugKQ2J4XG!#Cmvf7)hb0UwN;JFOy*78Y+kS-yKM|&U0TQLRqsMsJtlJg|&ITAY#
zMtRP`r~{ju!1^=%LNp)LJr(XBjL_xLf;OF1JC@eSuqN7$a=AK>i|O8SLlLBM?@T6z
z#?@6tL<qQuWcthMTluWy=9)IvIgVOnQ5e$*kg(V4+^~%ulX1E8h@Md;?5}m0swu&-
zZNwzu+fa?N;%8_&8+vM{m5sy1`U{Kt=|tUyNoSSh4(jixTuAiGIk%A)-QL5Nr;c5)
z@;t1wX%13~F&ad!^C;+xtb>HwGOdv|;z!U7!hAf_JJVdhPG;em5?z*9SgiA5!HFJw
zOasXs_El0ube7YO3xtB{1jfwKRF%W0(u>S?W;;ib*2r~Pk4o$Ur=J<c4{oHv6qwS`
z)Srzk+cI)9!mA!kbtaLW$qwPnQqMipY#%PgYRX=u>1}yNr-kp84=SP}?aZTa$b}YA
zv?6g`Rr=g$TV0XOk%l7+yGMhR8gEh0nE2YseWz+WI^LD#;mHvCjkAl9;&HDsSMfHm
z{5F;gZ?~0H%CmVS9G0WBVG1+Ma*i*^HywRm6L0d#6JaG$Pf_;}biSg?G95gFcWsPd
zw$yPEh;3C;<E=FDl$KeER_l*64!)+#{3U*18WNJC5+O8)>1~;G9*o7EbIcJ(ODIT4
z;t;O|FmX2n--@WJAqtM$BBG~4nvG9|>LrD)kY^WpYtf@%td(e6T~gI!)+X>uBAD;u
zLWf~0E9UyXvB(V@a2256=h8;Vd+xh<X-e~5f<rs9=yyDMQ9)-QnPuwd0>kqfIe1N;
zL#J6KG-?bLU?h=|8R&L1DJ6*k0X*{pQbi3Pbz5Xf9pq=W67>UfroNlKa@6JLm`q}(
z-z#$F?TQFsM?@1~zh5!P#;pTx$Yr&C^$%*u^91@#T?6aZWvm&s52L?MKChtA4U~;5
zy|aOS?7FsPq{xXnLs6DPuYZVim<WWP-bU)JI?^ifR{>vN#8(W!y;D#wIf>@5bBD1!
zrbK2R$mYzfZHgG}gM!3GY6CUy3yCT}dDacl?jt-~X|8M1;*hpd(Y~E;UUynzArJ)V
zaD9EP<gy>FJso<}Ik?W`F#VmLEfLDc>LS^Vtf+O2N;5eq@T!OSHvr)}V2d5Jeltyq
znz*T`{TJJ4x33>ev|fm5RmOF98`AG{%Fc4LM|WQibFf{C<X1`OyUnr<OE#l6%e}^%
za1FC>nklq@IQ1W@T49A_*B5f_HKPiGlC-=FBn2#%t%)y!MQNACxb_p`%4RB@Ky_ri
z(~U0`lNkr3zL{yBq+>e2Rjj_9wFmigC4-boqnD7LOcGwH@3XYB_pdN8rxS?mr(AIy
z7Xb*Gb&*m6KRin<3qP>y<E>S#V+2_x&}e=-@#M5kev)Ro2aMP0ZdFBS8kc!hF5a&#
z#%wX+zsH$n#G43hBR$3AemjkUyJnIZ2>$GWUy?#hi#IOy8L1wp?=bx14a)OfL(lQI
z27Rm9#vxwQD-JYwBYTFzw1eqKU3h)dChP8U*b{UB=!evHFjg66H?Cfu@@sh6<`*Jd
z>6O?94OWo*g|qBfH!1-3B8v#qkjQKa8<!nB3Pd})zBHd(Jta)XZ}g8-X)h;biEQR?
zQ;cAl6bn(QlW^LFg%v9dvSU6!J}<urgqVuz6JYNqyU5ra=%lHOGluojytf?cvoS%q
zj5s0m^6TL<y(juEztDRKdWSnwGMLU>K!UPpCp5~iY`5NC!w(a0p)e#$rx*M?jdxdz
zrl^WeEcPY#X$`$4#WD$XHaSag#%|^Vg4?w5#iduKwnT)T(E3HBAzj@uPL_Bls@ytj
zSq!-PX>$Uazasn^f@?d=cKS<T3oOBgyMqu>#}zp``nGQO8*j^Mof2aD{ps6I?l1Kh
zKh|7r%e$p&hLZ`OA(>GlKo@rxEE+E<CPbZ{7B*8B+Gt!s6Ex`Lbh$~@$3gbD&n220
z-T>$|I;IvwoMN7vv~A~VA_h3*2x9Gw3R!|l97z;AE)g&eoR^(+$Q=Z1_IS595qhW6
z%t75D(?hq_-4}NtxXNWE#!dLq*UX}7Yk(>3xCk4}IT%5<T2{>zwlh^kG*zx)lGPnt
zXD!rw$&%<X8FB0`<v2`8a>CisRE@!0aRm}9O0u?OO+`tB7WVR$S>9DsbCODaowh|t
zQ9;+KE8@&HRd|X#P}&aap$h$Es!F@=zIsbAu7CWE>T2W9V2VsmM)safA9YEn*{iUc
zZbc<ngvpZFte}AnhnydB@%GqgP|V!ziK!B*lAwsGF5hCTLsvBCK(z86kXY*ty-UO$
zi^^-97Ae=>xzD=m;QgFfz-B~B+ix;%Cju2#m0R1YJvYT)z0FzFnHWqwiJAa?j8>Lb
zO#-lN?i?{;;Rhu=2u?K7k^t?w9_S<roAvKd{Xy$q5e3{xmS!auV+gWw-ssE#Bs1n~
z-*!q8xT;8Gt~t+&eP2&hPapDLFwucQax4D)DdBm7Gl-Cyn*&50mu4DgDeqx|Xs#`V
zIP<8{+|d-44H`7!M)NEfF!AiWn~2vVL?J{?`U=(US6r4X3>z3XnZ@zumL@+0oFwEt
ziB3t1s;7D7B{MI-Exz4WWq0RoIqNwJ3j5A?9PKm!JeT$nK@m^c5fKyi=q}E20{;Na
zMN}o(epi3**8Up@6hKgDv8Kd2LTkE<kw|QS-zJ21@Pe!Iziq$k&^7&wXxM{hywul{
zc-eQ`&--<KkXgGR2_1P8!gx>o)1eD@Q3#OLIV$+#z7;q4U+?4ny3t?&QB7j1<jDt2
zQbG2`RXI7buL0l5c=NI+mHwX{7U#Z~wXYSACTsY+lHtROGFE+i;QV<I$po92$%_7L
za}yFnMC3c{VhWpd3pMV`{{Shn7wP$5>;9c;4@MrRu~|6MX(q8h0b<uibg3*Y?2VS9
zw2R5X_eAo&6*g1=W(!K|q~Q?~?1(es<(Cf3>=gr0sKdt`uE^_fC?nA&o6)nouTGi0
zRl5`N0gX2qj}|P}?JKR>1tz7!ay#+dg(R3F;`Zi>I|8=i8jAk_NpZ<Ir=)EbxYw;t
z_w!C0ZA#77L<lkFvdNoVf=WVdmK~nFg%H$7yT}F8M+{f2(^aJsg7zk>;JGGGN0w2(
z5};h)99VfoC2$l8@|O6M6GB5ussU<DNjTstghHz6B|T4Q&#FCnmv@=xn(aR%%p*Ec
zuWBW})q63kxi+!mj9?`C50X9JQEnFyQf=3jQF{4&Oi}$)76@=?G|k4m1*uQE`V2hI
zz+uQEG24fV*~e3+KBRMay1#3pIhI?d8D0c%#x1@h3RFg=9EJ`vtgtdo(oP2ZYHl))
z$3i6+P)QI9bgM&cJw49;ThnVv^^`JVN{tqwEz06u6YYvKA%wR^iO?}{+dydFB?19X
zE(&<Z9);f0-4o0(tt-I2IG_A^$txu~{#kjEM3_<bbkN&@5GA%1=1iwFdQaE5B8zTv
zPPbTLc2qe}ywxnWJzG@OQJNSIT5xKy!g*b1+p^d;+^1Z0Q<u3;>&L}fG(<%_oMeB;
zmmoD7Q0hS5fS<|W7K|?wMVO8R(?EP^KI55I(DaWTqm29dL5Q0f2eok{4bh2!Js^X-
zYjR{J<EqiNFNl+fT)d!eyNCqHSfkoID;dM}CQXgZ81k&v`aEZuc3aL$aAitl{{SVp
zWc$M0aggi0_Fd2k4`rF7w_0iHBGV(*s%*MY&Bt;VYvMV1kIt-b7mVA6gCDf|Hj;@~
z^Scf*j-kFgxP+oz6+F~vP@k@sk+#hv_r|hn=i_Z#NVT#ubk)aOZ|R*a<z*GP>9@8q
z`q0S*Qd-Fyjm<}1opV$cG40R_r7YWrvRz0EOKG_5X-aQdE=t^XT1!O+1G!u+O958j
zZ?Nm9DW`iL-aCgCNZfS>gB8qewYKiFQuT!yda1)(8q5mDvD0D-5R*|PKz>2{a+N4J
zl0|rsq<C?@LP)CH$#U&1&v1#?4%bY^WX^zd%`<vKlJk>dpBU|1ep`r6il*Tokv@p=
zqhK5D&@J9T{*US|WvGyGBZqfu_-pbSmeD-QzAS+>%YOL_W==^r9i|1g)ue3+hMaU<
zP^K3bGJtosuHTO(EX<+S+y2l#L8<u0n_F1p{{YL?_cHQ&3YiV!b24b~qGQDDg%+A>
zJ1C(Mxk>qgOtZ*eBy8P5aZ9dxVXXQuddgnt?xN)Ir%q|gyGrZGu-lo3yxAg)3fYU^
z+*Azwwuam8vflwyXtxUWZ>M-3HEWO3H>k1U=BJj!$n)zQM;wU#q=p}Tww#6_<Er~j
z$B)U@8*Qag1{-nF1Kj$$^hKzYx3)}Tc~(mMIjm-!m5t?0h(d*w!(zq7Y371+oDNZ>
zQwf2yD32S80OB~VCYcOw6gUIU*5En{F__3fBk#pJ^b<$*FB!Il>H^nHYjW3|l4(IW
zblsWO6y1l6B1mz^q$RxhW-d5N<cCqFSCXi<qJ)iVdu*<{mF(*yg0W@UnzjtBQ!s6v
zkgBZz0E%8x8wZ_v91s}0sxl54xO^2-V^NnQz$C!9g(c`Hu19s45#+k_krBe$Ga%8d
zg?&iV^F`8hg;hZ}6i$Pk)LNJEO+(Hd&0TW^(|l#9QEVd86~eahHfLoWwqJ41{Gg64
z!&ct<*zUScA}1tYo|L)oG!)vNdM&nwwl@0L%IB_0k$qFasCIR@UGvW)s?tuajDF}F
z@LZflaJLh0Vp2aS1cF<V@J<pboT-})W#dw!3r;xWG5-J%QF-z)F6uVddA7t;h`NoB
zkwMr=Q501ZrJ9lIe<{W)?CCQa3=0dHk49W~9n0mFhEsa@2W$no50ePQMHCcA#k7{M
z38J)$h)VFrG2BNHkymABe*KNK-rQJO22pJ>;jwvILqBY8IN-<oqN=jekqU`!ii*5@
zUm5QmICVrp%#%)9^;J?B)Lf2~tSYh^xN@E*)v1n2;!qp~;N*Ty$!+iec!-Z@%$wZX
z;6kI+r<uuXC*#m^CMhOEI}gI$v6c=ASIRcXP(+(?#TUr90Kdsa!X-ikKPP{4Ux8OO
zDn?rCEW${r6W_M&y2`Le!I=(ix^5}}*+3@0sM$Q5Cd!<=4&nus=9r^-9!VzF)?}5!
zSd`7`R@qIGajV~CT#Tz60ej4s7ez^<Gipmp;3|+H511V7s)g-qHL|wIr)nOUV0T)f
zrkOS@-3ziLM$YjJ*~50Qo+M6o6;6?dHFy;XVG(vDDJluHVrp0_;~SvJvJ$7%tYY@;
zGFus`V$X7}!eGB0(?<+g*=02yBRVa#+(+Z?0A!?qh=l9aY&+74oZV#fq}pdT7my{S
z%$@92+@89r=*Qojvzr$I;eFPn@orEuY69DU0k<^iYnE3tpXzLUTS~9krLculI=a4Z
z^1-;6%;x0-huh`ZZF^v%_id3|21vw6S^;^})cR<S7~U^^Z9*tND>okLC6$^`a5Wn0
zig3sDLm>PyEWKe?w>CUEljt$(TxH0Y5Twm0aQh`53MGtLg6l}qw2t>xRl+17RB$ZE
z)8!_hSX<(bdd<h(Vm;;DdmF7Oscxy<TF%AJapN-UHYoIo!|jSYP@HZ+yC0CKr#@>y
z=cp|U^w*~uy;KPHuQN+YHe|>1JWBEF3t3Oibu1mYv5eZkV%Kp}W2P?%qYnds!L%Eq
zyHzv%cSv;H^9uZ8^YA?Wx{Ce=MTq3BHA!O{G*m=-mHzXrRb5xVTLw&YGjWIZCYORf
zZHlC1(zvyx*I})C^i;$mU<8W|^y}p;{dd8?$#r8OnT<u4k`+?L%4EF?y&7V%s|0Aj
zm?@A*jH)HLU*jM<$Xb)!6fto`j7JX5a9Z6qxz)BUoJXCpax4sbdx2z@mrb%SM|=UY
zXuYg5?(vpJh1@pL8Zu?UHc`|605@L9rNZ?C5^o}5$L;3MuBnRxBX!p;voPni9&+;b
z4<brA^`qPvGLhsR<Gs58TD6Z<>Q+aGH>#SQsFako@})acg^hdJk?S6eawE-Z6HCd4
zi9$biArgtUWb|S_NK5p%84vN=!%;zTPqM_u2D=b<snrc>D(a(`6SLWPJLi*P@?TQR
zAlVnbi8V~mgEp<Iq^Ts}I&4Q(b-4xZ8+17QIrQI6u$^b3vzvxl(OJ0lTlr1S5eeSg
z&A5CHeXcC5i2FC2GHv3F1_1ks?IbcLjXbxQH3Z#XfmNh;PElFq80J3XuN{42HBja?
zCPZMb$g3pBRXLj*?Xa8$CP#Io2Sa}8IZ5g#O|v~2%%auOYpqFS*fB+okLv?9=@r~-
zBx80K4eR0x+mT7s7Sd?<k|DT*E0bljK|U@i#ad|LUORC|79M!s7~yMs@KhNdLy&1!
zs!PYS81=bTW<bScT$U|-WNy1qt5!^R;8>fyxWbsrFEadD%!(5ZC^qLbHD14Z8T6%&
zdZgC;k2Kf3@?4!V!fTfx)GYr1B6axk>|>tB&`3U9#!I^xy|STw4{%>Cq8j28>oN^7
ziK*F^6*`9T%&OWQwj|T7N`(_AhO05vAR{yi$no7(Fh@{1IN~;l4T31AsJs_hrfHsE
zX-2s;c<l`wyq_BwZ;O*A8^m!=V^M)ZK%clJ38Wy{7R|gZkhVtPTKqY42y5IjmweE1
z+tDCCR>&iG%*K*H__`4OB7U~R)&8tOkAze$MhS?pb@)wjhiS!Ni93>>9rhPqQAOka
zKtL5$UQ5>7^f{$>ew#fpRN`5tok*a`9=W{B^5B(d-*IbetBsh*@`xKk%!QIIqe|kY
z%1Ovb$p`smieed7b(lcHam;RH%bPjF8H%)J&ijv=?5&WXsfi-;Li%?eCAxTCzplQh
zv3S}crTE^AQC7Ox%BQTUdL27Xt8GAr(#W2wZ0+u3KV<xEnMDU&RBeArFG%{lOoAA2
zaQ^^PUmI^<ercE)A0(3EBo`i@A7nk5>lLwOHCYX;iFJ6reLWi%P}Z!LeSA4jjAmUn
zm~negH7Mh`A+Z7m!Pdc4*XtMFiet8wc|FW`>r^ZGxxq@kwwVQI+dR;^hydcLl!v&o
zWNK*ADHCd^%P{FiYg3r%4t0^{SyU&ft}U%GG_l7fNGQ-I%aY4r<YpgfCd5R2=8@RX
zqN8Mv_JteZs^Rp%k>xJxrVCe;F+S@rxQmrHm*g)t>9ru@NNJAgvYUt@KMfm>Bxs8r
zrP);ld1GSg*h@x({i?qSluiq^ug#Eesx0R>(@e45RK~=h+2J|dOIlVNg4B7_W61(;
z&ABhnaC@gPSCnSZP$WFee$X#rNE3S4Q++{Vbr<+fl-%lT^U29^t6;Fjy=-eK1lwyK
z!N-AGe!&}P9yXXp)*x)sI;y1MYX1OKK9aEATFx7&)V&{<pVwbp&$t@M&!CHwn}Wjw
zHcx&_Efjd|?%QpVY^v#_Z3uHBjUyLx(td{4{{SuH%-<z7v^zWM_{Q;`N!xH4kPW*f
z0y#-o$IYZgX$<4G+dP+Uf-GDyM8`B$+$m~!>#8|$vc6X|{{UV*($7fq%~;N`8@fGF
z#xZy~mL*u_ZF6<b$%?Y1dp~m8hrECD9N=ayD@m}nZ@6x#5_JlfC!1S=<TwtR9H(tC
zn>kXBRa}q{!%&U64>k}ak8Svb5)`-+E1ltVQBkjMYgMbd_2{Dn)auN~L-nr{y=yLp
zwAo#NP&svJTTqIq(Z^RDXrLQPD8aEHO&vpROiUV3QvF$h_$|YF@2B`Ry^N=;D$Zm&
zY=x+^rpHfm#5YDnukgga+}10^^PFC3;R6v-XN?)8G;nDRHydAZbfX>13##F6HePhE
zQniB}Zf18;Z-?Z#b%o>ZO^-4>%K6oE7qHMaa{mAhVWn~Al#LPQ!GUoVzWEVv)sC(D
zqSY*7t)kGMN*T?xsS%o(GBO%fh{7?<gNemu<$Vv3pn{hKE&L%OBJ{PU&-A9^K1k)R
zx?0nJE>OD*PT*yg#a<PI7D~A)vRIM>lch%>MxSj&mByV%0UYtouLiF1%x??J^cyF?
z!x+dIGztb>gJB&f%K?5dJjnsZH7{-qcG)m}ka?s<MN%Gw(UJ$aSH|4-Lel3mAT;+r
z>msq}tJIFUz?ZIBb!A>Axdi8?M1hk>kyiY*BSklxij1kW$|{z`NQ7Khh_33YoYXvL
zAH;JhnEoS^4a5k9D8-OQR(t;dmMXgeeL$SI*$e7K+kZW6on5Q7*S#cnE3wi>E~m;C
z5=^q3`8|(>mPSNr?=((KR=`vr118ZG6dVB{Q0pw}-ilsf7<5dUb`5h%`%;c2;Ldp@
zLs@EEzr)H^6))Ap+woHY0dSR3#3lM~rsCf({{XFU-~ij*VdJpuj_j>CoznU@4f!U>
zs0zH3@3-6U({~y5RjC;Em*W~wNBDdwINh_;o0>2I_hl=DYsJ>yLumMOH6N#a`1$ai
zCYX881<7|$^C!W7U+vYDR}|YsUjnP;OXqF;F6q{skw+k-g?ggSj#tEL(zV4`tQ{(I
z)J?{sn^x46a`AzsrV6_BaaeT~5hp&;9_nrGWGLS1yQug@UDZ0buldfhg>^<w{3Nfa
z=9TR+9Gd{#P)xxLm01JghOKU>Bt^3Htc>!g{4V?d0Ch#`%BsYn%4$z&UPhf4J5K_r
z5{V-5B;7uh+hzWn^(!z?LhS7q8Y&-)mR98_Rl2k%P9osGpCT~+Pcj$t6eM=iy2c4k
zVl-z#MJ0@NaG7PqH4`I2LpDca5m7?u6H|4M9nuWWK2@TY6h`I7F4cXdEDFZOy6!uv
zHcv-!TaZZaaD^05ffau-z;F;3dc*3<$5Q3Eczh@5;>>BKvt%9-C(J|>g7(CJEDSdU
zRU#BEl)l|7+p$u8ew~GPO_6p){{Y*p_&%ClA(mZDZR5pTE;*tx9AipdZEY;|BRkYC
zUqJ$^PsR>ORC6so+-EsMV8%LwPY4lr7lEiaXr;vwJST+P<_DQz_;y;jW?cQS*vki*
zv40i@+8+B)sRYn(m@97f*M{w*ifGsx3GQjuJgU31r;y#1U4!gMZ*I%1NFX8K!m1J~
zDtxMJpD3%*E1HXy<e3wBt?o%KZJ<bP-+M9DH#s(_q4Vct*%NQu<E}~cre-uf-MH8A
zy3eS-fV$*rp4nzwM;lO^!z?1RLm*{1=0eQX1{s+o8&<*B4V{3^##OUZQBBAMd?Iu;
zmFq=5Q>W1}7?j<&qgXylj{*}-HfSr|Wl*;VNmFy(6iBx{w^ir|Hq5dOU(V)c5-MW^
z+gW11%B_VK`SB6h19e|JC;fV=i8&i_=9_pNay*ldAR8`9+km?mF5Wj4-4#A}PMsDN
zjml1;B1}w#nrKr~O0}yn(y8V63*zKAO&xv#?v1!YDu}9M^=zEC+kL!mw*7n3+&arr
zbs8;G)nKexS~)I!c(0=Z5Zc|>ly^;&bynIGU-LSj9W0~V#&T<wq~NQ~vJSY4;wKR$
zBo!~ZBB&RikEMEYX!Y%WmsdHFB#U3gvKq<K6^A6atg&4I!fqJ$jkE^FRMX~84>fhR
znjs++ROwi{MH$FD&a!S8x<`QH-4|Z<n>t*xQ*JIhZSh%t-ZyJ~yG<tnLEr7Vf41EZ
zM<X-hEdp%b`=YM<f2U9d5WrEx<fw`DZ@(q@RsOsF{c)9bkieTFx{m~tY(YxoinWa;
zvO7y1_GYP;JefS=qWwyo5fKy4{d6=%7#so;<1B>nPTeE8LTqu|6Cr}RRQmT;JU3;c
zvt1dNf5cmx!et$zj@#}5A(%QMUr3^mq7uP_rw!vbm`0ks!x+0$8h29jy7ti@$tQ>k
zH5e5M2^5h4T4hyuwundc{;-j-u*<SMa~hd=jk{rtPhre%Ja?kGIwKZ!@?3OyGLgbK
zHV!u9LOUv;Dye>soiQ{IA=gNd<7SWD;y6?YiTDmVTVgS7B(R{H%9$Wgk{LPVjX_FA
z&TYx0@z>4bB@K|74_|&;3zE06@fWi!V*Pq^-(;A=LpWO&uWodGsII>?vBsj$ZHscV
z*|hf#G{6d|qc0a{x`K$S^&+Bl!_U1u;MUMavr{n2n!u3R`$$r$y@9H#6KXB@RY03w
zd^=5n^4yg}Zap4e>n4n7oP(m$d}=JqfsE8w9fZH(_y;Z`^o3P*@Df!ml(-S9m+#Wk
z8P;~S4<HRh${kBz#N+k?@S&<d4mi51puiF*7Sx44l;g``BqdKOO_vuj?E`X;ay%DY
z%p@Q4F3fpoJl9IiBcjLYptT<=b*Yr|8j@3Iv@RN}XacSg0x+UzC?niN6hQz&71(y~
zTa99r_cl@{$Tvy56gvjvx$Q`$gH4!8M)<DkNa7O64V2K;5X)s0n#M_m$Y_>CizZxI
zYEGnBzz?|`TO|}(3;KJ9^pNeqK+Sxr?vpaqd>MyYz_#*9aSB9+9Cg4Al@S|h(m_RF
z6wrB&z=n#6vhF<|cb9jU10xOYs4!_UR-{I>fl^M$cCid*4Xds<ELBmpZBSfAKp^C(
zJ1CCJ;Y-I;)+xwgxp?##VB><XM0JR)y5yAu1W4=54OCQql~PVbyC9;f2_#xvcNwq8
z*sNTN40&wEMoFmgTs7Pgb}s0S%d-3uCdx#sw#2K|o0T=T5ZR3fC9Z8Ex`NE~kS_ao
z`0gr9it;{Qc>!?(1te8OL|%c!9V)!W_$iiFCt+H{@-Adr2{@x(*;u?SNG1Hn&t{Pu
z<RSiJ1VJ&`Q56+bLnWiFXD6n-s=^L&1*C_TL(&vhxn60tenG3x2$J^N;M;8xAOR8)
zaS;x#>83->F_?B3i%ngD#}}Fw8(47U^9AF@O%+s02~<=${VVj53i-0e4tzX*waGPA
zfjqz>Ok*5ocV(0iaYPs+Z5?pL&~{!339%}oCfzJ$Yiuf0?*2+{9hSnKR#^mEr=B-q
zjO&TgD_C{3X{2#QmtJZ}r*uTf)KFa>B1(v)DvCcZ8N_kig8J(lj!fA^hzk}JnASaq
z;Sw*@vDybC@)zAT?;|9NGC7hb15Um-mqCXTt0s>z`z~>lhZdyInb<)RRWN-}`&$<x
zHAM5_cHLDhboN!oM~LHgbSr;0ImRdJEG?g!l1Ush7GyrlkkK4*0EB-(bN~fX=0;>l
za~#T=*rv7N^l2I-^ji5<+OJb13euU)HxeSVkX6&!thSqmEQv88#Sm%PD8z($uwg~g
zLJrs>GEH{8<JsP$<aSbWNHHFQ7FH!tP^0OcL-XWKjy~b{6<s4Y#T$^sV_~A$9Rfi%
zR2QP%TDyU$b{05>NdocahORok*~)q-Jkmb<XsmWo99IpN3S)pfIxMPo)C@s7S7Fc`
za~OpSRdVWPE-50UdGoC;C0fHtU_=alOh7Yv*P0MVoiSvdP*(^$ifh%ev9d%eH1qaQ
zJ<ep7KV)TfTTfM%LCt6;H-cNtaK^tPa;{M%Ni4pl9=+6c0eg-)DSs_o_KvFdJG+pP
z8lA2O>Sn~UZ7s`W*V<JCDRyj4pg@&P-Q65@rio1)j!Fg!fUbxd5E2;dsHUXFvFNm`
zeQmDLsgxXYJ+YoAYZ|J0woe$cF3g4m@kb4nw$K#>nhyl1Du&uknBsWd<tDahr26ap
zea6xiiB-k~2U>9i-9dG>fMO$ZReM0_57v7b3Lk~Ng70gMK;c2)YBx+{`@xSCY1a4h
zqGLUS=T%j&N_Ci*c>KD+J6u}5w!$>oOs|_5BG~(gj_})N#GevX5l|6MT`qIF8ZB1A
zp~1_uW^YzqNk*>DrOJs0zcc1&PE<{8&P`X{i6cl7c&VcOV!ufvZ!AYr^z%^h#L6^+
z(dlf>uz4BpQOaqFGZT{!s`6<SxeXAQk+r(>6;(sq!avkhH`cc#g^}WQQChRC2eQ4U
zzZSnFs$j`M!h2-=4%M;}Hl;d+9l~keMj^h?L|$aQh&@}bd_~f-Hny6AI_uFZ@@jIM
zk=bS$1bI-drL|R5?7K=C6P5v@8?vF7GU3czZPwfsMcG(FL{~|^nV5`<mt#3L?;)(H
zb*kTYJ|#_yRihb#j7u82RI){O11leH+_G_^Y$l6nj_fL{?8h;;$nmB#JL@@@R@C*$
z8oMEr8TdH_rHuQd-jQ7A<jAvUiLyx9w6F0}1#uQJCYHppZ7j6G;>*#X2B_?$wUa$S
z+YUVv;we6^o9M%erYt=y%z#H_lH*7`6cJS~#m;*c=G56kg@Zh<%4`sRRi$%mv3T@X
zRZiGirDUsFG>@W4JF8g&+i_X~vosk^L;@Gk#MH^b1r-I^IxeN9p~r2nZe~y{+Z&$D
ziCH}GlKk5?7BELA9_@gtxJm@du)v6UQRX71y$wXdF7RkKRnT%7v!bI7w8eHxt-Brf
zCCCo(w=tgdn8s?VsSma-3&31R096J9dbL-D>603rl-kf!G7(?3h9_heLmGQ6yxXPQ
zR}=9BX$ZS5v`8Xm>B=xom#p{ZbYyGR%JyVq#>cHwQe8vZyNO1|g3ixRu$hDfVJ(!3
z)wWF2A-j#VteK1$sMrv91yMv0g{}#+h^M&IOI>Wvs`6Zl3-!40xQmQbPBu~K@x|!w
zC39>rD3KC5GRga*<mr3TYr!EJ9%DJwx}7_-$@2>7a%)Do&h7?EBV%)vNkt@%%Pz(w
zjO<4oAQsw=*tCJ*lv9#*OM6d!kLnEZg_y;!>}4@!W%Ui#H!-<YZZ<&R3x@C%DNZ=D
zq&)0Yaa8+3u`29|fzn3e2EAAP{Mqv|Iatt5x9f)_Cy_|Pw4ukGe?{Y5%eTa@>?r8*
zNXWzSYFm^IHu{;oZj#D+Sb~#6OUZok1Xbyok7E@$khN81rZzRwAUe}9B2${k7;4*T
z*-~*{MKEwwkO)^~UPxWPgbmXDJ<cs|rfY_Aa04c5P0T8$VYJdv%w<icq(giN&GwpP
znT+frA#Di_#1U}Z=;FTEVNZ7*y12(HoQm-r8e+Z&4X`$p*)Gba+bhW8wYQEAIMQ#j
z64NW>(zWAtJWOqkDZ<FEjwOwIG45=!7a$QbjVvc)wuI=IBdF4Gk-$h*O-)G&1$R^;
z^Syo4d{UnIim5DwX?L<5Rwg>VkHqBy8Ft!r(%sk0H%`#DKuv)m3Xa9qHf5<eKA*xr
zf0M<6D$l+ADpARU9y?&`X!N(`H^?KyaSMnejUYJj@Dt_WXXN^YQG1BOnOlP7HkHpw
zX#W5b!seyJaT;mCB#@3e>rXZf7ZoP~hY2^>Q2LL&O;wd>Zc$309ZSPw+2hS#;dFTH
z)vK^_OsZ!2vgDHD4XiX(Y`X=ym(Z*bA@N^@UGu%PC$T)A7`DB@BEfB68E!QX6pC(A
zG{b0zBp78u$<UqeNMcVS@35|>z(8AuhtzC>&k$;~?XrpV6iFgobIFy{9GaVmh~sX?
zITKaR?Qs)EqSUofHAaaa1>hypzc9sfJWo*MSL69cRJi;(5N2W0@#zl4>^IwgZ+cED
zw=Pk(pd#zUt-2`MsF1jvb+B_hw;)*<xY!&XNBXK7(2Q~HQyZ7**Gw^+I0EB^G1aS)
z9H+9;6u#U$fkvEtOhdTigy9P=sE;84>z${jtba~#=4yR~40c^*nMqlbOL|p@w}{_$
z=Vha;i$@Xml(~m-*U~y6GT9;mqA(z4dbY$0%oi`p=Rvi#tC<bRwC3VKgJH!L&uZgH
z;m2*h*#flEk~Y+VMG^re>auR8rg2?67}Y&Q%Czq!rHd2;F{7yfkiObuixOp&c;VY$
z%!=%R?4mS`IVl}!5fqe+*v2--qkU^bzd9fh;bd?IpxcnBR(NfOa_dzOda1<YwI1Dt
zkxi`F;Ki`1wrH8)PFe$wAGUm>0`h&A6_njjO%%|2ldM=~CjLQZj$t~VHVt+SSzO(<
zr4~ha)M~YH^;aU3amB}_7{+m-ZW$}>3OmWfZ;<k^!8C^IPOD}QQR3@B?n3h|4nHy*
z(s8V|h0X)URCkwYGSS75hV*c3TLWx}NKDmf^BJ*lEalqjtQaxMiJ*A4F#<J_z<rr-
zlD3iIK0VR}e2C<%`5>$)wA&!9srL?E&}aVI4Yb>1r<J*EtjI)W+WMc*ozZR!sZ`mH
zo+djA(pA90Y1*49^o+M9s+Q3mXl1?b1c(}WSlk>oo+ULwP!Uu?`9WcvGlwoaRbtKM
zo-m|Pvb##z5u37xNLxIpiaW_@6O*dapt>!O0s(i5uXN){bNtcid0uaoJ#|w+{hfXL
z`Rs#YGtq(O7IPBZZ;OJAO@g*CiXpy@d)FBuXjM43aNN_=wgQk~*Vs(VZKm2t8jwtT
zi*XI6fyY^C$D^{-5u>-V3K2Mbe0@r)JtsJ9jvy0$y0T*%oue@V)a#;!aNNG$q9P5$
zO{>hA#=5a$`d#W1;H1*VhS|s_81Nk2c}-j%>u7>IcM#IP=9h!f?{UYy?SqVztae<3
z1#H?S0xsjv8xh;)UBqArTy%+1c_(nXw{IrZDft9yymtwWjnx6a93AZhsRH8cpex=W
zZF{a8=12|m;K6QUMa3lKv$ZDTBV#iymjSr4#1gX{ay(R-$rMsKnTaSmq@qjhjU7ND
zZ-+8fMLpKig!4^gc}BG!3KR?FvG=&1C6_fmYRY*Xw4`udjaBsq#PEBAZ|VgA1Vj~Z
z_aH<BB~DZ0*Q}7WlQ$S|jf=6uzbbiEmmGP(7epk2wvEX&AE6bX<h(@<Kv8<C#%SPF
zM6$QFy^m{oS6JlRu!C6`EnH2A6wVVujz&;LAdaeJYK!M{A|yJpkj#3i7r8vC(%?ma
zj>EB(!O40fNC=A~+#>*w5~6NGh^C{<V<laYW}u2+?v1s0@1MfsYh#Xy4R%b_`qyJf
z_dycnu$dL4Y&(eXk&>7+*#_s^aS#;&QFm16cIPj3xcqdwb$z)I6E>EOxKaudDr}Dj
zxK%?2i3P=MjYPPjF8(^Eu+1{tI-1CuVW}r=TOt!p!+P?WU5x5HN<kq6jkOkml~7LT
zI4?G+s=T&dfi+7x$fnVTp6d=6c}r`OL>zsLZwGEm4zSp&E0Wt{ONkaDIwC;w?b}wi
zQB*|UsGzv0@<^8u4M6oo6EIzVybG5y{c@F<)X74wu8W>v6|*bg$r2J$8C7mZdDb3l
zaS$+7Y0}+Ie@|9*wC&VZxeBd|C~;nrXSAo4@td-!@=<IPk*6Khi8-Pm?nThGmYCue
z6!tUnEDgJLl^ypPmtj6rtsi-`^B?oXSpjvRLKJ9K5m7-`&qYr~ygX7DzKHd5n@v3Q
zRI++#$2H=l8_V*aQV^!dh>7rt)of-#KyBovbIgY^7f|u$V}Cduym+LqT~vbrQH|F9
zz{f&&w(}sV-8BVX*(!Gt5Zm8}j=Q*VMG$LZu)_^1Hq#NBKn8_3L;(~;K}1g*Y@2MI
zcw~XO24vD~OUXVLW!-$D`Poy-f4X(%LyG4WHT?s!C-43L0DhbW>Jo_=XuS70ny8k@
ziLkEwuU?uq9g`fMLo$yr9%GB@3EV_fPaZ`709M-)Ds8^~ab75>za*b=>-RJtB#E%6
zg)iTu)d(akvFjs6a!o0+m##R?g+p~#(>Q7aYgA9hZlkjEGi5l_U`p_sJYeexD${HU
zIn7PBku&e2jc<*j)cH538>@$yxW%$)xu%#@O?SN_Ktm@=WLDh;Q6}H6b>17QcR2D-
zCYx^0Qn*HAs#<FH4OLd$s)=IaWKj-RZOO5e+A?9TDY+lzp`&W3E)oh7ih1iZ`sdPo
z8%VNe@{Crl9B9L7BR8*$T^DAtC5%Aqr=O4wuWA(1dCh@IeY5W%Dt2E^)|MJ}mI&p&
zeW|5XlEzx%=*FJ)TIRntr?Jf=;`L(TN3z9&_MTcM!zwbqEs`ewc?vlkly>-eKV|Ce
zT~hi}WnGhTUa|g;>h?`v3k-HON?b_7EM2Rk_N1U!bu-wI(`<vhxEO?{U^XPGsmb=i
zL`XMXF^=lS0hi(U_J4@qF=b1U&WRcf_{X@5kN7}wHryNoRBXX^P&L_lo_slp^csJt
z;+H#WQCHRBRF!u7r~X}f1TbD)Q~Iheow^vnvxc%kvagXON^MQNm~xO2cKRGt75Llq
zsQCH+0MDX8ckGUB_wb!g=9apJIj1{n7gZ%R@TvU}zTelc#kp;|qWRf&O}gZ73Xhc8
zH(il`r=GpE@;E&HrA@a_JN*6s0DgscMI{x{CE0kdkEnL=pX=lO`tnLfMq6w<?x?A{
zC+wfL{e12sYzRP$x1Eu8>(4Xfii_}{2)pdRZ;$opNHs(c72O<jigHz5)50L{_Ucr3
zxQDlCM}9syrs==^{{U{HHm&kPaaDHRRTX?~*Je~z)KOGH;)*NxMe)}NArL$iq1`@(
z5kyavMcoyDe~r5E?8X)5nkO4<-%{-XZOL{O-BCZL{&x85+iHXxHln_E-B<nk`n&}d
zMH9!APL={<_zjQ(BfeC2MO80_PoIzL*R|Leef%%#U6ZJmR@Jm{PSV!Nn9<rnS6`6k
z!W*gzCjS7slA<Dfs;VM+>XyG&Fne5H(>;rRBTZ05Hdc~jxZ7+fCnHaVB2Yy|Bt%vE
zkv8+UM%FpPpjiof8fZ!&l0;F{ilA{Xk^AlaSE$as;_uCrO^3?u@Vof`0DgirXIQ4|
zHFb_a-VI?z4T&5n=goDa8H|wZ5&=NeR8+YTs%{Dhi@GYPrwu8v%B!Bc#xko%Bs7*y
zjyEcF@p?^;(UHlrKAre8-d%u8Za-JqN2VB@&}*_;nWmJ`qj#J)4N)B5@8y4fxX-T}
zTG#4l#U~?80%g$K!>FU=eC(T|c~81+x_ou`yQqkYsk&^tZ?bLw0H;}>)fL?|O<WB1
zteQwggB@d7FjZtr4dxql7iQdW2-J|*fwU@HmxW)BorQ$YC}^^u5jcW8#8qGGew@eC
zd=AdWv~fmY#W{b=^)u=uIO|R<V-aX&2?=s>IU%9_B0Hd|Z?|0iENT{ClxBB$-cOV{
zHgK80c^4wSVI)<|+!P=~VS+Dl$+r;vpmrN=0ZGMF=u6XAsEtTil^BL;Shsl5_oG;4
zGYT}JHqEx<F<KG(f?z1=h!m9)4o;vdfo`dFPXp534TNgkj?z{uX?b7{Lb%LfM2xEW
zI*tAuO3^2L0GmJ)Y<2=r6eZ=qSG|u6bZ@!h1$};0O?WR4X8Ri_+^MkPPhzrT{kbxg
z#9@+Xw>4~epW9^EeEnN~$-4OIv+3J3agscB*F_y|JCRXKWh753Db`Q3p}o_)q^EBv
zd7O(LCf=fMeObR9inoB{w8Jl}ovS8IK}lS6l*HA3q+OGy{wtInUDH>z&MS^YaC^W2
zqCiR_L<B437h*-?zIIgWD;0+lLqT<?gT$Do1d35Io6}pW-A-dAr^lh)go%#7_-%uV
z0?{g|ZsP2`krj7Mx7|}^PN=<A>K+%Q)Uc@W9D*fwPm;}9HdQd*aAho21LpWL0;-}Y
zCa8*`%Vj|>N{FobjYWhKpcQRv&NpP&B$OU|M!q)wii`gMmqXfPrP;O*ZEKWe0{OU-
z1S5&daDr2cUrWyL<Z2`1Z`*H;ldOixl0f-C^S2eW__M}ignw^u^(wS8BJ_`KkQRwl
zR9M(Ikt;WI;@xc&rO7ni58F7YA(oW^RTbm`R85nX{dvK)AJjIx>Yav{=N_D~n*A}y
zRn{yg#mmu&5V#K@Lym2VlY9VEf}#>4Au5_C{af1lc+(s&QRY(Wq&jO^mn}OsMm;6R
zrMEM=Be>g!;fN6^9>5J6sG=(DsGUKPl3}_LubAZRQ?iuU-6Yts;lCBreVC!eMO-#f
zT8_wWOXGJ}m?Ef(sHH{CeO(n?NVRzHMF)N`8zmY6p{1?0epPm{YOGlG^w2#nlU10z
zcEc`SK%$PiGQ`cZaY4=^Ng321%J7TG2|OBde0pEhOp89!#x+9R=FGI8X))C+00u?&
z+H>2qZL%a?uvJ1XD66*R<#$EvFY3j;jb@`#V|qD_Rlgf2%?>Qesc<{W+-^W*fxC!?
z^0tHyA|VK{Ex*Y~02f@wT{-??8mv;jEpw>^0f_ZLjkMa5Z?Y<JMDgJhWKV_LsqxHU
z!?B^f>%TgxzMS{F6!+!;SW|B#8|tq%ySCGFrK^rbGVa(yD-hyJKJ#t1asiYk9BjeI
z5tUISH2CxO=sVL!rBbFh3a-CVs3cT5DdwAImR#2rsRZ%!6jusMubPsgnXA4G%k-wm
zo_$GaR!ymTu~KwdlPtlkt5s#D%$+E*UU*f)QEfjtqKg<>RNPnd6?q~mqRz%WKjd0<
zNfRA!RB{GmNSxu%CMAPzcQ+luvNp*YWKkDj1rhqTB1J^#THG^mL8SMM*Iw*Qn9|@X
z(QQ{BTL-7oamt)d;~C4Rj5x9^p$%m)BsUF^GzO(ikff1>l(>?LcT{)coAsP=TU>WF
zvi@wrw9gTe+W{(8MpuA&OYJ!PHlBcC@7!%!WYh%Fe5#7>fxps+zOpeqmsfSk%y$UK
zS^=%Dj>+B0$L7nL)6Bi@Sb2x1_Ts3Ez$ik?qJ*3BbLrxt)>!p5UCf-PQnGv(47-&W
z3RPu|^LFo>(#f{r&1w`@4BT<SZ5n7$&;eCdvNc2`(!oa@crl#Z^ZP8!e6mT6acI!>
za)k90TQw71v8;a}b@vX2*19aZ=n$TG7>fS@0~3tYQABC9KooI&cRr=x>FIxBZbqwi
zTt*G|TR|A?x3a6x8H;T+pZw!+z!5)l-|f@>K9KrM#IY##I>oCm<W#ijB1;(3G!%_D
zvI-00%OUQ$qB7G>Nhgqp>f&1=?|JFtMk8XQKhz$1rh>K=F9h5h3|kG2iLUc*D!$8$
z`Cb)CvUt@+u_shfQ5UT?<DkP~&Q{P3Ig{6t&UOY_@dGofU3Z}Us@-bE^C7>%y*Oi9
zX>)Ol;W1dQy0xRaVY4f9Ce})mLA$CbX1`jCVx!zdJ@!Ri>F1!l>rXQ%xWVI??RGN2
zI#8UTw{cm=-AN{8?nUw?HF_)POC1Mx9$?X;PHL;6^yZF%Yv^HRIMkHCu?L))77ZCc
zWpyq|mww6T5LQGOUn3n<+i}ME5(pxvSBC5?rnY4FGWv;CnCgobaUnL-bd**|s&1!s
z1qNGz`Dmh!8lj%bt{N(JlFz8i7!lYGJWn50ru+<Y9LBXYw+>xhXH9yl7opbRIGYRZ
zB0+M_mXWxugt*mBA7ma8Q$=YM`5-nMsVWgFk#DiTq>V?{twO(nhqm=Bcx@BW<XS_9
z^jmP0h@4y?NXr<_cTL?j=70*HM<rFd)wtM&Ot}#Tk(|RXw{#t=#3kP|3QWiNH_gqA
z94O4R!V|l?AZUT%uPM;SrWdYHJ;`!fT6q}h*-Ux5mTR*I=d|&5+b2i2E-OmYghV6X
z6iwScB!Gj}Qq3Ir6G2*Tc>Jju3$XamNu_oRTH+XB6V`dKK$RX{ls2m%w6TEJw!NYt
zA^_&Q1Ewg1pi9U_4{x$C?O@0#(ac>)orYA4@We+MBUC~18~tm(+(%?x(LS$~P-Mrh
zt#ByVmH^un?ZR*xvXMRkC@|2E)WZeHyrPnEKRa)?jr<%?!;e!5is@FyO3?PnQ3M`&
z#M_&OL-3of+ae<Q^Y-iGW+eBkQ=<EvFaTu&#Y=L*%8JJyY(z<s`W%tE3uwL-$2LS&
z@%0woe%*7AcV8wvn!2Z(l<Zd&WFaaN_ZRC_G!^}OY+MOb^$zHXvh~*Z;lEh@OnauH
z$#OX(G6Z=GO1u3?oB32#`>*ZN0~+^!nPr9}nc2;_on=}NS=y~^mrB}4enOEO?E$2T
zX4!Hkg#?fqL>1tOh%m$2`0z}h5!g6dt>TF__tf<_r)o+@vYc}I=OD<gTWy$Fg+r4J
zTjnBen~C&_0GcP+ckqaail}NC({rZ^zX|Yo4FQ5BL3lv?D~g5ksr2$h@S88s$3r<~
z6*jIlTyo+)3-C(-l?%FDI|LpOiBS-CPYQ#&ru%N5HtK9Do9Q-eKp}CmZcC2Od>=qn
zY?I28uKo#pA|}GSF3Ht`EI5P$JHu5VmUB6w?%ImOC<|)}qOFCIy$VAI%$|i^-34tq
zCv96@iA0pQLTr%t+vBCB4tbK?MX~;L#$a{=PTlD4NoGMu0YVc*ct^Cp6@FKmDi@BJ
zc~mCiWT}##OJiM4TL@luzPOPRN{;)fuF7HnDYpRGNmV{}+pO)Y8sT}Vxe;FCmcdJn
z%x(A*B)8o6c1)9G2rUXO&8K`oL|2Z;My7(Bs?&ps()U2O6S9vTIfUjeHQ}vOw?ef;
z7|yF&$S_yueidd)<W*_mCfedkCWPAf6ct3|ytm}LCfhGf$zIO>Beg*Anz-Kw)-#By
z{a1D0W&Z%|ll}gB{&m!A&S`~dyw_JoYF2p@E@O1|IVmeHaWp`A!`z6}NOx5F7nZ}m
z{(9M34Xusl_!LaO+NtX46QiS~&uv|f!78c{`;ZOERKCZ*$|mdc(EUs4?}6Q`bWHkB
z)Z?H2PSr9fsio6m<Br}*ZcD`3v?7W0x(c7A5m)K);S+tlc<5Uc#GSz8Oors?vD$fg
zF(Iebu-Sa>qvbb6-4#AlZ@<q}dV#FC{JAV(_119??psLvRjx@?k_>KwQbDizssgFx
zz)z0px*~7a+nqxGXT#d6y||8VPm;0erNNiG6W$Trm?H$)hrV`0<GCVyc@@oUQh;-4
zP1cN)VavOkv{_o-xnDK)s+}f8!7>tVXtJDC)eU)~{XDqv@=3bxsrKD^9=5Jl3*50!
zB2%o%M%B%Mx7&EX``YqO;VKU5oW!`2d0&pI@XWUWw1^m&wJ7u9K9gaKySC)F8C6#W
zcU`&g=ivv+BBx$T_V**Jp9d7SOHadDVntNAK&$SegRPrnf<LLw(r{h&Li6X&-Bu%e
zPE(*znVTR4YIrN@*4xIH9?lzy9p*)wXVI<>7^nQ1C=0TS&8lpvw#GjSsy%a!UmGCC
z%BfvtZz`V=RfWkrt&$<C5~A<ebr+V%TW-93?459dG9ypC!|q9JW5!2eqPF9WFxZld
zyYf`>JBbkOx(V;Mg<h@boo2rvD4mv($6_G7z!-x{f@*`?Bvlmpkq|*V`9<9oQ91%L
ziZ{g*PI3v*rQP<G*J6)cPs6a-a%o=Tk}<&&hOs~xR*^exq9e%Q9|c9&L|Sb{6-iNZ
zHiqaezK~_CVYXRAiH<d9^}d&7sQ_7artSFX)9_@1l8CbN4k{C4^g6BiQ6WT4={Rey
zS_yUywx-MKAoDIGFUD651VE6NZ>4#7B>KE;oAp5DJ|k$vjB(}|Zd=ByFo_UGL4k4Z
z4<*~5=~dfh^1Jw6tb-i(#8}~4spk57J3#PhMcW;qRtdP!YJdbB885?<`akVt5-GYZ
z5h8LIQBaVPc0~CR`%SM1Ro6}2xd3Eb$}(45j$B)4z7bUZ2^Cjl+sEI^b$L-Dz6&D+
zES~1$eWU|j`(`Qi_(c6ef}5`1et!K#vTBC0w{0fhBzGBY8+rKY#l7}kDaXogpF4j~
zDb`?<ylS+>L5v)b^^Cmk&UDtZJR!7-<b!Ul4nQj|r@$kH`kHW)Wdry^+(~?=RqVAd
zi%=vrGG@;Rvh>FIJmQj|7@>-8DlT!|z9_0LZi}|-(QF*@9BR}XtJtLM^CWH6AItHw
zaU@k$L`}sBH`zB&w#(3cn7?Z5#~3)%VZ1>3*P<#o1|+I4Fk-xrIU*vi{{TCReV3<4
z+B%|?Q_GM5L#kAyO1lw}1}%sPAtALIK`9C;5Q?ZetG3ExvLL4a0A%><<;E*A_CQ6v
zu#`g<FSmK5WL)N*#8gK)5F_cbq6(^f@A_3YTAVWGn$l|3vm|A<<0w;Dme%qO!f{nL
za6FKv<_f5SNJ=KZ=GbS|PFntm(AMPG=1Tlp=I>b>5swHBAuFn+$db9RH66!(o!5#X
z5(h2SI&)a#Fpo;{N^`)3zfc#O%!4~^i_09M7DyE^8FSmrg4<6#>q)S*$Th>6x~iqb
zl#r1ZimIXt^$$<+Z2{Fh!Znqw45=s8w%nUmG8*o~a^)bSN=w~qb6tQ?yJf`qq8BZ?
z>7n-yXAxw=uFA3ZFKy$D`=))VOE<*Rp2V@<ZN|)ZK|pm&ilU+($eSNfR>Pymm>Z0K
z1xxCksMU3W?xslHc^<${8*TD0saKIACz37tbdv~b!(upDPZUm=hw3?ndyrFMFkFr_
z^-<k*los2L@wNnM%aS&N;)<5rD(pM>O_Sqpx>`7SHCq`Ixa`Ie9RfDVml{!2+<6}r
zMO~AB^!>VBdX@Cemh1KpTMC}a1$=7P+n5zO4RVvH?&!ajA%Yc(;*T);ckpZBck1I#
zbwdiqH3mngsJRW5gqk|^et&(})ENUr;>r;rF2lMaay|YNb=#?^9S&x@G58AX#7mXU
z%G2_RWY9o_(F0KV>{~48@tt^6&ful>c~74ozxL{->Uvw5uSAfQvVqoBQI?#0zM?yE
z5<>6-tG?o%6X$OoS;e-Z?Kv_e42mGge~>m(#Z1Y5$^<}vZMg2LpVNMa+li93oI3o>
zx^;CSiYi6DqHs7E@4JmX+%+B3#>k1k&s<@4q|tHtPJv%auA#y)vU4wKvuYYBduF4l
zeP!iDP)U1=zBWNbE?yIT_Uh(y%~-*W8n#<c##p@Daa%7f@<l;JLf^-Y)8!ZCKFf1K
zkK*#3Y1XV;lG}ohvK*K7CdtVQ!jdM)sk$$e-+sQo5{_ambt1Hd4L>!8pKOVxO|~Kw
zEyS1SlI^#ZUHm6fnW}G9V`8H=L08z_c1ueu8g-d5qs|U94kd$)yy%ke{{S!-xy4C8
z%46en{+&``T0x0v+y#k@Qb>k!9_~9Lma08}bx~LKxLlqux7E#6e}0Z6$A;n{gQV;I
zvO;;jD1y80q^<{rMcET&^1Qt5w*6FC)wNFX$deL7>PD(A#f=n1)8oOoE5G~i(}T&d
zQ@w$_)$J@}jBY@#t!@+KK<n<j>AvxT_*LAu-{XC}{O|YQqS^T!HZuqoeDUU6BS4Cq
zxU0U%K2aBcJy7Y8Mu$?4due=B_XLpOI7qAVze?<$e{UXoA+h`>ORUC~T^;fh<^bT1
zz`yvDf4@=7S3fBhS`Z3FP;OL+a-!NpX3=7CQx)OO5mZrss(9)It9BfW^p{ywDBnEP
z{&(<+@SR9*!Qp^NzyXkd%La`UcK(W=`E~Up%8*S-a=s@6UQUa<@<jV>w}oDm0BO2?
zNfuS5A|7EzHgF{nni7(Lru!;*QU06l)qRE)6C#S!mvE5U-8r&p^(rU*dMg<biB>BP
zB5_1j6h!!5xi;i<o>j_Zt`KuhUmxkwvF>GPfzdVRysIU`aR4BD9oPg!X}~@HHu^<Z
z^p}L&e+sCbL&ososIiwZ`)LxKn(uRq=!O7kvUn|%%AzLex7l|2UanlQi&ER~+_*8?
zMcEyA(EyX|o3D-c`+W80j?Sw3Fxb@yqefhXRXmWdlr5Le#GX-pcH6EOx`YMc8!9-d
zj@G26yt%O;sEVilAHVzU{@p^gx~0dV8M^8!HRTW$6Onvv_D|`z?bo-mHkf#uSk5YQ
z*cB7YgTBhBtK;X!+wcDUaXNyw5tQm6lV+yY?W!V|+i_jKJTA+>l;~R8e`LaHDAgLO
z{nzA$b%bZaL!fS(ryU4E5qIs9qV35O!l&>3dasphXK5?kRlqpUsFQI{S}HW6o>0_$
zD(<WC;Z;X%_D>|$bg}DUHpv1RH_1^<cT_@M*U!(D>xI5O7RFOj&BuG7h=5$U?wjt2
zzjaUP@z+C}RJTVVYN{^}@^Micf9NtY_~r1w^z;7!*!3Og?W+$9sDj&WZ^VgEkqI{O
z<ImKefA#8gsGdm?6J_Lvs;HYM74oXT*;j9ltDcc1qi#d$uW)Tq<R3i1zIR>zcJiJ+
zQGb58D4uAe!f8bP%S3;cyN_+o1-8n(gqOzYzrz0juUssjIYg2P=Y7Mke}o2_P%=*l
zXY}v(@TvFNRX#fJ7}{oG!%xfyk$9VmoK4S>_}gvM!he7C>Z<v^<c1z~-Yp>UZ;PYJ
zl||p<e;#*Tmu>v?LsSG+Uen#ItaQ}cn9G&FN}COd60p1RBv%o4_*7rIefQ`teB!p7
z-?O?!B{UaYdCqDAsJvI_<9(5KO_P24xUpliDf+nf4z?sFuDZwpHsG$u$B%{GQ_kD`
zdE2VcfaCj8H7)=O8WAh4nWLnto;OdZd@6p(N%6Nv!Aqfi3awgzeko6J9YA4KSa=;p
z7adKARYzq~Z4>2ueMzz^{h>dG-Pl+=DlBOY6S4PcC9pfpAtm}-L{wBIAFGb*{=PcC
zX9kmO(+|aawHO;W5TXJMl2zY|DQ-e2imIrntG51A=V9!esA-Xy)N3Kxuvz5nls+z}
z1Yf05SBj|r0OCd4!lEZkX>m46bpn@;JztqtwSiqtD3c<(r$c0`^+!LuOTOPq?fO^e
z;Wktrr@_lCZEYFEGUi4WPgXlaknnd#M&hWxcHKe2MM6&~d+fU!CsesacJpeda>!9h
zt4P3$cMJz@$B&63iT<3CJ{QkdO*xEe9zROvK>Ej!Mv>UN72ZTC<G0eM@SVZnL%M8A
zJ1^Dsb=Oc((_dr&k}1JiJ}q_|vq31WgP;!(p645e>9_SzLP72)l4SS)04GqU*$g*|
z-N(gR0WQ<F61RLvl)i|fN)2vEim9@J7aiAq_UqApGd3KTpHhu+9n@~nnPoW0LHfB0
zc|lbV%o5oVcT`m0bxt<5(;qjfX|c%h-bn(nUYN*}B91r6Uu;x%M?RF@IFhF5sEE7u
z&<0&n3B6FJbzV8ocEV-E`kZE8X|HW+%PAsj;#<ck!lI<v8lg5SXunYGJE12?Z0jvz
z@u=0+b<RSof^YsC5=)BXtu*VL)J&J;k$>BD{+&PaoGu1QRxM7nmeXp(ty<sQHmFZ9
zJbAYnfiC2p*@!#cQ&a^6E!WC*p7lv6;bhWlC}D_3hN{rYNxtN!F6zDVbHJB9_f8@^
zCdi|@Dz1hIg8Fb$;(^MJJwD`;ifKCYvkF7b_Tap)qll)QQ3RBilCI<ko37h!zTP@C
z&l!&!C#{D~O8u0Y#~YOE?EuJV<&bWUKEfv;UHFi`+V@yA5>Zx^`c-JG8`%#*-xQSX
zTb3_4^_wjbf~vQ}+o}O_6H^Aw4HNvEF3IIw&W@E<T+P%B&|7}OvSVyYn8ZSP`p)R0
z8cAr{Ls;Z~c`EkQS8!2OUCS0)*Cauh*?7-26HT(JXE422$0%UHq$CUf0Op*4;|R`l
zw`dM41^y`<R8m4E*tX;-N!E1Kd@6RQXKvl#m?d3a9gjFLUYAo&uwm`8xJCfrp}1U?
zQ<CrSn|&&sY~3Nlu<)@<7b8NN^H71RxuN;(Hp-HbHp#j~=LIoUKr$r)LPX*4qnhQf
z7<L;~XGyO5S8Xd8ZbMADeif?wDvl!d%~7)Csko@Bro<|qN6ISAg~XUAs~cZGg+?O|
zCd2pLPPbV5)BdwiVcw*_m+vG=9A_l9ZHR43H6VvMK8Vk#@5Mu!s1kTZ6HWd)b>Ub9
zZ41;TpvAG#uElZ(1|CC3QrvZ_3)OJSERj_$!W6_+U`%#K$XVZF9}u!n;oG8`n06Yg
zglip?+DjI@(4)g^x=|hCgqsk3XST_(5Fw&};$EMaMom+mU~#K$?<%Y^D0Rse&NET~
zifbsS+p4IaS_y6?<r9O7o1%4AHx(S6_^W$3d?|34ceA-Bx`W9|%dn-$*^YOuI?UJO
ztXG-`$-d|w$SUDByNjTzNQNqiil?^Xe0rtOY*$WcV@adO@v4Gh$prL)2NG15pV<Xv
zI^p>>E;}Nc35pKeA|~B;)U2I=#NVTdog+ld4sA^d$OZ}<pcAFU_=zAdA|%-fr#IVW
z>xP?aN#;-mar|O)b8I6N>21ts*^5rJNCaD`Av?K>^4SRXRNVt~PN4!{<6A<l%>cyT
zP?)kH&XZc%lz5R`S49D`G9^Xb5jd#qh+jJ=pWFKMroYRfX5Wm*rMsMmSsnASW(<*J
z-)DX&vzsak{#z=jg1@M~>%UTR+Z|b-i_W*g=zpAU7GM7WB~{o<3d(pUTu}|#2&U`6
z8*<opHQ9C)RqzRiVL4T8>o(e_kfq*3Ew<aVZxMy~T@7<;C&_rBdx8W);CqlN_Z3K0
z5q9(uv{lCBb=7^)V<dB^0Jk2#%AZ3rT<+b8*+xlW5$9G&dq?7+Ap!{O2x{6Op=>GR
z<#zMZ`&0F@`&BhX-8aT_`|A55$1)1cm+;AMHjI;S)?^tCBQ6ONxU9%*)6UzfY>KU~
zL=5Lo+vPBm5thvsJq_hZ*!*@{W-2Dit}8&;j{B-^gj|Ue!jkp;{?rX@vc>&RyQ{SE
zB0D0dB}tJ%{rhgHACWzk3yCKoU6mJNUA*=6IB%z%SaaL}a26kx^Ah6wCbfW)D}9#1
z&|O2wGdinGhgEet%1oNO7N=H2vMKJ?$BQ<qB-r5Fsrga`P16qB=B`8SqHVIN^^iY^
zrZN1F>emj{_*k@9_;R;0rr#-w4aSE(>FmjNlv`+a<kE`0z|cul+$17YKwh*TqHTJ+
z*E-wJPngwYs@v%l5U0`vOT~=Ml&B30FShH*9mbT{YB~XI;)fIG$P|$PKZ%})WLo>_
z^0F;72HJLj<yv6O<G7!-eVJ&45$o7SJHsi_a6zIlHpH7IOhwT|QCv)$4UHkfgizB<
zYi}JBOX8X!Muwy9?W*bOa;nQA^v>$yQ1zQ5sa9i|y{Ip&Xf+7i4Vb-LfWsvym^24?
zjDuz5ib|qt8zw6CHK%mim!8vStmKw94CL6Yeo;|xkQ1$>ir4E)x-K{k2|jUNM_O?s
zp_|CqDiV-A)_~KS{AblSqdWrBA-A!gYmDYh(pb4Q=i|+!_fV!a8dF5kHsAnWoOZ}d
zn`UIvephqqv(fyPlUTIkrw7Oa-yd?H6o-~p*TAy}nsx(sPdPRT$3}_ucE0H+GT@1d
z6AngSq_!@f41y_WbSC`w2wcaA>$vscQa93eH=}s$t9)}9fKOyIumFZYdA}(b&GcJn
zsZS=>42u+&vYK)5b|E?Ko@JmG<sl$|p9cj#h7>(Mb4_(F`&aV|%Ob{LJp3J3(|0D`
zV^gO>W%ZEV%xMxOI?uaoTZRP%ry6D9Mpd<Ow?$EJ>IX!VMDv@hxx97`JqU8wWLDfx
z$AgS#Av!G}2XP*XPm@*=A2uYg(^DOMwpiu{3J<4tmwC;oX|8{XSL76RlL5(CBR1<n
zUufaJ^URF7FGxq5Y$S&O7Tj_ycPtRmQL!e8&xANs8w=ZAS6J$t=X+nxH+?tyu-5t6
zO}>AtxGRvc{GQpA$Fb^Yt+5u3m%PG*03J5RM41ZcI_r+OqT5aP42QY&wrqV>;*?hL
zbgN3ROFZ8!avIGnS|pYsKOQ1U5HnP8%pY@ttF41h5IzEi+k^xw(zhX%rZ)KmD}0AH
zx^|henDy=xlw}Ri$!)D=6MpcSfKD<oVm8S`j?n?`;B4rDqB?*%rES_|9-=R`V^c6(
zLbEWBmX(cMDY;Bb^GQV+BQ*ulg6ys!F;soBGYsS~>Iws`i`xZ;R*1l1zV%TE8u?uJ
zw!=-j3ur{UnPtId43-^qRMn~Ci1==s@NiIx5Ybm+L?TVmb|v}h4yb1NR*~R=sxIML
zM7X4R9gF<yGsWfH*;Tkgjf+jjfF$z-=W#)jF;>Knnm7uaNMh?#al8Vy!oyW(#>Qk)
zSGO-9ud%aX_bOX)^<WX#;}eXL_XSZwvmzA|MNPn$qPlCWXEDZI4{uSB(B0Q|<-?HR
z$gj4BMaf$}DyU78r_TF{A`)yuoi`H)@-Xyi3Jf%^!r}vnNi9FeG@n~&{X%*j&#UCm
zosZd0%3uaTr%z6`NO!RrnDpBI4jlJZ9Px3$aGn)5oCh8+BnrFq^^jG1k@U^~01mxi
zwQkmPp@mJ3Uskc4NRYSK+xA6P^y7|XOvja6lA0AZOdLj0qIpf1MNsF}k^cbntLwg%
z`r5*tt7{Oc&tJtdWpc7jjg59SbVJR%NmCwmTw*JzZN)V{%A=eKrpXN+UwZS<tys}*
zf5!DU)6`llFEFI6vbV+TaXgl5^tLQV7aMXMk+LKP3EJqw*fwI|$xh^c;<n2o*Uz#!
zGo5oZ`!A|%;&fnFy78|tsCB2&tyX)Fjz>j<V-%EHSC$1fOLZ~!YVBsW3_xI_IRIU4
z943jdnlhEh@*D|*!%msTMN&tWPp7=vHks?kqdFZyys@il>bpFt%%|2~2%N=V#K|MH
z<fqq=GT4eSEJ{0nT$hB6RLHg0Og&P1RLu1oKx7UxYk2NEO`7B3l1zy&5Vx*u))Q0b
zNOZl$f4u}4?-+p~$tD%vEh0BTj^%m&q-ecXmTHEJS8C3aOrW;Su&pG<CrCS&X1!%3
zjrlflOdF$q1B&tt07si37rS8ViQGy{iD+|0Nhf>y@d<1)RJKDv(YW{XO<b2>v8_GF
zH0M)vrmsB4FiV;@Ax6S&ahkXfV;51~SnfK(SrRtN4<kmE4YtK&At)f3Crs%TIo7Ah
zgM}URnY8fOVzx!S=AUCza!V^iM_(r032h6kN)5&L;uxE$yG{<^OUWa7nQ2B*=~fme
z>sL{73=YpIn#F}|dt9+{8wd!)ueV;~>m*#2COX93vUTEM)waPGmk~~z9-K78J*mYi
zEA<~cwzbP*W93>aSq){ilf?W@J(@{Z=CLH*NN;x<CfsHA8b?G-krp$SO$&w`NcP-o
z`a7&<$(Cm^hJc$PZ9l>^9~F^hjn->UpfYvhb@>%6406)ClFHPht8XMHV>T-uL_i{t
zs6uVD^TY%^1a>Evpj6p5BTF9=^>v>+SNJrMMly@5r|RW2d`*~7i*g9L1HI18gJawU
zKoe}ZAoPEgdVs6ZEEq50>D)Y;V$3M&>spd>J7UO-G9?O2@0(m65p6*q7Ky?|M+mtP
zjcN+gUu5xfW3IZYu#Gk6Y$J=2nr2**RTWnWr(~n;ZN*WskU_r6h(8EWvDk?Nh^Id3
z(@m7}$Y5y=HsN(sq`0k)gXxiIl_sZ7$T60zPHj9(N|qTo1mY1oC~Ab_kuM#{O$TAv
zQ4v&9d{nW&xQUHaN>-)WNl5VIt7>S%@KZO`eC~}lB;xJ%ACEm#*kn->(ds!?aTauT
z1=ryWpjX;#m+3QY6-W_R!YZcTQ}<4~e=;5`2ybd`9B$f7XCpFEA5kb#Opu+}gJMUX
zF%(rrMHZSt-|H^58xd$U)cmZ&ATAlS2<tx8>MSc7T`$s!Tx+36W-!R&q|Af?LswIq
z?=dAvh?QRKvgjWq^Tibqw-ehZNm>;VUC~7m5fy)~-z)d(Rn^hFZaQz7I7#)oWyqY}
zcUAtYy8N&8=x)-$(03Hri+z<mr~d#BpM}D+4%=#VNyK6wh;{TDDAsco1$JMhe@dtQ
z`RGpKX6j|hQ;O`WpSJy4*-0l+R8bKZ$Ii;D^U&>+qM}49J{Mt6w*LUr`t_pF0+i~g
z@8r6lsl_EC**5d{^Zj}np6QFqrQuWKkDZtOI=r|gN4WOWk1fcFe@~y=_WuB0hpbfq
z&vD&&q9((>{{YvffVoSlx_^Pp)oj7M8m{)fC8YMqYFo9KtTQfF$;K~vM1iAo$_cr%
ze6~U%-50C6{V~>k1kNL86<8xPta0n68wj>_DJddYnG<ZZ{8RF-q4^LYAyNcX<|)u)
zk?$+oiI6n{QzB$eM3x{xE-OwCC2ag6s49vs%k-+I`!3yWe@*)7k$RWGnkVrHzs^+P
zv40nXyh#KEYWH$Gf@s`PZLtz1CfsCEmmQGcqJTLTHfO-h^aZ*eO1wN>p{9pr6G-)5
z%Tuu!ciPLJWDs%~QzchOZHHTtWhTvD0(vDbI>$AgIpj^BwVkpuTW|#6n=oi{Y}Y5c
zzQW{b6D^e`vP;Rtvoo@Km|J}bk8@}Mip!3lZ3-ZZg!6{tqX62L>&%DK4w>o(X2xHq
zGAl9**e*Ea=PG18PFybk0Gg5lGtH#-)fC)0FyxEQr_zzzB2Y@Z#nxz-6;O3gKC`dD
zv8m0DH;L$enL`S)S5R7b<wtaoqna<}tFoDr>L`(M-4#0d%#1P@MW+K=j{&c(IE}*A
z%u6!KuMxkG1$(O6cS`O!j#*enj{DbLsdS5AksfiOG=4I?0N^^(woSU|w5HhiTSF1x
zsk0MG{X}a9RY#5bSJjJ}TptUrmJHTpRrRy&>~0^5;5^Hd8+tkHX7@F5^EOb3d2Wa(
zy$#64B`lhZr7B#iu9;?wkHo6S<t?5;Izpl}waiRulbGwOyq%t`F&&TvUIe5ZM=TtK
zceXUSS}|!})l8Qig++L;PHDL7$eD_P%q7ER#8GfNjdoO5v_wLpFL=XaBB8k(?g{*J
zN@SRvEBm$wZHQZAKAA1*Q^>NWvDdPDly;^y#Wk7>_l~OyD;_dSPx+t-s6{BHH5^yy
zRZ<Z^?J!(NRr3k*@;X>>H70^14YL@h#Fs9f8j^%Fj?2+nSDJK?kdLyAFCHS`{VpQ2
z9oBrWQLGz*pUIDBCPWr$;N;`nb~Khb2{jA?GaO?94<`g!Hu)1{-ZfEF=)+ekvkZ?H
zt-vTUHOB1wJ({UiZMYMnw(y7ec;y_x8t#fHyb5I;8*vEGe^O(A^w}YdF~)@YQELAH
zIg?4Al>_A+)X2DnlTOKOvD<8_<z%-T54#JgO~rNgobAYm3;{|>K#V=Za$Bww2E2t_
z;w`kiP04y|sqf-Z@tPVrFF84?D3Wp+PJc0sgehv<47a*~rp3vW1bwBFud&G;Fz8bp
z^&6^~8&m2c<`s8z)wJr()$=YBSp+wPk=D@B)}$=Bd{n>|A{aH=QUD=V$$HX+jM9qJ
zGsni((uTGGg_U-m*)se|Gh8%x^U?GC`2gF5@}RcdpUeaVQxr~++%&P*J%*d6yAd0}
z$x?ihH`Vrp<JzfFm*qH~4OvfNkw+7HirU?Z=U#*|)fLi^W7#PqIx<RF!c9Bdd66Ha
z90H*9bE^3UCF+K&P3v^_Tt&-WkyUdlgjg!-Sd7!SVABH6xd>?8hk9DF*pr5`;t?xi
z*A;4N_7GaTLe?>kWX_y*tWu@CuQ#PgY=sP%A$_7Tkn`>LyJ;>UJ+oqjd!ia<`#SwX
z(9oB!m`-zzi;m=s-ovM)_VDWp&IEZel3Bw?ftK5pz&|It3EmFc2$G|zw#;npu&#`s
z3fPVwD?hdD<_@Rbe?~K{K%%C{!%RRdY%J|#v{WtCVPkmI_gf?*Y=E0URs|4TanWf|
zIT?$H=E$pzrm!<8nC?lhdWo7_*;Y-3C8`&+@>M-O+=kw0SV*HR+jU=Q?cE1UjE4Z#
zvKL!K1Z!wkuIX;G;B^|GhP^g3PS1Xvp~i+P?KJ4aw3^d#rp+UYsv@?iyks)-F9{zs
zCA-wiyj_bNR|d>hP*hrFAmyP=j@+8pnqj9NFLuEpabVG|Ejnn8vf_a+6BHi4XE$c*
zfqnk~8ZG|K&Tn}5eo~KFF`TN)Nk5<TW>W!{W-rOKmTg=ct~n?iE^Ka*WI9oi5#m5;
zvQA<s^9nuWQ5v0b^%135^$vCFA4{_RJ!%OAESB<XGSP<#O$F$UlRe>d0nXd;B*|-m
zMp-e4fk1ZC8m`DCtZ6kk-J{j@uw9h0pj?zgAW(6%NQ4fy%P(?X4Uv2ko>UQ4dPr;D
zoWgTVVQAl`{FcWZTeyV+M5*=?=Hmejgh3+BnA(~#HScg@E&({<zTY<y#)FEwIU4sh
zt^$Ph?a3-wi*sc)r(Ior^#!chDB^S{qI!WM(sp2vKEz!&X%@(vNQ9_vH3iXpBMOQq
zClPy2aYG{$QRzKRKUg%vjve-T%?5KJiyG)sTA7$Vja+w~2?sU)5!_-7J`5m}D)728
zToM!^B-^TnvRz5RvFbZ#@l0YRmwlLWPKywS2!_G7S{EcqmhXIDal_@f3yRPPfV5mm
zK^R$96-#%6S854B3fq??NReC(3b_g3Xq8-$_p)=kA|fh%hfL84qA*6#SABNjgfNDk
z3D<RxCLz;ITr~s9168@I7kQmMo;7(cMZiRXy$)H4vl+i}AKVOSV!;RtM(9a(pLG$^
zQzsS9`D{VZbDFoO*z8#ttwwQ-Pl$C;B2_(-ixFv3GS`!=Pn|5?VUjZ-UPc5?I`n2l
z#XDppQ(KQ>7Ff)zpBl{V4psD*7V_fH7Mms%*P+jTJ3h!Fd#2b};+%|vLAY(aisFBl
zs)NXCwA&4|#Blow)9Y6rZTS-<CvK@+SwM0IGDwREo0_WlINWn&+g9F0-*Y2M1Z=KR
zu9_tWzJbT(7h=AkCCJ2eV!B2a%`O*@@nZToX^PLt=w^yF6|1^+h~Pz^UmV+uVtt6|
zA-4H)QZ0;?);S)pRKkwjohqx$BxDgH6*ehLr{9RdlM*C}Ewe7Ku$*3H*wRzD>&--(
z0&&Rzjjm3S<Fc!?%5EbADbt#4p7y%fmluVT)WfWuPd%;G$Gf7`S7gjKTy{vX?6HWc
z-cEhig&d*CF=;rBY@Im5H5$hnnDt80Qs)w4!DcBw5;t<CpJa;62i{b50N$F(ESB8_
zF-arIaAC|7IKNJPRaq_}n23W|+wxWU9dhS(Q++0BwG}jH9?MQvZDnlVE0CDvcU>5L
z{wTw*N^l9VC03n&Lu`=}_#T(6#igV;cs^N<<}6Qp6s|U}mT1Ylq&V!j4~Rqu_(`oM
zi4ExDYO&npU`mc7X;ZA2ejTS+)EwtK!ty*m%w|YpUNev2#H_@vB<;&lab?S3WHTVY
z=1CxQl+g>i;wz2nEjPz!`k|w#$|GbLes7RKhTS$y!;%2oyceRjFfF3AU8myDvThQC
z;OnB~X)z@>ZJ3!M==SkPBT3(W2HKr3=%jQKn2Duy^B=9&ak<mnM+m?$okP;xww97D
zMrhr;If;dYSu8l@mYb1VTqeUL`%IIN-+CjWvKe)ScsU1>bmSVH>c9C4nuT-RS0;Uo
zc>e$eq|0d{D-&WmZNAJSGg3!ilIzl<J13Boge2~4h)dG%M6RV=IdMyj<<}GkaUHfn
zY|zS|Ba*}G>}O1f$#%v<G?7>)lW>%Vo0<ryi8i?7F&_zSYHbK%YW-2zWz8)V$vECJ
z#D;;nk)$JyGb!5hvq4#E0;?1(k=D<XU`yE;);O7fCg!`-_Jxmpg@Q9+Ktk8~hL34J
zu(7TB9P6_5$2zBelH&`$a7xDrkWDid#v84&qEZ?N<ipWkL>}k?Hbuw@R$iZa?|)5c
z>E=VdiI6p?IeNsxaobFMn{w9|lH9<T8cV`zNGRDbA}$+-Bt!bPRY*Raamvi<vTlNF
zHaAgZ5bWKmtBD$AV;Lqs;*t}ehRB&6CAt7c=_@hban%)5SZ0UGYVvPMnwg`T$CX%N
znr$;U$FNB9EEVIPOgU{5IuOfxA;NX1edJYa-EpQ!WV6Iiwn!?Sax;d?_@;GS(Q2JW
z*R}Rtm6J&3Nf4lQD?y<jDsQJ;f73-z@esz~V;2{BPMFHd9G#9oSW^E05oL#Y$%@m&
ziQaL@&k(ZdimxGMOPZpWTK@poma<kw*Z%<KES+)4&SLme7HgBz*%>)JpP2eal&a8(
zxykn93vI74Z46VmoR_6PriL&%9;>mxUv;`|a#+<>Y<o=3ioSa`mI$szeYWx;DD1Q|
z1@m?|I@4_n%B`!<3OU>-6MB>CXIQO$TVHC9vEULZ7|-906zXy+M*t#Hu{I;^`z~X^
z)-!B1^|#DZa@>Bdl-N!y5XX^Bi~{F+>CDsYyEB^<PHSCU&aH=5TSrZ3!Hoc`$Mt@u
z(W>`#Dz;?V_^?QE#|2}>n;Lv!0d&L;N;Hm>O$wX5hl(nZboA0}GX|6DvCNkf%PaX~
zbzQsqrdn;s8<91YdxV8^lZ}^cBf5>Ytpk1KBm*e~B8ARu;9l3imPd%gkTnBTsP3^C
zSyntk7U41OEQ*>SyCp%UT;STMqX6h~L|+|gJvP&3u$^$pG8|G!Q>C3fGgkPkeWqi?
zlG`NMi%l{+Mg?u4Q++#*FKt>u6b;iC9ht2z2VCE8%F)39=ZcLfbzkZ)CLEd`d#jjy
znWbZZV^$17$xXtC8mz^FGj0>8>LaqwNHQ*~fx!W=Y!HzMh;K@6HC>D{qU%;KE3+)J
zBW*M?o3@D=xCHlQBta&cLW?D&Q3MlkO%>oVY|xcD&tJrw)r;DVjZXAU>DgsvPp(9b
z>JCL(L~&%;#c19tnCRf55;e1Kk_zlffCI?YchC9(>Tg-SEMT_S#&@J^mtfg8As$0t
zi!l1aW(0;+BFJK7en=73*$t-x{J!FdhX*%QrwjDCB*EqsB<Kx^9yJuc$rzk-MlX5|
zPSyMPt<~#;Lf2JmC9_Kh4u?J}C52twsE@HOB!t|}@o}c4p(gFLCXvJ>AqOQyXnde_
zEBKFBUg>^WrGBmR`O|J<z?BM)?j%EzD&?2Jnl{b$RT0O5NJv!FTW}L)RNJDvKT=Kl
zp7b7hUX6N!Zo^Zl;EH8fjp{LFZ8ZykcOok+3b^6+(dJ8m@Z8IgI@-I}^Q7+Ghms|P
z*BqEa@|=}@!cO|{xgjq6my+&^s=T*d_utQ2A4|ZTOb?E4{E<!~n)x0|FQ{UBDO&i(
zqs#pZ`T<d8p?blgk~J#I96MX75vqUUbzJ$TQ|%?z#8}AdY=g>70JJQk%u+#dNjtlc
za!kK=nwzGW15>b!hbE)OpSx}Kt9s9|?X24+b(e*tG*=W6MM6>s)Idr~E5$k$)1Oh=
zv!WK(R+?9rGh6t~2Vq-8j|d%yCOd*$m~p2>k--%*;;Zn!Q_8CKQ=00|rE0B=OD#vv
zEiT=I7-GV5&T%}km=F<0n?mpduny=bh)Rg7y7jLH21sNqv1Mz2g_kZUO3>?vQC`Q@
zy+$0mW}`8mS}}bo(|T32R!)S6Tz7PEl*Ex#i3s^`;d!rw->Es)rRMsdk)B7WIfUDp
z&alY4GGppQLJbRGpR#NMBfi_J3T~^nK@C0JQ2<ojzEMm2bv2|=Ug~fCl|26dZ|~NC
zh8DXpXsVFC<Pb`-XjEPvNJ+Pi*KdXDd?QifYO1Ow^{V~4u8qr|f4C{SuaZUc)s$xu
z0b3z5+iisxWJUX@{r>$CNj6vbSmM$$n#lQ-*P~OpIi#|B7%4i`eg3l)Pb8>{tHnI8
z!g=aOQsyX`1c>-i&vvns?8lR42oFm^@UM^$hPnQ(-sQ)Al$Cm+jw%X<Ca9_B!tSWM
z{lEG>cWasuijtBl?YfuW@8|9R0LP%o-py1&!jx99-gk9rNO-EI+x+gGOc%_Lg0AcP
zub;P7Oqn8r87e2;d4Eo($8}ZSNUE#0%DZ?~+pZl^D|Rehd8VU_W3VsONIrb8%CGO^
zt2nA+ov!A@LH=~#&!6k($5hp2%3Dk-?xx^~Zi>Gvw%dLDuU8e5nVB88jk0W;dFI@0
z(Ab+co;HaUH(&EMsq^;xbPm0dG}&L`SF`c^n3mOZ4lD6pM_G{CqLW68x-XyodbYZQ
zb*j%>tvi);vZn&N<M3-jG<Hvz6Rsm{iXssYbySfzQY9r{mFQu$S6m43TT>$>K@|C4
z`(Cc_SQ$2bh8_NvY83+vOP?OPEvw(3?Q9kH-(>h8BaHG!yJ+eWwr#w8fe{hWj#Aj$
znLZ}ELziShl2=v>(JS#rYgS~|2%|`HQ!IP8loztdy7@MWyjP23%Vj0lP`PnZ{EJ_m
z%<%~r%}TgzGj8-ba}7BAmg4q>ucc8tYKzEBc&FCdrpSn!1LkyCq=zn?td(Gtl=iD?
zmGj^oor@JMzT@WWE|DWV+a&PI$fDyULW{|?UaIle<+Vuy0fX*IZUajBI7V+sbdd?i
z51Mbw%JT8!ivHX5mVqm~!$jkrCfh=cW6n+yqazPE<f%a#Fh-6~8kr)OloVZo1W1Vf
z1qXHN*GnF&&GQSKM-tQ;c-NG)?@gNy#cU%g17zPX&TM-UK@gR)kL3A~uIa~RxWKXA
zG_sotH>|E@cG{<@6c*lf!z2-s!I>a}AQ|rZ5TI_U<y3lhdR);OEhfhwsT-E()WN-+
z5y2zKN1twMqUX45Q;GtJi=fk@oLBr)ytV{Y&d1`J6AMPCMP>^OWRMf0JHb6U=w5)~
zF)nht_|@&focxM;7gBqcZcTg(oT7Qt=H-i^f;>aOlVimdMOUQ0t$Lu;Jy|C4T|ITi
zYZYQLj5jGCZ61(LBLyYIUgO(?QXX*|ML}vYmxNK=FI%;vS@m~5tbUqHc2P21YTmCO
zscEMHsPdV0mkl9^uQ_kXh!P@$tO*l6my5!$A!lgUqPKMlnf&isFtM+bZgHi(iZs&>
z!^dnOyh6*-4TDzXKig6hE?tmp$Tm*eqnRvZSVoy=A<o;E8!d;I;z)`BLwD!R3hB0k
zSZZtou96H!n(d>KWIsL$F!UFsIDs9v5e*gfg$NvQc<zEyTiiaORcLCSg6p15dLQtf
zE;otPNrJ>kQ}PG+ORjCGN)5^O&hFEx-9|)NQ3OB-RJf4>BRc0>bT>>SSvJkQ88a4Z
zK|P9wLP4-k03w^l+H6XI+h~n~h_4U?1W!E)*m~lsWyh&;oL;6gt36`JOL^^^?nnVc
zAtsSgN%TSjR{leOD7&Kcfj87=es(t3*P39%{W=Kp$m{aeFDU&#`mDqIFKQ$B=1~Bm
z#)y`9Eo0(EF$4TV?nXg1WxnSj<J?gY;HaFGkZW)Z+a|~`!?Qc40-GSXks6*1363Ef
z3_MZMAK7@3o2|OyBY#Q){I1HqUuHh6GqIw(q<~hF>=|dfkXg_+hV5H&M3fcvUO^j>
ziK}FzzQDU|zgJb7d5m0U)L8bP<u{Gf-p0qQF>HBa_T2U`8F5>&wO?#t41-na9y4XQ
zkjQyZex*_BmrFcstn@w!1&~cI{7DKfKbl3dgDW&*4TZ2vi6RyujX;ck;?>q9qcWwS
zxGnbglpz8+IzlcVe1nqgomk_T1!kmV6Er~O%sLEWOo#QeGp0!Gv2AVJZON33_cwI_
z#DX%LNS(G?Aw%S3y;14@d6BcJ`DLatbg(AaRKagdD6D8+kd!g&-g>ZQ9KlxtUuBny
zN;XI;k|Zg+^s1j%EnHXW&O4H5mXuP;w!g+DL5YwSLp>t5F4A0IcMcf5_x#r$MfXyq
z{{YHimJ9>KToQR+=8_$1`&aNS%%;Z1f8<u5Z_d65)~iw8$#YvQWrSsht7?B1wm9&)
zGfxbOS%n!96h#f<Y@21R)ls$#*I_~B1MzGVQmkdyNt-I^=qw`_HBoQOW56=v>uUQ<
zZ~=MEkq}dnBYPq2D!h~0Wsv9E?(|JP(5Kyr15fi8?X%p+P%7J1zkOoJiv7EgTiwJK
zl~AjiO_2f$HfjzKY~InDT|<GMWK?NgZ#KGYDtXm0r%7$LB#OdqhuscHBMFv_95<Uz
z;qx>@K3ges{{YpJ4X8Z_K4)4Zp>+VgetB{lDN+X@$>2Rlc^bm5NV>^6E;Xt&^lIUB
zjS(d<t(<g1K~#={JXeY@F(h7y7c`c|bnJT9ERh7kvI$q<t+enkhubMfw%ZSrMN(4z
zUkbiDmzL?}WQmN{-X(3dgV7xZBefV^lCj(%E)BFzkpoWf1rR0NlsT^H^>nHAL$6pT
zqn$p;wToFZX6v$AY<6>z9HouimR!+YHocj;Y%;vSMSiCg4b)XtRUzw*F;3bIPKdHg
z3xPdyKsnB;+uZBkvL+VPjBgOptY~X&Zx)T!IW{b?(vu>DU<3@l<0wEXu1jn{TP`TQ
zP0B8&wN?D>k4Lhwr+)}L3!BP&3j(ye=h}{w0b%S+xbuv<BIqHP1{_iYLO|&aj|IlO
zKaF~C)fXlW#G6{HjY)O*u1cGiW_A%fuwp#xNR7W90}2HoyJ(2;uWyQ|r&?zpr^B-;
zw$=E}q+uINTL{scn$K`wjSW47M_qZaXr5%aE5hKYnuttJYNn`{x!sc*9eWQ>K6gGG
z)K70|E3%4ycy;iEG;a~LnN>SKv6X}3lO;|DLppMiix=X!NxC@ixME|*@-m2~Z@AMU
zsHfU&ye007YemMV=9y=x%lztLRM^Ogj8RHlEo+1rjt;t~CA1eAiS;`3DlU-;0IHLS
zihw>Uu?*I__5C-x%~`}+#^}JWZ0jtfGrS}tWL#<GX}@YsAs_=oC_Cu!h>;+2TUxw>
zOW<P>^=l;4?56p~+V4VdJ!Tv#igpOxdueVd$Z3NRM+pT14dirM@=6;@;K<9IE>GW@
zV;tvz4ZQer37LY-&9R(m%D0`zY^oTVBVBCNwT7h?;^aiJqN`9z#4-|4ZN%o+=5NfA
zI_a$zZ&P4)*@MtB36tvKxB}HQAbsaS^+6X}YD11SG{oHRw9|^HV2T2psdPPy)nb=V
zNYz|oHA9kT2|Z|-@~K9W?;rVnf)N8~cSLVyxom={y#7QzRBBy4E@xAsu-4KGmGujg
z=FCvfR>~U;s7ePN5ZXeUn*#`fYJyUeVdSIG#|LXWLv`P;Z#37<lMZueH2Z#5di8Ou
zHjL>->zL)N8TWAg@iA=?$w6NYE9*{Cc4Riojk_rvX_p&-QCIQ}(IRQF?jzIqet!@;
zUsNd*Fx5O&j8@im9Tn)&Bwi$g%dC~@wch2oz(rY(%t&rJ%RCt}SyG-B(Ev$Px}mIk
ze|wn3*9$y)8+XyJXEAA3=2b4TEQyoFrvN886~aJmw&R;Fygk<mn8pUm2rK<FaE#m0
zt!(=0eR0!lGNOW#{v^tKIy}oHxMr#M5C|rKI|+sujLC;1kdHW#)li6+nyQvQCb_hG
zO-7WW_6Axujiq>+-D+Hghq2hT&W1h*R)*^lrT5AtR@b&k-DFu|!UJ(tTWAe9BVwv*
zs!D{ox@RTH;Lx*|V=vBjvg$3iK<sM)tzg^@*zD}!x-w%rP9rX`%ZMgXjZjFO-AwX(
z`1#&JGd+<jBS`eINyM(D%AI9jf~JZH%wc)9Uzq!Zt%L3tYz4ydo)sb6+2qrPCEd&!
zP{FxzBT!M^NA^f|&oFKyte8pSt-y|Lh%}8Fk+4K6sz~BxhdqZW7gxQ4L7Atnyim17
zJR`Y21)OGTG1n`tXWh_S<L-gYR-`o4VnS`;b%9hdR-zu`#Qccv3D$kS^$~|?xA6ta
zX|+|nm~!nv!l`BBGI1+`l-2zB>nc~YBeQZeXvQoUG}K}g1Va%`-7VKkg*7FdTFoh=
zwuJ1fc(W}r_pKW?q*O&xZN-rIz09MOR-cTnD}*NV<>gTYN3Z6NxaD|ex@*3FZzj^J
zRw%{Hn%e6a)<soZ@y18W1X;lp6}OEf#g^*39knw?c$|%zLOm=DanB>O5-L99<wZNB
zg@A!tAF*4rOFc^ZXvp%0?sS^BGnyB(znEo9x`46Z(b#cBl#3Wmw;|bmE-AFAs9%`s
z?AGq9S1-<N-*N!JwDyrDSd2?c$oU7dVTdk6l5rd-i|c*1UsMMHr+Esx1lgJ{-G4N%
zF7jLnoIcY>Yvf;B&cB^!UuSISw;HOMrW|@lW#?tdZRbIz<hQZ1?1d2_a8VI?Zfpvp
z)E2vF{0lq10E>=SvfP-k=<+EKw6-;Z`$p3!_R6&$8xe0}a8H6FfVOIa%w7^0NON6L
zrOI3wiKGM(eSl5<JFPO5mnV!`Sx;GEBF;ukOCi>sj>AoaWe#GI+Eqn1+g@lUJk?B%
z2}8BB)WyaFZ&7t8PbJw6o8b9cJCVkO3fATczat@2P$>l35Gtz0-Bl2gM5_YEn7|@2
zNn<u_Rc)4%OxLG35xHHo2+`GGsJZ#VA}tYsG=hKy!-}GyZ?4}@({l|YnVn)8Rcs5{
zl~AiE(_UG2p~`u;#3MeAsSw4O2;qQ;Dx<BsU`SpGAb?@cDXf!2YO9_n7((dv7oxS+
zEYBIOhaP2Y_N<t)f`Ble81F~3fchvlt~BwAlx|!17vvGXNSu^Ytn|ZIwK<o(()xsc
zlJF!+u&~@-vuVVLBGZpIEwOpV6qpw~jEeA5Azsq?Q8^xw{Y>N9UuX-4ROVSNElg&y
zETXR@ojyH-hN9b#EJqB;q{kIUjTr{hwAdmGiYO?{$~_<YlEts_R&O=%ayZp)$(fnh
zxmOxXlUg7_<m2*IFmsYWlx=bm7R8b-eo%Ge7)&q??EyFImz@?wzsbbAF<}8g#&wq3
z4q=asOttw|6Xwc>76|KYi_Jk!%A>8AI_J1o6SS|28=bTUocUgg+^fU#8km}gQwJBO
zIP-^*z_dwj&#{=~m?R+Fc+aHA$}v2_MkZ8*z|)ZKN7R{=#gA$P{Feu|x{84Pb+nl6
zu??rAiLotaL69x9BI|An5%6i{YzW17B_v*#SnU+b4N}STZ0{3F=B)9;psv2Bn$$mg
zR&H`|-+i*#qe669Z1^@}(>p8w08;T=fSr|$QE{Zg?5{QJioS=O>z($PLD4s}lCQ+w
zkkUuULPUmULdRk}<Y(V?&=lt`Q7E>|IG`^!%AuJWpB|b{Ro75=>2(^5BgmxW&N)I@
zO+{AICD%A={1z=7ZM7&dqsD81w&I~U4i|THG!=u4W>7y8ji<Q&MO$M&s<IT!bQbVX
z#a>67ZcA=TM@}oqFF4pd*tmq#E*B9+Z8{^Tp|-^<9E+r|v8+ZuLn&rSxsOmOWp_Ep
zez_ju;tzC=M@Ke%jgx5<cyI&(O#DHRnot4P4y?3bEjJ{TO<|#uEM_jCdWFki)FU<!
ziWE9IjYWw`79hA0>k;__+<8n~ao2^hXk8=}5k%Qn))A~aRbXw&)BG<Zxs5KxfPVgy
z5^(FL$tM-AYdzh8^=(J<Uqvu)$#NkMms##bhGV#6xn@0qyJu@(4n18YypfpYCFYux
zn?DK+r@@18UTGiixMcH!(5mh{NTlN0iK!ugQRi2gw48yzYZ;l>IecOEQl3?DvPav9
zz?^1~_f#R`iNOH52I@#|8fQnFVQw9JDu0s@lPxdDRLru@Guu3QyKGAUYL41uqG}>u
zQykQS!Y7k)#vc6DA#Av|(jRe6v>nk2QYvarQAb-lC)CSW_0Uoy&cS-;8#oNdj@W=Z
z97}P1l6CR~6(u!$b>hBwA#0f?6!pMnQZ3kiq1cVahayR}9hs`H5U*^BQ@F3XqJk(p
z5;oS$u_r+6<Y7^gN}rps++GpU<A9Hpscyd|&&>|YLM@`lP;Iu+vQpwtZiu3)v$3W2
zAyFf;8i#%q8_jFb>s0(@?Ov;Z?K^Hsn3fJb0yH-nYyjGA9v0aqL|sAR>bfR|rir?8
z8yf10j8eu;m7ScEnL0-CqsEP29AgP_Xq}J2e>0gYVon*M@g0!?3(6wf9?LT8S(<5;
zWOmZ(;G#v1B=QK)$tgX81zAMXY`V*G5mmMAHl_yAsuQBSbi$XB{{S`xE+b)3k;SNC
z1~hiY#n;gXfP-T?F?|iM5fW3`!d^U+bla^XgKI#_PnykUDb6G~3ZlCwF$`BSs<yhr
zrOUl$tj50mFJCf?4BS?Yk!-_Z0#F4;#D}}`KcjwtGW??Y2C2os@H{dly^I*-{l-IU
zCUtCn4>GQ{(<0L*51Yto$NWONg~+(3+Z5eYu(zeJpLi0cw=O+<PR4PUM4OKKDhfQY
zWr(!;p(-hCV(=#+PAFUTO@V3#MX7crGOe6bFm^R#0U|?3CL?k=G6v`)ii;f;w|i*X
zfjZ!*5-FzLG8nSe+NI4m{xm)cZjNVn`nOdM!!^@6c;l}FZ#JKc!@IALA5jW7HKj)0
za8VGAw}4br%JWV7BebJ!inwji-2VXbY*B2h$oo&oK^`bd21&l^h@z;e<u+fkCtR`c
zs>W(quNq{6j7Avot6NrxVm7PDhmfZeEzuKwy!rjtu5#xbi7pu@5aq~IkIw7mf4@x)
ztEwy)2^nvy@Cw^4gCb1|0xEXn#BHHpsZ|M3K9nTiZN&$d$tM1K@MMMv2E3JgqHn)n
zIe{;4%K7v3{4ZR|RS`CEJa76}rc#Mougc;n3u21Aysw?MPQNewz14Ty<E~0#8!Czq
z)923nCtkS{2h->J^7&4^b?Sxjezfgy4ZeOnf8UkpLscrY=NrcF^9yWIEK<gx>+KSA
z?;B|y)GqN72ayukK(_jozAf&en;~$Y6yQpq>YaLOQ}KBt4-j%hLg1>KqAuz2{dy?Q
zM<t%{rC0MiRCK>1^tYQ>O9zMfenuHw7Hm<@Zc^gPZujDB$~fSYjFSlaYQmx{crAgT
z^5@f6(~h_4#%G4##-`0<(pF~Aw5cx5{>*9|n_+ssK?0ubF#Ez$$=$dwW-$?cYQ1ay
zM8oFh^k-FBm7N=o%8KOa5G&hKv1O7~_OFsClD4R;=gRKCw~n#zsNdl6TbEC3A<#_G
zBYVpi65guNV!~mV<k6t3V9E+UoVF7M+mNp7xp`e^@i=+o$sx*k?4)#3woJ_x3A=^s
zOb8yRn1?eZYLYgl$7;xF?A;#N**6#4$by19D-zp&ISM@H;P%AN(qcQgDzB^|+C7Qi
z$nV(2J>BFe1}&N?G)9WPREK|!_f%Bzw_nelO{Dd!rEcT+cD3mJ4oM=;OxkKwTi9~s
zTE?F2bU4D>CfR}vmeKa)kODOOoK;Mn@<F9qiLaR)I&4b`jd;a`$jwBjg=EP}b}P-V
zx+ty;l1<xi1>$G~$x+7N5m8k(ho=b1hG6l-_LbYd8)Y|JdgoLlRoWC7@FU2N?K_Rl
z3sB_a#9T#?XKl?@Q4tjn$tot_E74$zwf_J-hmfLjLEm9jP1pUtI$P-;1Dj*`#dOTB
zNq#J8?nXq0)wyvUbOcPC1K@(%aptkWM3HwyQr~`<Lh1q`3L$y<<F@;Me>-)VIA9<*
zWpqWx?p=lNppXodzR0WaopfzUOUkP6^ZO@U(8$#r2G{58KlJO!z5<F$DvBt(>^^*S
zl;tHJ1P&?pUkZuWMx_uBZ4Gu*-BWM<e%(YOCk;_k%I*4-&s`C~06=h;>e+vy@7I@<
z#$DnFD5yKC{a-uvL8$t}r}{gOo=2%!3RglFoG@^jB3D#6qP9N*r}ZYozU%&-T?75K
z*->^>`BnMz(wEfTWO)*4BFx6>@>rG@DC~+WirG_*rx`&+ej{u$>Ncn+vhx&clI}#S
zuoq!#9Uu<T46k!zsMQzc`PD8(q%Y+->%WOqz5^c1+D`^wgxUCTw^Sh)+fqc}yLnyr
zMDx-f>sBM<mhzzK)~jRbGXAxwbAu!{r6bD`(QP@yWm_ojI8LCtfIN_uvJ+7iRGDY1
zbzYzKev=fnvz<$)aw1L%@FL(|%woDuHb&EoyvrbLqLPEJfSQA3J1P>Y^f#>9e*BE;
zj}p<A!Pr)o&Dm-Fg$?LdIK_&vN+}{sfMBfl5!M7H3X_|leI(egT2RKw>_v^mbpHTC
zhG)7!2-i+^N3iwt9?G34vGJG#F^G=1<!zZrRt{@?NtKb=CFLDeP2JT~aS!t;bZ>J$
z^8%=6D%46T_Lm7Amg}lkLorfpq9H>@m_re1u;i*F=<q>N@yNPN=mfCI^4zA^9FldJ
zmL*K#vfOGm<iVhE$<8+5N3t*$q`9{sZNMiLw0OxAbWu_${`|($s#(|tpt`9R%3Q&F
zy&2ReT;G}VY+8_}Dx#`_G7(V_5mT=|CKu7Veo(SW7|OU^9&3(ssZG>FXGAS(RUV%e
zW!bj-6WvCZKm*MjbW~Oe0MLZc_g{oW`c-G@C}^}iie5o)K?2(&g91E~olQ^@=EH5&
zCRvsQ>ML=>kP-`oze1vKvXXSPt(g)vThA?gc<Cy4zk0%{$B+nG2BV{{xa*<DR|0d7
z4Z#}~LoPdTCU){wCZ;9jb2AubT>`NR%acU4qFs?D+u}$O!O<4bfm>FKWJM<ar8O9f
zY~S@TPoC%eR9N*b1@<{B{sC%f*v_uURz<EEsJO98n`Ir>)KRy^<!lXvcib9-X4p33
zw!fLWCqYmk;8yu_8f8-wZZ7-*2^1*JY+DHJkT!fCali*QZaakIiP-TK4YVaR5m7bM
zoSusU$ZfwHohH7pt<@P>st}?zE#xMJWk_|z?{^$u%Z}KRp(BVP!(~Vx@p}NF*0@;4
zu3%w@W*4t}Og`WFbtJ<Ht%{05YqS7t$#;^Fk)H3a&7q3yoj4qib#HE~#VmmKw$w#9
zE)l3PaOQM}J;LEJMKd3GbpHS$uBb^tR$!t)EK6a-@4_W)3Dj{><2OxEMHB@Hbdl{p
zlaE(rck<n`%Ps4fvT_B~!DY(*!?H@mW}HMu6~S|0Alq&VsGBD8DzhrQR~wllH^b{H
z4$PC^GaekVgEnJ4g+@bcIO@cZ1lKm^H`_5k%X5;B>aWFPUfRcxX<>BZEiIjd>DLU*
zSx-Y(3>_40)i8J*;G?@;*3l6}w-gcuk-6q;vs-&^sdJkXnnnC}TCYR$=<%`$*xj>+
zOuF(cLQ?Pt^SAWhr%tA7=xO#nCF<L1u(AOT+cT#$**(co1+haU{KDN3MOVt~y<^I2
zoLb?DwHU^yx0J1UBXaEFRmg}f38w9~Z!d*>Q8zUbLQX^BH$_%1L5o!D0}!&{ff{Ah
zbcz-j?5IpS-O~|_SBkjuDMxS+xwhbvD!Pb@s)VW5J~s;#k_jEA_FEVnY^;URGL_h=
z*`7(Rcy^sXKU7`A+|6Z7FvYB_p_)b}2$zC!`rQNIqul}I3FSn`eY#=Hs?+@QL-Bik
zP64aPV!qNWn9|BC;U!xxVA`sJkP}Et+a*LHL`6l}I<U!O>HLRNQ6t%xzOATPaiNRc
zTXX|=8ds3hbQE<^kV!;&aaB(VwoT0SqgX7m7*#X$#xi2}vRON8s}f6CthW57$t1T8
zhDll=1#r~f?YM-XN#R$dLm%?Tbmc8IwY-NfRO#dxKtsl0;Y-|jo@-0sRNk1P;DJWW
z++QGKt~1i3J8NYbU5xx7SG%o)iiFCu%@4;CX&p_~6K&&Xdh>y3ev{=MqAZvv>nJe5
zwv}a6p(&S*W9~h*0wf_GJeS78ger^jonswOYti+^mRX5u-kaZAX0fpR-okEXGmu%Z
zcJ>4~VvGwyjJz^{TWAG4eYaqkp2Va|()7RRzIK7>zw(Bt<y5h;hV-8pgMWrKbdG`?
zSkhK%k@8e|W=eJ4$Wvk##5|%V-gXtNCDN09j;7;J6m7+^%ngVOaM=En57PZK9c7Cj
zUm$kbx5;Nnv6m8(!6gF1lEY~g3BoQ!-?J9p5mXgam(2wbg%HnKGZ*xe9xJ<vmy%_Y
zD~`vG=Qd!X{Ve!I-L&RNyZx0>S9RG^W*37qh|pVQIz53_;8SKwdQ`foO^Jl^7%anN
zQBz?BR^miNR857pKs+Mv(x=pxL73^bgENs$jXNN{ufr>AEq?<Cr2FxniW1~D+9H{D
zx%bqYLo@_L+sZFqh>5X4JB=yU+b&837-N#P*1Ugur1qp;Nz9saF4P@LgG&}v*zFaj
zPn$Vf(7wZhVB83bPB@{u5W1li!g$qGOi@(2I>NN(s{YC>JP!xV=GQrG8d%Jr#6qS7
zryEi)rpDPqOXe@HAy(II_AvcQh!Ke1&(q8}H9s5GD8Ur+YMTZvTE+Hu;uyMB&q8gr
z9_y_>@+z<ZtpW^|*UIdxXQ%@r<3G66EF%|+H`0bZR9sc$ZtvU0h^h<QiCrLNNR$NO
zsen2R8Gp<*LEo)O+cODkO&fKM35?Ow3b>;?jAILlcP|mr-8sgrqt{7}-c@-0C*o7A
zBr;0aLvhz!6=|m16?0^Fmf(Wer<LfIrt2cGC*PDs0c9N3iCui?&PfXx)L*%@d$7xg
z8YdDK+ugx^!)*b=MBNcOt&&R93wYXlhw4=Nyt6Ko5FNs2!)l5}f}4%DGoUOal@?1(
z8LGV$kLcTSa97IcjB_H#DDg=0@llNACt0rw=H|ZBi8YkuRSXm3^d~mie$CC3i5u<g
zzgL)XA)$@QzmFwu9M$JO-U`NLa}r**)7og)k>Spp5BaL%v9M;xE1Kg;#;jjOMP=>?
zg(QcFM`-woB9V~A%(9Gf1U509G0Gu3e;yLWgC>H)J9W6EeoBs%aZxm34G^36WGZI7
ziA)4h6l+&C79J~%O2DWx8BN<|H0xgqOlHkSlxCEIc3PhkHFjH~d#@8V+2Ck`0;|<F
zAj0R^oeRv)#jL4rYT~t)&2kg%jJCm`D(G>a192T`l=AZct|v45AgFYvVVppF^xL04
zyfmVF=K$npr(RsT`A3!(dTknOI1VcuEpLi3O-y>M&E}!VaiAt2l5M9ICpPW`iAE}D
zh++%LdQ(#8c|6TXkx!c6SwfFmzSZ1o8jw<1MQdSL;;n)ki^R88+(grThv{C9E=I8-
z&%!Z0dQ%j8E3#^^d&>Gq(#^i;xZ2247rYRNp8SozK6q@XgLfE~o@SQvvCOiKn-qZY
z#%?-QB1MPG{{Rbz+>q+FfTBbnm}uuU+*LNv!*>INxOLaMhI+iTw$v+CX@XhIl^)?;
zf7ncnFGq(UkCbCTO}7%;>f*a>yKG#OZygq2u{Ke&3YtqsU83(aOT@)D-<O@&bzd8N
zC(qlYH>J%*!=OegD%`9rfG?eG$aO8e=*DmnMbzQ|h}wbg%oTWomft;SO6wY_NJ`Y0
z9kW41l;eo5lCQ!dC!O~H0Ds%BoW``nIU#*k0!Gh<0=G*2BEGxN@~oOkIR*HTrz|$&
z);l3vZ-VhKbzBh@Kihx;F2&@$b#19$p|rC}XlK^tIn^Cp$R`+|YTC#c5N*>@0^P+#
z+?BHgMEN1x=caKz6~yc{C)yi{xVgkfa^K1lC(iyqulDOaYImZnd-40-Pn`6NIaU`j
zZ5^ntePaaEjw`?<8JPr;1XAq@2q3AKf+a%eVSE$K{{UMHQj62ai^Adm0OQ^}ld>qX
z)d^HIH2GUNWtE#2j;hOTW`em1lpaLlGKxa^B7I2ODk`Uq*KN9mq`IwNt})unbk*su
zV@n~_j&q=+DIpsr1#zJ?-2;~)PJ0sYE<QYT1E|<epkdmnCtqnbI`&Nr9C;$KrxGh;
z*ww~mmWc_tsM8|wxT=Cis%nGrvZ8ouX%0O>iRpE7ntzGGqGs9>SjuV$tDN6|^Au6U
zFU(&gio5OgCm-oc<At#YHstTH<^Cxnl6Oy)&Y&A^df>V0oA|A@6P1|*Nb<4u3liHQ
z6#3l5hi@XAuKVw|#{2EkcxY=1T!;{>-h&>}5~I^6SVx4mAgQpH?tXU-lVkuy<enF0
z^VMuATA2e?WMcWf9L0-r^?|dJL2S*42nI<V<c{)kWcJw<JBlT`82!~yxieU1J*&*t
z>IQX&*<~!%%6OW{=Drsa7-iKVVI(xehAzlWkx5inhUx*q6*|_!VM|y>ZhTfgHy55j
z=Qm4m^{?3;dXm(4Fr1<b47HL_(4;YPh_vSwYR&s4ZM8RD`o#7|$ps8JHk?TmP?dZ!
z{WRV^s=}Ex9FqC@*7Zv=wDK0pEWnE7eod);ErBYZfdLKxf~&HLa!|c3(EPVrrb5oE
zb2suTm)(8V>?TW4XBvsR5k-c6Nzz3`10xY5Kt)v$5e}^@DW=yBPZoZ8E=!+|IO*8f
zDwO!{JsBf|{FrV(9&H&m+5jP-Cg?}S2^lLG8QG8SHT|T*Wo(_P9nx)oge5CK)O<@i
zx5;(3?wcQC7_`hP%ZnDqX#;zqI?Ei?PG~r-kjDcRGzC;~MZw~Gr+%-oDlDFlOtpg<
z{363To^4{XJ;}P&f`e#k{D&Unz>v@k5DmmNG7&`Ln~!2z1s_-SkaMiZQDM$@k}PQT
zwaz^t-eNm$5}`KphE6GgiHfO{j;N@iuIM{cdd$SNzZ#>n)_bh3HJu(iWe)N*I*HFm
zp2)EHBnZq$J-G=Y4>wbiuLl!|{rdJ{=XhhtsRNY{CD@&bfEic~DtX&-d^S%#TcoYD
z&Z#mZaxFdc(E`Paa#2THR3t@thXFq@(3KRBkr!e`PaCII;p#^M&=vx!j;char#hf4
z!-|h~kCOB43a;Xt@=iYppWC5tS(x6g>Q<Q7W`3Kh?3R7(#@oJx-SWe1>)nndrxo|N
zYAb-MB!&seN4O}3<Wr<SM;DiNu(dWOrVYbSq;JGM+OqYGa6t}DEXILBUfqxnaE&%@
zx3D<7eM=)70E7vRMwIY9QB>nUZsP}yc@*gk^=H{uyybj|F)pgoZE;FY+AM%HY?yb(
zz>0<izl9b1sH*MGEGd@D9+rjH+HtaVYTR-DD$9(yvd2Bs>k)7f1ygSc;Z-{97g%Cd
zz#N3yh~W<70><PO8gyH5za`DKa8v-cBwj1Brs=YE!w_>6x5-+tv~pcjuD#8mVnPUu
z-UGPeF8#hq^ca#Na}G)6SFFKCf?6!J%}bk7ia(nhX_Rn`g}{(X@hKzA9nfFX;Si0r
zUxN7*_+K4W=5fW#7_y0%ez8S4JUflD;F2IXoxRl1kx2<YOnE2IT&yND{KGgaBRXp#
zf^rHzt^IRZMO15$DzDUtqp^7|es^8fKFP3Y;F`mvjSIvC5*-s&VILIj5dflYJoy2d
zY(k;3{g<F<0Mu@p_ZK#YWJ^tK?CAZ+?g&NWMQjn$B`*kwf~&UsFOAg|RS^`o+o9b?
zx~ZyV+Psocm2BWvxW`p!Trbv1+~vSmVcj{d%eLMTRJxrO$m=T~vXffz$nJI<XjFTq
zsHln};*P?r_fq4xpDVf|R>{-o`Mo6C3&(}%lU2qn-B$<cX%SHfHbL!@F3O6j`A!0&
z5{tbE4P&b95k1d)GPdOmP~KoUxSgV9FkNNG0KY&$znq8*3BzHPm?ibLpkj*>N^ZM}
zc-=`qNqMz<5Ua&7XYFidT1aZGM9G%iLVf`tp*p-p5K(sWUm&QyJo!cbO{dtdDW1d8
zXY#gco^Aq3fRG(IE-ZM>auJY*WWADXPqr$Y#Z=J=P<W}tJIoSYTIt$kS2r={Q-jP{
zL?u#I+c8lSAWs``R6#BzqJ*1xPOWgDX<;O5rpg$dcL@Lo$8`@5$}w$Vsex~d-p7y<
z8d0aWc}=~9L`az9_Hj`Jxo^1+>$0dSbXh#H{N9;a$p$-iY)4pDFfAAoX<BeoVR$(I
z0LmpnUP!8fN`<<0TsnVO3L6Y*ysG$~?SV-FPRchGRUASRP!V3*qH$DD)I_DS_*7ri
z_K>cu+lM;6xRz|h9>=zf;<!yXq+2R|N}{T3xGviv{CQF7GG%?)vU>yB-FBzYrLGyI
zby|C#L$1VZtYE>5AziVohjTJPID)8vz#=$8jRNjUDkQ3kUVQa)jpsHPHbC{ZEhrS^
zTqH?2<MuGzki$yqrzW0jWN*ro%N(~wX;i+GO}gon==jIuV^|MV!LK(>xR75%S<Z4&
zX_p*zcG*ak7l+spRTFLcQ(!4iq&JhIX?7iRlj=3oK^&tKZO4xZqCWC=3FgTSexx#x
zLZBjqqqm*yA+yF#r>#niJ@Ci{C_2zBZzBk+Yb#?WX8LsNHC06=BzzcbgUc+mpraYJ
zU5Jc$k#SB&T~p+^+$i?n%#s}Tuh}{=<rG-Tp(I3<hq&^h6U3Z+eJF^CynH88^t$&H
z&P?%(9J;pSE~AXtWRj{GC50XG;%LGdDxsk4h=`=7ym=}n{a(%Xljpee?4mgt38a1S
zEt*C7MM6<U-8S5jexzNuMBl7d7e^rmyw>4kWRAXw7dLMvvb$zJADJX*#N%>XXsVee
z%#~MVMvQjfebos(@8@;u_bkZmB~~{U)+l$Rwe>#B#H;;wA0jHgH~aN+)-c15Er?BV
zUwlwrl0mty;HbT|LfAZRiN}4u2X8y`w4tXb5^GRaNyCgx#)gZ;Q5VlGi2kKS`CYf!
z6+YcCNf~eiCH7JP=L4#ri%VJ6!!4*Sve5u5Ao+&sM7~7{6J$;)^#1^VK6)LGqEIp1
z-hO*&7ALr#(IHraZ7HF-vX;Vto1mg`9rsm4P50<_mE3@)4l$TqAlEE|K!+JrL`2JC
zLtpc5iod#f@wZVlN*;TTY5xHHJIO3gb9nTUi3)43krT{vUfQWIl~LJ2f2j4-3)o2p
z-(}{^*MQQ~RKa1ID8y?D(lZf+ksFLrlw935RXu}$)!{t;-|5uYQQ*I@oy<p3-Ierp
zhdH=K_T3l96xk6|<Dq$Rq*hAy)69E>2xx=*FJ0qKP*fom@JaXUh7(GHiL!uh5xzu`
zXln`tGjWoAl@M`-L@{3pzWi5hw@*LU<F6R*F-wnALam==XJsN#aaj`Oo2FZ)`;j6h
z-#$DiTq5MmKNX;o3TOt3W47w4w#)th0JlVGKCVP|+y>hxfBM(cvZwm}x{dkRD6}KW
z^H9Ci(O1yd1S;`RX{6W#l9tK+*L7b%b?RSnsLgEnsERJzlI_>#+mP#98EhX5w~oF)
z1t$Qu;(?&JhMb3VUA%QMH8)j@3n+01zj8v{R2G0&a@)y&+VxJ|qfu^TN|K*O>WE~%
zMHAsVDnuY22%C8DsGD^SYoMX8IODRG<eMke(Y51rr!m%{RZnB@WYy2WzHz6ZOKeD+
zbaqwwUO)Yc`2N2?zfv)*eTrV-H7#CtL(1frOi>qagiVveA}54Stj(_QpsILJvL{~I
zgbkXK3XfbbG@>TP+Ji;w+BDOI;xsAGZeBO#*U?2(<fxuJB5l{?G(zL$Re$T(p;TWR
zF5kaP2KP;%rI#YzO+<F^o_G88;#z_=$;S(2MMYNk-4TDcU0vYV^6-eCJwSGRNhpTW
zqlvfDf_{JL(Se&p1cec&nR)bihX|Dk4~aLjf1ASZ<A1C7@yDpk3OvSzwp|qC$Tmdq
zqKonO{{VFTx|1GcsgS$UUIO#7h$5=^`;e#4@49sn-sETm`;8-_s-~hVx)Ohtf2#e^
zm*?Sp^gvLqIaJP$+^12N6PmP&Pd3Klqq^>jD5<xF@`{`P0Ji->vUWi}u9S6g9ppxa
z*r1Yf^YOZm)#VrE7sr(9U^?YlIPu4ILG|L%DtT<VZm6lcDsTI4pVNM&-l|1qR#LVm
zsDh^d0Kz8z5m8ZBhZNtI%d(Ph(*XdXLheXvD+?LdNwjQ*1MFyvzZCwPZo7He5mh(Y
zQB#7$c1?msdK1pJEh<PzjB;>Sj^JvZIVZ~TO~=Zv{(7`l=96hMo@+|eVq)V{yG{<s
zsGLOiRYX)(R8;Zf#@$!XnO7nsb$7@$r`qksCqPxE(HC@4b8U$i@3Qar`>#eFR1Tpl
zhEZo%7BWMN1<0V=!~X!vb?lp6!&F_-1+-oVx~}M{vi|_pYZ!qW8?OkrQztabZHvaq
zG$-6ORUtwX1x@^YJMs<oUkbh^ORKe~lol13fSZEf7UfkuVuYKn#E1pN)l>B%a!=oG
zsc&;h(kkDemyO0@NjQp&2HCggazqvIh^yy{Y>2*7ZjLZ^Ns`xJaC=#DF5R%NLVD$c
zIWdLP+^ib&-C)<_pC71K_eD*Ysjo)IG1+M}TX68)y_9M|iYgQbl~r3L+w>@&`!Cs1
zQ~asb6gG`9<;p0Pwk+|<BK)7Sxg3jeb8otV{R{hwr|r>fy9x^k!7b>`hAo#gLt@U~
z{!X5%gUf$_5;5EML)gE~=g+gMG+Y4C60T~N)+CZE$xSVUAt<lDA;;VxuW%kQPXvT0
zr~Q@j{ko5JX5?oZW#C{KP$hJyb7)&+e3r_Bs`nCA`gcJg<JE35{f%=gkK`Pjw4*<6
z5>>VT0Obe;$y#v}<y;;mvV88@4*vjB?_ZlX#q5^<0Q+N>$grKM4Og;H6v0v1K|v5h
zbW{KpJ&{MjeT%O~+{WoIcmk+<G|WcwEbK!N#iUr|mk{1*4b^SMalR;osl#NB+PC^q
z5xz)mpCv?9>p5qXGO+8HF{x9dNRu6~?<^-&+Y?dWiWbO(spH7*E5C(ao>_&|3_`If
zD_}~eq+nZOWG4@4l7SGERGmL6U6uDS(FjovD~+h~`9jBZCFMb7Iy-N&)RL7r8bM%Q
z0bXu#MfzLi=jXyHb*F&@IFKx*#9RuLai=u4)sPrQsZH^AQnV4K0jmh0N{U;F3ZBmY
z0FeutZ{apxn!06>#msSuzwr5%AF`%?O)t1~+Li1@wO(T9G(uKg+m|6H5k*tNDsR%_
z4mjnuKFt<29=z?Ef#S9s4Xv$|PAI(GW#snO1g-GzMMXnJ1aJ&VQ91{Os-vblyGLV(
z=JEmxvXNv&j}_=aScvk9vaGsFZK&?5LP&^;z7uaf6TkbH7K;$4%h?Ru6j7FCbM!}E
zqhdGtoA|9f*bPcr`0hARBRFKDZ-9vsim3{g>YMUi{O`Y7S5LLuLNyZa`2;fvSC`VL
zMb%fL6Ju==QF#~vrw2AcB{4+bWZ&U@COt;_Jh|4(<<98y817v~VSy$lAdheW_g36<
zZUjgKsw$sv1fF;5<5X}=#{$y%*`A=@orY%)62`{v@rpzTV2fg}H``=4<HSJ_zQn7x
z+bV9knFb^<W&zq;ia1|38SXTzd7%AG(cGWWPNG`t*QM-5tLjJT-D>X=Zh5xNQj+os
zXeg=OkFb&=F67?p#J1b08W)^e`jL$f)J{K$3~aL;l=)Y&5<`M7!f=!()SHA`5V+DQ
zv}B+2QKj8BROrvrU#YrXaK{~~vtkojTxSSnKp)B((4I%6v@N5GT!WB4J9$9niQrW>
z?Uvc*mENbZH?bUvBWad(RCV2$iVQVbZ^R_Ub74VLGhKvL6uBy@c->Q?1ctg9M|=%<
zfwCDI9N{EqyTgGfKT<KQhVN3G$h7w%2&*QM*DafM*BB-nH<3nJs3#6C3ZvU{MC6Yq
z-%{@5!ZcQm?KoUovK5Hdq_>=emoeRV)I0s;K?g|{T0$~L!NhPxQ4s}DN1;zrS>-KV
zY>Ychq|{X1+eAo~8Az}#_T4ERmH|`At4k<VlOG&W=Dx&)o;?X?T924d&s)^XRhe4#
z+&Oqc$`x(Mke`k9!!9M;an>JU&?RehCD^u3Xoxt6$owN+pc){<#~X2OVKu5X)EaGS
zS#V=uv#Tg3{toLPa^O8-CBY#??SM8-M~(tYhukz$RUMEKH{44W()@NNL3ZnTEqn<~
z*d2~dRYN#tN<^B<chST@p{8GPr(O{REsb5`sktXjeMP*V8k*K_O?=ILTv!HDjzcRT
z8D$4!c-a9$?eQZ=5!K_xIeogp8gZ<#^@0qHU(;qIV>c%E4$|3JLWE${I+)KH0GsX~
zVW!CAvmg+ONIlcYEA^5nV4;?Fnh*x(@^~V~zBu1-PXzw})yq9I#`Mb}g@;l>hXWd~
zan|3CqT<Uw(vUc>7UrsmTPUig#lMfYU&&@EEHxGl{OUZ$mbT;sCWJejh-*r79o6?N
z$8^P8C;Mt7fMke5gn`JH$MhT5wr>*(^lfPwZ)@zN*c%WXnON^O+;ofc6iE>|qH)<t
zJa4|=zhBHoWtcol>89vEKYf>dlgHct0DivH==glNS7jtr>%F&MFZBs?&IuX~Hd`}5
zv>(x~w`5fLR)*$!tBT~c{9O=*oJUD8-W6pXlnpr%)os3RgKVm<&k~q%MBRGO)^le^
zypM@wFx$#)ZL&7Tfs4F8COY+viL}1rT-dS4jD}!B2VZUd!3fP;L{&ji{%mNbsM={B
zt>b#1Q3_-4QC&x#<S1f_a++xQI@a4NFDChqlvMh>{{T&`s~Vl9(eo>BQF8T$qQ_11
z8;aa+6BOAaE<D6}pu^MHd^suCk+32Uh@ud*4x$n%ZPZ^-!kDomyiGwOrlz&hshE65
zcr@PY0p@ttqIyR4b2m#UYoyiV+4&#@+TrB~o1pSC>}QmX9&TDPq=>7;w?_p_fS*qd
zHo+^WYn?_-DV9nGXBzJ{pq(}f97H!EtbE3VzJpLE+-@zqDk!Rp$#(Ljj$dBhmFWFJ
z=$*LO<FN+j1+&pxyN8T}lVSsCE}iI@GA=gJpaJkx?Tim*(<&-vNtV4o>V}|SVR;?`
z^=VLQMj4ZZodan2D{wPPw#grk*AiCIiwJH=iMHw{q{<fQw_ao4h{J*f+kY(&<v8Sx
z=YbSIWA<8mD4TPbMuCb~SJdCJlGZ#{wRr@1&a-5$R-{PY>)9zfedSkJbwQ;wQ37O@
zIG0Q9RrH1F<1NMG&Cc{UAq$eoV@9}rh!Q>H(n1iSl*kR6NaJA4XWuXZRDWT8xdvkJ
zbZbkIR?f;{YX&2Ugt{`otFsCieTeL^QJpqflL5CL?kEcqmG>4u>F=}x(_O+H!CBPI
zD(4A}XNcu;?Qe0*z!(kW4wgj;r^yM)ECh*7N1I-($`-5|jVYvhE9U!c><%h)=NG<K
zwjos;2#z;7=71DKrGA-YVem2!PoMDF+n9L;bMq-L=&K{U4GscMj`dkhc}#^Kgsw(D
z+)(ZVTm{YhOVHIPqo~LcGOQl43qHniHqe^Rom!ijP@)=?XaN9(;>z~Tw;3V0+pjl1
zGmZ<+avjrNO2+i})^?6NsQO)~R=91&RHmHBVbV)<0+LgW_Q~^tjtg$J@@>A_fg4=g
zG;oCzq(-XXy1Rm92XmQa>2pT}f;?QR!qEBDcAhrTsbc5n15G%*mO}z!(3um6*4|Zz
zaF-C`_l7(ZP)AlNv&k%QhKA;8rNLGDUkgv+H3K@vw86TU9)j{p$MHx|B6~LFFeIq4
zRGW4L;4mObCI;GqyC2*tFK}+OM?|k_G?tS<VMVB-mt`5NZ9kbBnPWj&L{4#vC{LFd
z(}hYa&MT|4!rQ37PThF9)IDRyaw^PIQG!&a9T((L&vFZ0!FiJp#44V35W7<uA_qi}
z&6zAd)V91Sk41Wck7bwGO=bn94ZoDyV<z@pr&Z{J)SSl|mIkw`V>&7$9@0C_lk5Wh
z3nn?XyhX$$IV6reJy>i>HQ`MUk<@UiR8h$+`CK?#jdrgw?u0Q+7K_zJ1Dj~JO^w=q
z5pz>xL#eoxh$A-CawD=YNsg?#DknBB!6}puNa{2$v`PiPL0*ig^&3#M-iOo1vgB+<
z)V(ap-p6Y4!;IVUXLo6yjZHj&okrxrom)AR?ja%bWgHUSNjiSv6Ro{ty-n)h(blil
z*6Y?8Qq*}Nc%&7&k69TJ#^GEyw>UOY(8;xYg&vMh8W6a_sv_@FG_}l2SD@<d35nX`
z80LMBzZLuvdpsrL7cgWjnKZ6;kx`_M?72_JBqeO4%XnH;Z5iGu<&zPP?BpS?EvKLC
zTzV}jA!Zlp<?+<FHF=GQ{P`5C(QixGVC49>s~UluhBub!{XQ+4V6!VCNr7*14bqP;
zs^FYPnw)M(f~0aE?7Gv;pzPwhh16YJ(#>M@!KxXDscgGYEpRM<C)D;`w8Zh4fK^o#
z^5nF^GuvguQ@oPVJ0bYst?dvu<|LrdyuY38;K-k05(H3_GWn~<cQ+f48o^acL#Y@Q
z8FeI@k-jepp_7g;%8wguYirY|s9Y7yV>^d!80#*gTGlZ(f;EC$&D_d!lF$jT5R`5h
zID%qm8xSfep!IWLnh6?9O*f_eloDf`IC#yiHQ`mA^3PAcleIG%#oo(wxR|GdlFu7F
zys_JBiJ=-jawTUOj!bRWnSXZ_VKVch&Ar7tijAW?O|@#*)84e>V|`tvHaL8GhNR<A
zqu;vDK{`0c1N=d_)-D4~H~?&~wRpYHH#ZSfMN|yX{{TrTrrE2>o={{_bdE)g)WdTa
z@tA>WLbInb$pexN^=asvx&hlmKob^U9xrkc(fZG&SR@*c=ld+GlPWrpN*j9Fh3#cq
z*St!o&4K|Vo$&DBzS=fuVvZsqhb3d2!1EY!Ikx*(W49!dNnm}bH|t-zM(c;Gd>d9P
z<H*vlPZ#+Pm`t5DoVvoE<`gHZ;7%d;V2pdfYrK-xqYi4|uee{RJg-?`@()>fUSK-a
ztr4{xCr@I@`$ltJHNBHt9VR*<_;fcK36bM75;6mcFdFU(BY*<x8112MG<!`R&SYmA
zXM$Pc87zs3DD7~JhEp@8pf%ezo&zFgVLI6CWNmYBh`jx3om@AO*fG6@MZ2woz%H`n
zIVu8em(&QHRW}|xCg16@b!>P!Nd>N@HYs2IPYoML$y(}k^hxa~^)>1Cb<BMq(|tM0
zYV0Mrhh*F<ChU~W82|?)!)OKOT^8F{A9Pj34nhW`=$MNZ(r*V9w&b?(5Tc2;zd?9S
zl^3aZcQJ0QAX(*j)m7A**94-<v#tjpZ3Ox7NgE^JoAUh*4-_In<GSxpYV}hu3|dO?
zhYgm{BSdLbfq+F_ffam^r@|?2N{E}PuItu}EPP^)y2-@J6t1fU6gjfCY}_;>*mo_H
z%BNITlSGA0ONw(%m4E5f`v>>phD-W(`bX#Q_xSVG9f^t<kRquHF6+yEkym}Z^;-p$
zWZsG$l!O+@gYD<%<#zu7r&KnEPsBEwm)c#^>Otk>bl-3MEB4>V&r@fZiK-G3DkjV4
z!hc?>B|2-lD*5ERyrOvj0JQ1gC6h%>aUorC!XzD$b`{^w+x&k|{vA@<Jc`)@A|~pH
zs7dqpPOYs>`-Q>1xen+=pSJx_S~x;|?a?+w+s{ozE}cG$brz}}y|$5ORuSCCZP^)-
zq9i#o=dGaZ(<4<KkTof;sqoum0ucPpVkkW|bqCUmxb{J3VW#k)q$ay1cv$*A<Wm^$
zk$X#8*324yDYy&WdOOav+pX{*WI@7QUk29RmdUBq)8xgL+lkqe74mJ+RYgQ0AyiQ>
zpDEVK(T!=-xw=)1xqU+!`-leb^6s5!)HIbYEHE@_(vU8=y|HlnZkRTX%$90o=#u~~
zt{>E+k|_j?{-;s0)58`>+@xG+R0<7r%Iq=vnOd1go9EdzoUo6N;JB&RW7v%^bkzU_
zVi7CL+Y(k=eWt-TB3=HqR&2@m<?H~g%%q?-92*+C*w!l{`nQM)vF=$ij=@)vT>k*-
zaT!iYK_qlRIEu!}?s4n8=b~y6LjGl0l54E*DISddga=eao2s7UtqfbIR8UakBDnCT
z?Fsie5LXM@tEHCk;nL-|lIb0rA+{h>W%1=xS&GLdj;*Ltqq@~hhD)@b(bY5&Ll*tZ
zg1csy2Q*|9t?9AkHUrA~)mSQAN&Wea*V?ETI5o?;P9dL0#htO67A4+6h|<(KD(XXU
zTxI&8fhY~ZmhWsuT4qPJ5;8(jQ6`qx1h>A_oDJ-Ly5@a)Bsh_?7|<lK9=fgh0wPi7
zgqB)@(?ZfZWaLLc88)5bJc%1$SNN!FEi_wPKDv%ew6Kmuidm8Y%U;+zjDz0JUfupC
z4u~6Z*kDnz5N&*QQ-$TZz5ym)pj=<s&Kn8OZ&sMoa~Yikcr`5@Xbb-Ulv|9a$=3;%
z$Q4jpbGjre+>Mqp=2JeD=gk9TEqH7H0I%6l`h~_YTUwfl&t{e~@%C$#pv&P^vks>q
zG&MzfxSK&M0478lMMlMrJXOa@93xXLD)k$S+0~wm<qulMrK+!x?l(@%7NW_Y0T;OC
zd^TQ`+wL|i{{S(jRNGF&fTXSLDM5taQsc8@*!n`78y~xx`b)jSXe}OPsj+ytitCX3
zsUCL3UB>%OvW<wSy&29(JyWK8qMCqi-qBOpK)Z!mGHZ2mG2x$B;YLMZC(Vjti5Me`
z{nALnaT(vZO|LE@z)Rr`kZHc-%kH@9Hd5%#j>w~0^{yR`M)n7f;&d_Ed9K{p`HhP$
zz?UrB2@u!`kyN5SDxu+rlsn4OHbx?g)h%bJYdmi+m=+D<^wMEd1%^F7*H2Qp&uE4l
z$CnW&C_W~nt+4A4J_0Qv2(_}WK{<Awdb6#=@tS-SP$y;h&QBcPA;-cxLA7L>?l^5Y
z`^}4?#Mx4H=D}T4AU<3~x)svRESsj0DslPNGBLv_bEzG#d8icfVYY}asTH8h;!DNt
z#Z9gsnj^EE6;aKH4EEjC_dY2`NtvjndZO7Fh5jp@X$dog=F)JuvLQy7Gbf^o-Idl4
zEw}rPO_v>cCADIiqMX4+M%5hdi(gT<PpG;bhU?vNNp>DEldIt-EpJ7PSVWx{G_+3H
zv@F_?6HPHWlyF0FSx}p4!$#1#Du-dY-4sfD88eq1os~Cu`|rlqIW{#G4#)x(dDzyp
zMB_1}sG<_fZH9ME`{Jv*sljIQ=VDXz{{YkeF&WIeBEEEjs}j@^w+gWC$CCZ(Olg=R
zGtF8+HE~>U#fJ7r0H5pU=4{Qx5-L79->+4<3*tCYS`*__Z9m0d{5kV1Pt)d_<G4OE
zrP&<07PA>@_a&+Z-x~&sM1`-BJ<$LLX0rq7aO5Z^(3~DhLLxgtCB2C<&B)}n&MPpL
zk#VJv>~mL9rokR~zLY06Lng!(2YvjhZokYtyBWvl`kKQfO`*l%;n$gDtPehOAkQ9`
z?xkIvxq&ik(M(&G%l0u2Of@xeqIyi0kr4n@H&>?YwXI2l)m~0?aag2b%AAId8!b98
z8hSp;!h<dok=$1S&~dH_^l<WsB5IsOOn5G($2!)krb!@pss7$n=v^IUxg<R`#oEYk
zX_#{yiD?yyMSBiR-@|KTyk)zMGA<jPlOZI0(~2WsP>%sFxobWtjcabAL9D*L$MR}O
zR9)K|6LrODp;y4y=wZ?KZ7H_c`(xZ!kea6Lrs0~A>L*8~Y3Jkm6P3icgx9(T@9HEt
zHSk4~M0g(UJj<=9@g0q|Bq1W?hq<Dpr+>w4%LcO4Z65U#GIflz;U@AOXSDZbijFd^
zNMV6`OMr-?t~Ah#ipOk3(G@yW7$W}n^*dI-YoVVO*w1JEl&xErPTs0ycx?rpdE+jl
z7cjAG0|#o(L}`z_tUU3)B(WM!>u&R5Nd-GfMq*A8fZI0t_58bxM;o?h4vKRadeZFY
zR6K9{Bv%@KBNd4IhZx^*0N*n;L}c1FH$qjVmz~eG$XLi9s)F6jH^IDe*Da*&+{$UQ
zb!B_EA`4B{1BNLinsnAnq=ul^7dZ7vPYx`J5bP+luM&N_WF{^z<m3+3V)AXuT6=SZ
zPAN)lJ=(8uno-@w+0zg$*LpaNYyrlge5^;v9`Zn;Dn>_@e>1?Uv%@Cjzl;lvN50B(
z+)HZNlf#NO{3voPTZY@uE24reGOn9QpFpd8x)04{+rg!ByVK3x)xE6|S;Dh}V%zo=
zYV*On(pFggGEJ~jGe?m7ggk_sNa#v`jy*@0Nu37+%pH)$bQWtZ#){I;C43-}GE43>
zE=(Q{8*a32q);>vV`rRJS@27&w$gF4nq6Ufi#Hd?FgnEVIj5H1^0G5eNJql16zJ?n
zc2tL+06suS$s!QCh9VA|pmc2{H0k=)a%kRZoN9w?WKU&cVd<n6w)Jw}f)H{VYq<lC
z69*82RF_9#iymQe2VZ(ajiG`WD@Db5P-erWI&+6Y#Pwqrqnkdm&GC00$r%`v>)?z0
zwyUtNDB&&~r-2mFwR#zHN1G;ovNoolXm)1`E>lyIXypz^8v8JiaPkWVR!m%iTX6z!
zVd;|P1giyC0ke8JfHrQTi;f#;OdG2n^bYmzq|j<cELmF4vSxkbbK1!UAu}RN?RzND
z-(V%j21Ul)G;G@KAgZXMwAz3K_=uX~B%xrx8~v3q2ZoN$xxULVdRWi(gFD8q9?7p7
zwX4WK`&eUIp^3|>xsg5QRcSIP9DypPNo}x>wp#$W_^^sZe2maH9-g&-49aM=uSl>w
zhXKm*Suy2FV*WYDi#sY}W0B4YJnMjtJhD;2<Z4YH0%%B0RToa{PL^rsr}+8iVT)jy
zmIJAC&e`0n1<dG<7Bc;Dw642Q{Fp8rS7H+m$R#c)*tn72ZRkbYN1$pas9aanjE3)X
z4^DW_LpA12i@d^SM%0Q-d=kl-6|ABFI+Etel_Y)SBT_j{8>E{ODGboe<~7BmG-pkS
ztvyFIp!yja;b-2rv88&VAfna%1J!JHsl89Xho<>^xWox|xm@gV=(KeAab1%JeIiK^
z<il>oRvuwqR0VBRK-^MA>XTA5{{TevZ~h)?y`|jRMr&l$-d*O;`-j|-UgKcH&PR}<
z>&&NR!*J2)?!|Q*0eFCb1!83w{QU;SCzazhl{PKpQWrkB)3`$tjmIDwNQ{Q<m^u~H
z1;^F6Eu=M88hMoxb<o|Zo}VZxboVpGGA~j1;^K~Ek)<q*XEX&W>5<X?<t?OU=WIzL
zKF-IM(K#Ml?7rNE<=s$Li6v|zl_2a?y_OtKU!^ss>cd=Ub%#eTX|Ec?AlcJg#*o#X
zB5?lz8e=4{ZbG=zjK-D^!Wbkj0WkWCDjTktnu>!-cI|d|ZA*;m9+ze_9?G=l>+wt(
z=Gt@_w5=6ycB6zja-zE_uIFjUj`p4g9dowdZA*{ORJ8h0s(y*>@$D9kNq&%Qqsp?A
z9@H3lsKMPRQVoT1fsm~TyyAlmpC+13yXr{l*Xdq415GhlmAd}-;dqqS{{RKk-0qe^
z<Mu68zX3#Doh_LHPsBo5isWf(t~RO!!-9xyryk;C4gh8ZgUom(HJ}nJZMi9}O7=Ok
z`i<%92@2YKcz03U(EP(68u<;|lwp-;K^L}N>WOk&7o@{bce3lvIMOtOA+zcUV_0^g
z(NN-9%TzFQuJT+w??AGf`bCRNNOmZ&o~)8cFEbs9DvHaH-4zFq>K8%M->XeT&nU1|
zrqNAV#H2unoybfe^Q;FVaq){PvF<f)O-Wo_C!v3ZjE*@Sw|h>sY|J+I74xe$S2<ba
z_0X~VKjm0AtT~s%lZrr{Hm@TWQHk)Mu9LG3MUul&nn@zzHt~rg=4$Y|31eL2N(veQ
z<!Xb+?c$tdr4EMs(#KKFH+1LK?Y@D*#P43i+{<b)Bph=K$Fn<!E1Sb@j1?wU%r_Zw
zTt{36)tcufgN=4uP$?<N2_@v-x4l^9xE&5Ji|KWCnOfzx^WtCXa7|#R!;IXsIPFA;
z^CD#HVj!KD(EZ4_AOTfe2bCj1r;{?xL#4v;YZ(Wc<K<&o*j!)AZq|)s8njhTgH403
z#f#sLtOz^qRU|}dw+WCZM$T>-j^t7&<~i1_&a$qzZnoI7AfIXvE;n@Cp@}4)c@9)&
zT9;ZB@_8?9*wVyE0q{d9<ip_MdrQS!bf@Ec`lDpn$FbRL2OZapD^Il&Zchg1)HY1@
zZQV74kmu$UrlCC}jF%-f8beA5^tf#yH!X>814P>{pt>SaT63#hTTO9{8s;oSg&lF$
zZ5x2MnH7l1dmVveAx^5usibj)!%xUFS0PM}Z*A^XrBZBmzGCxH4wW%|5cIRFY~y6v
zg(fjsihBvTOAQe#&6KA_TarHUwx>sA-BJAckz_Va8(U?~SJzwpal<Wi*DulwD;%=~
zazViiZcK?1>L}loF3E=U6f$x{O~_Fw<f=&+Uv;om9y?hSQsPKx05ogi#+?N#oW?kx
z?Bk^ewNo$Er>q@ohg%~_v)3WOyPHT+vg!&8#?mECvvSE>kssL*tXTlilvkp<oK+Ny
zig!^{Br1!lh$374)qJMu(Ke@lK1tLm?CQm=(a9B6EY~CMw=H`{5x+5A6eLkHX{AEh
zQ;_bPDlb&eV>twP-u&t%41aKO$>(C2AUq)H6K-=9P$WhkO^a_W5`6Xb7zi-<SU_be
zb)v<@K53-P;8bQ*)i);95j<>5^Zx*TdY@j~PHdZ^lBU7Le1CtR9T(_lr>#rZ=WpX+
zRnXo{YQNsxIVMWBF{6v((~6u#l-w0nUI?E8U(<TaT{6w_yuqv<elayIWIV`6tVVfB
zHFv{f+XYqJm3#`K5~kidqqc~+w=k$vx;N#m6n0o+x8G_=BB#<#lBzHCR8>v3@%#O{
zH`DDS&9w_2vC6T^S0q5I2R+o*$CGGC$vwl8Z{<K$Q9SRuB5teJt@PjNCrUKuP9*F0
zQHEMBRgU5|mgk6SQ@yzU>Lhg`kdYgTi83&`w*1~+1VSVvsnf3)#v=Ms^qHvI!;eI*
za&+ZlR#27&C05#7th33Mo@AnnF?W4Y8;suD^VxiO!^C}XG3Bwcrl1aFm7@>Rp7!Q@
zs3=dO{${ZnS|Jj$Vt}ffl6VyRe{Y_p!axm$v_#wK{@Z`?+s{o*+gk99!xfiHAJLwk
zV+IHb_^l{eMt&oNicJ>o$skhLRdz8XaX+H&s<P)1)ou1o4L95ff7fq4Yr`y(vae=S
z;t#^gm5pPpYNdgwHmKntZT8=9ANzGNt<eckm49_a-*4^q>b!{rL|aYMWD;Gxs`VfV
zcls4kSI+zR{{BARI%-m~V_|5FQ592dk$%bl0KZb>I3$8Rd@BB}_Ec0(pt32&2*nkC
zc2(c~x{}k13Wyu8)8v(YHrsXUgjFyiJRZ04+@c**c5tB+uc8dADN4f)Dla4_9O7IP
z#@x1FDxF%^SW)H~<V=nmf-r3@WINqP)u8RaE#6LTvVDn5lKd*F^&3YcRm;y|4Xvbj
zO@xGTW=^gdaoZvKgSy!&Aqg4){Op{!*>>Bmx+N-RQ<-8`c<o(;dGlq*d8ke_k|Z@J
zzNX-)N7)?N#Bq3z%d%~^FAFQ(mCiNLCa_ha+o;%-ESvCZ+N*l>dTLh$cN<60QP&Vr
zwIwm%=l)`l?z<|gdE2I*8Bs4xF+9gQ&MtA5Sgv1s4?}$4uLLUibTwizNyK$K%^cSn
zU#ZaVAv!!qewA}+qO&Ux%4sa(O{d8sT+_pPDIo;47Gqe8t%4B>0FQBeuIt<s{m@!h
zu=MLvbmGF}QLM45MX$bRE11J|@zAU$C$Lm%6S9p}xWeQ~XzL9Ko2bYt@g-<WFC6^g
zxlZ&eQwbT0q1%KrulSBHlj*Hil;d}`vZZ7h6>C$8r8v@Asutu(p9gMAB<pf3k+5+{
zfl1I#(`0BxV^OFSj=M36yNrCNSU{U4yKI-f)F^K>VhlL>G}DHi*L$en6!PeYEr69&
z>orR3A5M!-^$%BA!ya+Jcl^;O9dh~`cJc@w?RKEY1#vq_$+Il`!YTxcUPwBv!s5eX
zjxy*6sElVcN*YO!W<#&Y+6xo|oYc<hwJsPw(y-__3XO^iiJ-66tGZi=W>UaSN!FjL
zCYXs0aTW;kM)4D$n&bI~C0|g)TDRYr%M}*TnPs<MlHWOGaYX`2$cSyHZB@3#!dHkD
z8A4Zt?5e9OyU8dp$zf9(D{SLcHqJ6^u*+^oY1=zxH+D|MXerob-PBZw8x>VmRnFQ|
zsM)L0?Un{t9u?QWlT}MTbY>;VYIJlcbJ;c)LOR=RinQA$9bFM=N&eFEa1p7lT1$;p
z=&UU`NOJv^emipS^A0@Nw<-jvgv-v)jS?d*$9h@GW<zRe+t?au2Xt_Utc+s^Y8zYh
zRoF8~i<*t``}|HkihR2q)1!W#%HV5pDqEonv8Rs^9ch=r_lJ~N#~HB`Kuz3xxv^|U
zsoPd7^37?M*Dp{tlsL8AhGStg5Ubu~CwBaklB2Y${D3ae@MGy<qr1A7H6Ej7c^)}?
zCHw|0e5_KIB@BVbMs*`D1(C&8jN69e&B$aJW(x|+kv4?syz{_>Es=E+EpCoe%dgD}
z_a$2!`}nW4%~!sC%c}zw7HwP~2J4Q;UvKUjSmPiFI1e7r9Kc-Hhf<c|UzMfYEG@0Q
zJ`}h0JNSQShAmGncB0edHdVPRP-z1bt4S{nvyQ4GZ69oq9Ww49q9c96LTnXHIHiqG
zs6RvVEbMT)eH}@%nS_BpuEvqjCdJ*IQIg}NLdmM`s@W>MiUrHcDkM!Qz;r7W)FO?h
z-kmb3j?u>&xz_m%s4)h*Gv)8b4$|Z*$u`i&K{Lcm2?U8z)m2s2v0Hk7!@|2G(>+YY
zXesika&0ZF9+?t6n>h$ZN<}YYP-t6KM2Y~|2nPiuLQb6&abhLO-aPB}9&`zE%OnwI
z0i%^Z=gD!_++R|&7|vyxkMR1Vrg_C-sFm~>p<BE$TX29RH9n%rg_NiUj`36lXiUU6
zG$b!f&TfT^XxFnIiCFeNQ}XLa=^a99nS%yxE18ceq#~CvnS;f-9L;;CsJoCFtL!pN
z3hM2OtbbLp-9mb6EXZz6o|nySmn&o`I1(eIs`pwkHFc3ujU`(^72~lgnliMC=Lf>H
zZFPerSglo6<bLB5ucM}z4P4taXsU6TS?`)f<_PSuZ5rY2KuG~PBG%@*IB46~OAu?d
zi8oR-=byc8&XlJ5Y@_LMWjFwgTdYeM!&<`FmjYuol&i-YsF@ju#ieQ4^Gm%Q$nn}X
z#Y7Fl2FyhfMM~<hHnZ!SxO!I}O=_fPacsVJR=`bQYuGWHEG%Wo{JBW$FU(?0hEc(e
zQj7%G^mH$$Iz4@>)l$PEi59JL`4KMf&W{p}SMF>Zutz<^N(QR*N8Dq%B%K~e0{WY!
z!39q0iyhZS@qG!<MY&Bosb&kVWHn5KFf&t%LBge=UJt!c462zt0xZ7b@aEzXp-Vj(
zM(9Al0o4sZ)l@m8?;Q!S+@6T4{g2<w&2fv$y(*ICpJ|>r<hOGin=5PB+FUgq#8|Ay
z7F3E2T8|Dck}L8-)HcwJjn0qs-Mohvx}?YA+IMSP#G3pz9lkbBq@yVe@m8ErWebWE
zV2nuZxPnc(t?Yzis@7bWOf{k`uT2=nPaZB4QDDStOq!C`Gmnjcnz#$?S8!NST4DAY
z69p786l_Pd*`dZBcGa16RZcmlFd#rCmI6#_TkfPVR7n9H7)M+w3)^s%oRPs^bk$ri
zZK4BAk-S4k4R8Ce6YLWsk-fD+(u1MH<fi3q2-Mfg9X}~?Eb=+V<%P6S8I}(|N{Hf#
zF5uz#RPHMKSn4UVImH1nZ}A-T`-u99)e0RNnDcRQybBbQV}5lIzZh~0-sPuWj3i~w
zWY^>K4o-O7-Ek2`vR=0Akz0zjjMV9^LM21G_O>GxuE?g{xwDsKX`Pp42KbTehyvJe
zzH!E^aqU6QGhJSvsFNS3EQVEeGYefAipEwL41VKL$qmlR$0TJ?$rQMeiVBkMzot3y
z;vFD54|8Py0I3G{A)HUe(u>nhnPi$hruWB5i(I#NCZ0_kD|wI3D{N}+YmkBVB&)8h
zc|PJSfs(|q;kv1k04J0$muZS)H1qCoYLsgn$6I!Sl4Q5kW1UrWGn7^iG#k46k|wy1
z0U|0Fxm8tFJ(QbM=^d!O(=8X$+%{GVMSm_`=vc!T%uFX?k7b9QW$(;0aZR9U2u!<S
z;TN`umXx@N*W?gsD_?3|Hksn?O3AEc1X*&eEuD`ZQ*a*x9z@G1(<JX`fD3Q(eM#1n
z<?RP(<5KJR0cv`R0nDt%#^!ebpdUJ)ZG04L!MrX8Ltl!)oi5fpP`D*c#iYT1y3mjm
zlVt>n@+Qf{R@5Bg;kJl?A=is6ze)7NCX^QzmoUyOcILNR9U>>aYqDgqV=I$JTl*4;
z84DfMP+r*=$5eRcN0QUzv>5g^s4lzsXrxOAn1bwpmmr!K0bMmNQh=X+S&OamX}&^;
zgdn|L>8>-7PKf2!2^A@)Sh(@n%EPfMKX2cC71Bp+<&0G>CI*Uat73qtsr7hXPRy+p
zaRQuvSED(eXwXPgwF}jRYJEFArxmKrap`mIqg3LTnUy4o5gwFcgxW2Hqu}EvBIu)p
zTY+pUJhx7><5<(#76Fy&M7HcNW@edd6>_VoQInr%Ud*I^KmwO-vVC|uo2PHL%olBi
z7pE_)3|ln9G$%IHtdd@$-9$=JVwSrw)F`qc#wl*_jn1_}-svwSR3}^~e=JL3FR4<x
zo0{6_T4Op-j#JHM>INS*{VlAmX}K`%Wxrks#P=OiQaKgVoS59s+7YT8M~SWkL@mL~
z9C&&(T$)$H^sl8*Vqun9z;U%J;ag~`aq4@p)(M&><ce~+$L%4=)Cmu#C~+pdqdePS
z(ZVHhB)-H?rBT@pz;L;zG8Jy%1D@rP=(Cd7*i<sqrMmT|XK3RxWWxm}Bp+euAi(lr
z!zJQMG2B4h%r{Pfy&&n;c8=-BpWqeEzikg6plcY1k>mEPy&lq2j3F5iM&ypzoVVu3
zbR2Pe4aG(0^>XQ%qWJT6wG*W2j+Nmz)Y2Su9KOk}S%i+d(ijM-@ODB2q}l@R@_>r>
z6dXbFQ%Ro;*Ac?Hd7xwgn3psgUYhwMjRSViPH=|k>Gi`8yRVaIa$#IkWG-Yz!3j9$
z2jn^;B)rX4kpTe}UD32b^E5Fl8F`$|LbJjj7{>){VOY(th{XEI2rUb(!*$X`BJR2Q
zkAjPDqiP!xiUP>M7f>-T!7nuvM=@MNXxS{FhlSa9nw$jUFLg-cM{%S@`Wpfj1Z+@&
zc$VD|P#zDDWtQ|fym+vt#G^!CZUrsS?o5#HZ3#=0?wilNs!Ha`<yU~N%bMW#9N=m%
zzUxh)pk=O~g)2#8+Ow2f#m#IWOqC`CGh$@A35+;!UllTK;F7EENgVpg-bvge5$&fG
zRQ`DS<n;5c9+<s8WIEX8ExekIIMsv8@+<^jWysR$O8s1vvLeI|4@Z>KqcsXl)N!K~
z0cn8bJ%2znH!_crW>+}vOvhx_Q`XeI7E$weoQW;Ej--bb*IRtl+wOxxqzr+I^Aa>c
z=juDumX+ceJr|=qy8?-GD^jtW+q-yoEVTSZtAW`^icl(TA!Im22)iN(ffvAvbv<V7
z!x}DW@pWV(9?LuQ9_tYLSJM3y^<k`%y-{gKM+YIE?do3B=X0h@mcq3(+6P~i7Fjmo
zOKtFz0s|^4AlbT)l#%$?*FLJ+(>s`0KD6p)GTuNh6k=?xpK4jnL?MpXv2=~s5=o~7
zA?<*wCle$k+cV%g4W>WC!_p1*km4~1F@ch2Z{{{M?&Q+jpG}G_fUE#u8%0)yhg|NN
zep;%LItbzMR8#8h$Ehd1MrsbAR8=MH8w{zSC@tG8nbqU$k-63;%MGN_M2;ejz9@<b
z$dQy&6YFCOhB(gjz0fQ?Y&G>+IJ`*1N&f&NQhqLf3w>#4s9ihMBae_^7@k384$4`x
zWHT!Yo?~QSDlfX!r`mDeY8!V2c3vAM{7HJfv(1lCDQz&E5Gx$8VW*#UiI!t6h^Xi}
z*m#AKaT+2<++JzOlYt=Zy7Z;=-v>C&D5_5*mm+1Iyfz9Gtv?o5zpd;lH#9q9f-Mks
zTyfDQX$f0Rn%}k2^=_QaX6fBfo03$<gjE41Yfm`Dm7Ed2kuVhEqMSVaBt{*v*wb=F
zl6bJu%T}E{?wb^tnIiy=b=h@kGd(HL7%PWp+&qF^OU&0tf$tb5yCh0a$N)D*QadEB
z5HJc3A}R?2CxnDL{{X33J$&4HP3?R}pEnYw!nKB5d4^C`9anfGfStX?4G|GI`6cSz
zXzudnah#HXGFRroZO0|Vtcb2hrD^sEUw%|)6&sZEMAC?ftB!7nK#nHppnj-^it6Et
zJR3=I+Kbzv7q0W?XhGv*IVT8=3sC?K=S;<wb(a+ZfmH4iifz#0`!`LI%&Dor0pN~)
z)sW_Es3<MPQfiH!Nqr@mvDQQaNiI&uUZdT|ic4tJeT^PO_VA>lk|DHU1{*4)e1MQj
zhZe^*10t})^6e`-8uw~H3wlHHrYp@yFiylJbq}_rDhI{Z4bcPJxx|!>EO9%zw3w}H
z*#=W99VC$!uAnk`CQgK?imd?3Q7{)3)pSZbOtxy+v_;6kn*(6!<{4j8ndEnMIQ%!@
zvsmd^S3;VsxS#XX-FcK0DGbO#7Wop1nS)4xN)DRnnHvOUyR5MrrjQb?F+37wJ*z=w
zg-L3CZCAA$iz#uPCZ6_<xRHuFf~hF799?h(w~+5}kvu9*)g2^i>l?``^zTqId}3wC
zegxaBdc2)dZ4A5M+j7j9j6~-WC*!x=CR;@h1F~nmNA=@PqdJ|WiJvt#BzrrVl`!h*
zGU%^GbtRFqPa-^RAwghcsW{=AD9fZIyw#%F{{WKu)%3wSHSQCQW$B;G#x2IHCH_xo
zhhx^fLaGW+$yTFCa0LK6Z5b})ynOgv>6<$yYe=c<iqwQc=nM1%fAM48W2x6&G0WZ3
zFXpKkQ}0&2DRMBlvnG5+B6VB`yT#iCGi?w)fL8_0g*gIu^t+hq1~nLStWu&?#49>!
zj8jlsWj0aB>;%R;k(?3&isKCNZCzK@5e4msVo#~<XR7luxfVEXk>QC-%olsI@@veE
ziBCrpY{jU_4Yo(P4k|c=PAYE7n4+pGY$>9eTWy+1Q^j#<RZ8?XWqvDI{EJ$7aKXNB
zw8^sg5Ew6QrlKI3Cg4PlD{04Y&K-s=k)UzXzJpH%huIe5L5;-v{nG;<%XKRv%AdgV
zO3ZTUnK25!RdgC>U`qx#@FWh`a1oSLExDS5dm<qR(umQtixVY%wq`tT_fxkSvunE>
znJP8{&iqJ`6SQKbx|f1Q;)JRbr`kga7^1AQ!}16>RT4^jJSTTisS4R6XzDllj_ibn
zte)Vaf+xt46)iGMlTUQ2-aGluQA3X%!VouMkl6NJ7mU@n92U%nnC#++x~i?W&uzhW
z-!@#1leiX?B0$Q>Yg99YYGk|WmhbgS&mLPAnpjgM#y}YEuqLA9v~Y*%WgG%sjZwx7
z$Q*BU5>m>VJG!Yc<39uiBQp5EA+d2}KLzc<w;Xs$0UaYo%>%Ybq>5e7sZ?n0F?`2Q
z@3MPbO{(0Qn<$d9>~YH=Z-n%9zTB6Ykn)Q_^QegF1HtXc_u#GbBTGyR8Iw<nzZWL4
z7iGz28ZdzK%N_7Q6c+$nQ2Njj8ZIgusPDRb_2*@CYP!%vs6wd7Gdz-#RP3tzOmFf^
zs@EdGXy}~>Y@C{2Bn&8Gn?5YGyxu@Db+l~NP?1G?lsO#yfvDEC-k)-d89`$BLVE5z
zXcJ<zp~&8FU35qh#X(R9m0fe5<Ue$sMW#^ZNRvZhG~ml}Ge{Oy@FO)b=YhuF321IO
z_?n1_H18qg=Z(+lPL1-(Ia{#3!&#J?xu`_os<rM~kZObE#nfISx)F*3iUO){x^%wK
zhtkK?CN@0Hskfm(6}Pc&m~vcbQ<&{L+IflaTw&Ht6Mia&n=aqDs-o@l*J5=MJQAks
zzQn4%aKBA=9G)x;j(awh(3&?aWKNFTa^(r}Kv<&F%F7Yk+=<5=HxKFCZ@*s2rvbEi
z0mW$3^4&!G5Bj3~Dlhcu`&1-4pwf%lx`?W%d#P-m2W0u{;PF#U(RcIyopR*6?w_SM
zMeFNiNapIRvUyeAJ`=AY4qsdp-(nxP?bnqhL{#FxZ<YD$(K>`kiMO99srT!`2Q)?T
z^?af)p1KVe4y)Rx;+v{2$>(kM>%y+<x{`c+b?gBNb`?bOpMJcee5oRTO}gUZ_`9ld
zU)#d}08YOmZ{&a1Wb3Gasvzu%=jX4)&m!EuciZEyFCmRV(akH>ih1;!iGjeHmNm->
z>o(&y-HQ#Oqpgz?R8*Qao)LMq@_^t8Y^&6`dTENSC3SvS%4Ak>Vu;DgCB_Kz=Sf8q
zId1m8fpy0~9&rH>P2Ok3Rl?rwL`61L-_OVXU3?G}1QZRvwfOt~{{ZjTYHM1e6s0J>
z%aH7u1pDMfWJ|h|s;~Wi+jZk&RYXzw+wJ>x?M<;XYo5frsE^Nt`RmFrl^y(jm#!`y
zSLYgHLuDRg0P{qt&8HDn5AU+<spEdV87D5`F6+13uR;piktq08-(~B`j>W}yMEjzC
z-)_9RG+%|qaZn5Q`BK~cdiLX;md)Xgu8@MLw5Ef}e#yCbP5%IO_}{Mr4w7z(x+12?
ziMpzP>DQs$cSQ}+d?=>=I`ZhU?#X>fsk(Ac)8Tlp?Yeya-`8&*I<L!P<@S`0R$-ZX
z(n@vUSLTFn>w*ct=oKLpJ=F;aw-n;PO75LXQtS^W#Q3R*DI-dv-s`d{FTf7|ITE5K
z>F499`4!|WQn9PtjkyrvKW4-hrn<tbXl}XN7aZGVZKQD&Rl?YQ`|OIn6G0}ybkK?v
zqR4c&S?lIS&N7{N{4$FY5(-F`EJnGRElY7zaU>Ej!8nR2s?&kVM`azh+&faR2inc6
zsj$nO>QA`22SxL<u7a|;#zA@WWZ|t?wmeg2&v!}W6%|uXNu{qSB+sc}W@C&^W=p{1
zQRcRagb2PK0Z}encp+6Ci4%1Dbi2wi9A{KBIF<O`Y_7|XYS+1pfi1@Cqa$iY@&UAw
z)#XIkRMAuv_XHitmZ)b0_sy@cqLNrkY~5-+P$rM$DUR67<ES^;Q#TchQ*Vn|f=Z8H
zGoL0HjWS9$GF@yPQE{^4$qSQcK#HnU4+hOqEAi;`btld^`*&s09CK_@JPEKv-Dwbf
zs_nrA3wH?>caxdW&{JWQnq`M+L=3)~E%UzpySr0GszWq+PrLOPnU~UpN}|6=xTq!3
zZb6f0k>gFXud5%!o0=}mOs3JKh5}8Zs<Qh;>dE3LowaO~QO^p9gV$dph1tIpEsnN#
zvJA*{n$Bfv+gI7dmdlU~9(ujLOp2f=nMeA|iKy<V4x%FQ4Ud1Pp_Z*CSzkt)^R=%s
zZlh0ovvb0j611l2l9`DRsQpTc$ssC|uHcss<$28|+w(E3TGQRu$x=%@c~c`WDBu?*
zH%Pb{7?$cljySt`R9(2!<8IW?#o5NMt-lzVdp-A^$lzTg?jpIeNEd3&hg_1%7d2L%
z*vSmJB9ih}wbHS*ew}spNpoX!yOv(DnQmYWO=zEbrotFI8VSj03Q?FMHlzrK*r=cq
z3OI^{DnFJeid(I6dH0k#jC_>x0E0k$zx<l|qNEBW>}mR`HU{5tnm=-O2$DpZZNw)|
zJHjYLB!KXci1bZ!A|@dwWViB&6|=5t+HkK;nB>t6aa9QNW6BneFi40Z+Bi%3f`+KP
z_7USNPHyj{Aw|iYpo2m)T(Y%~eC&ae(xXD-0;;5~sH=?qLZ*Ty1V*O6O$_YZ(rc|Q
zk_?S-0C^@WIqoZ}@v<2Am@^gA=vigAnXkztr@D^gFFXhBXQOXLEytQXtGkAV3eoSn
zic#cFw;XZ_4$X1tHLR1h<%%-t#BsrQX?>{#5W%%UR}|eb5L8}Zn<{l%Wh+&)EhV|i
z9<!~spHkfREu%gIDnqgyj38|?rs8*)Ym%1cZYa0JfKfISvapj|e{m7XmTlL!E~c#H
z#)VeZqs`Clt0N)F&Kp1+!2t|S6-b;`n^JK+rz2R`3fS`|o~ec9?gpP~qRg)QBN;gM
zO>L31+&cIYS^PrU_P%>{ue=SLFkAMl3`T+U6y)PV@i3~WghEK2F?1tZ6BV$>vMZb(
z&XU(4kkx#en=&B~*|K%V7?P+Wuth-Ka#|+l)NPRjm3jol*us+S{9j9TN}%&brnMer
zp$X5KQ~=s5jsi_<V%QX4R@(;LP&3_m4=%brsu_->IWHf`^ziI*TAS$g_HdqxKZ4mh
z<HA1dh<S2?VrebFBn2kbH{A<$&XN|(8H@{4z^kH^#_;;yzDrH#ex-E61+``?r;+~v
z7GmmDai2P}U<cITlfWtjgh11S%j#4_PUw;%qN=An8k-K*D+lvi3=i>Naa`4G$#~oH
zBOGO9j8;3uj*EuNWaEgb;Y^2qDyj6K7`BmRkwm~`YL&&_bxh-vX{{|{H#SX#aCJ?4
zEH-TS-4z~d5P1YfWU{CvYt0z`m-Ryf)4N&No}{j8S$~zyR|>k~9|l?{dy+y7fMlFT
zXOj!uAYLvLY6z%`Dk+aH6|mvx%I4pn!rO-w{6-?OQz|2(&`lxL$}FP;%k<*7@)cih
zmyJGkp*}FGs5axVkw44Glo1?6M|hbL8KUN`JoLY(PHM!h8?&fHkzBFl<Ji=Qk%D0{
z5d*a07`W)P!!Dby2)v97#mUudPlB$}kBrsiqV@G8<B4Hl`5Z}X#%$z4apX}4ql4U$
zvJpfOLmkMu5{d|-Bt0O}I~@|nh7D`$Aj2Yk)t4d1Bsn%K$Vg7SMyjt&R~K?sR1LP^
zfFDmwi|P)5I0qjBcjB2Z(}p0ox+p7BI3@NqfolGkVlgy+t05VYPa7ts<XypS#~w$}
z6~$z@?k%uLfPwbpd#Ng?Sxfk(<#d%=@1?XBdV`O|#WB1-#<J2~#fLMhu)cCF92*f(
z678H+WaK#KK25i}Y=r1<xOG=Q!to@Tca}+T$~;D7w;rvRB&@ed#9^jlvOXm`;hG95
zDl#OgzQ`n9e>3&(K(S3~nOAR`<_rPFwsOp=tSy|MWHv6LG_a&aj>~A{%{tQr$^*?e
z!Wy)|7U=2S^!Wb(lO}gqi|M&i<0Wns_F~}MUAZZ+ajIPR7Ln<DGmSRhT{b)t;6@0=
z8ol~yFC;i^Hz~w&M2PLkavPrTb~I=jR3{7S77mMK+L4v%dldy^F^kMjdlb2(IT-X3
zC!UPh#gwpHj%KAFy4xVzgwws%X$=6>c0|vmTzgbc9Fs$iX>)L6XubO56%^MNt`zu5
zaSeuL)y0tz5FcUrz%BsDUTqQ&<{}v?v!QD6VR==g=Z^g$-HFYf?R7hIU`an{qxILP
z7Y(=GgCo7!6lJ+l_XAaVv`x1)(%6C5<zl$9IRF)+Cd@49ajjL4L77ZiTz605wlV2$
z@)?P4#f_U!Hst3DLoEZ1EpkmZ_!4j>b8$l8h*h3zK1orT!lb30S6>~elGu6!R`8A!
zlR^_EVyh)x2En)>u<IhWTzkmF{CO72xc5_S^-B}d{D)8SZ1yZ?^4s@q*vc@!bysGR
z<rqtc7QPahBaz4oGc2nL=&;#}JMGCxx~qqeXnwlcNWrtb8us$u&h}jQY`~ILIK^ap
zr0P|f8DFGdaW$ft)P#MdRPHyhZ`8vBm7+pxPd<XBvjR&i=cSYK&(y}E<X)kk!ZEse
zZ{^pL;=^L5J5N0M8iNEU4Y_fI;&Ws^dyL2YwdTT;YVkbrfTPhn=JeAEyn5#^u7u=i
za&f2$3ImEH>!Dd%+fNe57WtyOsJxur5Xq*&5pn0IEl$F;2D4UmxpgUW4MCeg7~YLE
z<+8shC=OF`hH<u!E3K2xD-8ev>_|$D5+RBrmn-!(E78lp$x!UAYcHs$u<iXbjLEK>
zM+!8yNNSz@MdwIFTzn<BAqiE+`;ED>F3Csn8zIS{1OEWxJD&lkidZiLGj8MTKP&oQ
zpGK~%$Kux2&7v7Ik~?o#*VTh;q-~I!2c6~IkjfOXaeG~{CE}n<x~kYru*$K=oUyvc
zMoc))2z!c)17<=iKqR8uWyqQ*oZLi{n39@_@Fi30BezqpIYzQkjO_9fWOTGK1!ZH9
zp0umA0Vxu<2Eo?ah|93epiXPsM$Ao1eY)6|+K;9T!ziZh;yh@pDw>wH9hC*M1#`0`
zob7}W7Lj<k;R=?>t&uMkS!R#1U~l#$RMB=fnI2A*wbj*5duNE_P_8uI!S-t05jZ&A
zO-pFkVX;DTKloG=Z*X*6*#TVH6*!R>PTehfY=_^Lv!Jvp({D%ZxK5!q;PVF%9^BJ(
zUm$2CJ8Y<(WX(^k)GXQ5dm7YR9BJ7iZ$c?^35HbBMOg`304NiDUF74+L_(-&e@Kd#
zXb-5oPf79+#2ud=bEaylZ=sPGDyn%h5hX3rSDFa(O_yXs>I_B&(nXp(o)lN%am|Mj
zNi5zqT8~KK<@J^}Ho3-LlhS;pI8D3&0>dajKne=3<+`e=BB~bqCfju*Rx%UDtDMaa
zt@#jYnfF!^;;>G;vMMIx8>Zx*S8u-F5q>&f<N1t@Ql*l0vsxYzoM07(krhyheC_9A
zPa7(2w%rivR-VYl>IQ-M@@^U<Qkx>d<Z%><7jYyl`6uk1Vm=`pndCR&Mf5Sw`4}UQ
zPACo^sf;sIaH~~yee+2<_-)z2VEv=ATWnSC+PTHl7Rb<4$Vck}LEmnSspu&&++qaD
z^3oMsky{9I;>b5WqI|X{;-Z_Iub-%RBC4kyw(HiRX!tXSxrX9xR#xM~84<`8@!J80
zsK5PaKz@ZK@~EG;NUe0pas55h8F;P_X(9VGZ56o=0+KPel~o_>w^qXhc&autOZeOJ
zv*(&zEnhY06Nz<iOk~YEtxua<5w=Jehi_qU4FiujN(hXpaV^buUMPx*x0L(!m9@*$
zZmVl<UgA~BlRht)GHR+X8>@C)1l?3pYP4#IrN?wl`3kBcru{+m$qQ69vj9wwTJVO@
zVcVJ2IQv@@jf$cph%5Sh?ufsCo}d1msd7wTH?wy$&ei(q?u(Tyy&JU5BtTSF$di6s
z?3*g>@#lWDg9p;f-4m+dH2f^XBfhDTvNnL7e<&A2G>0wGZ6{qZ!0{@o2Hv-h<?E?@
z4G1Bx1!c#a56^Uo1Ota{Ic>iDR9DZaj8j~+9`b_kLhu*z8tb_c;@wu)RIv1AeMHe^
zI&T`9@h#B^LyBywr@q6}d)3B{(rZqMS<^w)S@`oZ>&=ThSmH8ctX=s!4zTJfIH-uE
z4i3g7yQ2NN&p*PGSu}1o2Xm&lHlbv8^w^Atq)WES+wHd7CaOx~Ny$Z~l>tk(n<{O(
z{Pd_~l4zfb0<<@6HLo=3aPh$-aKzH1y6W)cj%{<x{V9!MmgLw(%e;;F2qul2O*<js
zL_y|!Q8rXgBuTL^h4QGK3gefap}j(^^Rm&9uCcHJIyz@(IQYdx65y{IuFW=1AgP+7
zZ?}ZqIwn6+9-lo!*5772YpF3_{3X!|Ps)yLvk`(d2H#S5i19KN;;Oz?6T+uVKTLX?
zjm@J-H348z$<~;1)>;5PDc1y-zS*{9kB1Q?5*{K6vLYtrh{+^4XiSZckNEOSWJ3`+
zjLF>A+pNQ<y2Y+JZ>OBk)8<1_13C&BLs>5FzTlaBCouTAHPMRmA-q#35MwgQlc?Ax
z;;L)XTPO8f>XXs7by9b@%{+W(AARX;Qlyl2EQSRQhNZ}mBAu0Uyq%!%rh(*BZTkL%
zW_n4aMU=*-w!4IMmiD6|+F36su_^G~MaRTEl8Nj{U#STZQFlb@iZg9wdfk75YL<sq
z+ErteY&%1e+e0~NWZSCaZzq3b=3;`{lSjyuT@qDI_D?~Kf;_;-nXb7SazgwZ#qB+%
z3v4&%qMhl-Uo`909-G6?F^o;OYFxBtxFA~qI_oa9!gtKmWd!YuB1!_P3&|BrbJ-g1
zV>H*b42{nTj3S9X$&raE_LG1qA|boMTu%z4x{-XZ!bX?Vc9!6owEO)N!y;k#vs!7X
z!(L+%xoAH~f{bwNx(K3x@6rlLii%1@(@LvS@>kqq7Eg*tByrX6&ZJTz7tOLH6=1d`
zQ6VHHL{v^Yc~wrau@Q{fq5ix#3u6y0vdym*6450ip+@k;W_M@~MU<z^Sdz$d4%s)y
zU~~XcMYLW@yp;=b->QmCry;AXr>?SE*-XiZLeV%W-7-fN#@aO{<_bVcU?sAnfad7F
z7ox1LrHqo2MV>s>efTAtgwXcCCQ|@hiLxamL2(--5qwn?Q9jAO^vJR8a<?dL!duo7
z1<1AY&Jrt=YtU4T7n1TrZB+z(@=b|FRaF&6Ck&J!c2+n#$H8Alj^e%DhV-CRj-er2
zfTJPQ6;W2y++Ij&;SdcG6j4*csFz&h&2q+)BzqQJlIsX);KpeM=ZLozX!$BHGUMb)
zc0I*WRa0)c#e6Mej3@1uV3{)HSra!xHu$zErm49R0d5WfAeWEXdgYVHS!7m_31Znu
zFlAVfCXwZ~o_<9*fRYdrBCg<jA`&jhqS^wQY6U{azNl(s`h3^vx{l>lrLG64lqNY0
z>Hz-$6&h22K&lg}D31uECY+TK2fhjPZPkv6KVwa)*ah~nYXi1e#$KO?VizLoiweTc
zriI4iD`H5ElYmZ&hY%K=hGXPiQe7oxcwK|iZ7=Df$Txr#s%Eq<IVM9}G>j-JD9Lcu
zSBu0v!8T2mQ)O6s!p3D|*a!SVZYvJa;{M)TN}0{Nu;fUN?-nJ-76=Kc5eWs(;Eu!%
z5RxjFoo3?QEMgi^(v{=G&19TAVtJHYR<!G7q+Z5jJqk8Urtutv{{Uza*y|XSO|(y~
zuGpr>$70z$F6x^q?YBentf_PNU6!a6_iRWf<dTVV5ER)}2{z<DeyzNx6!}C|N*sgK
z4m)q9*wyxVWK|Gts=)4Vsnp4aq;`SelA8(<GP`#<B5%N#e+auWYnfv!VZ5RYm_=5C
z4`cR#@{6Vg@w1z80TtZ^6%`0q>gyHR;Jd~6^{U%%Wr#G4_>Q#up~-TuF?d5WEyWqL
zh~o$@OMu^T@^E)VLgu6nZi+i1DtJZz0K>mZZBg{IU#XTa=Q?|w#H6&HR1s!4{feR(
zDkEsijRA=YC?W>|als@(<SL+@XjOgOWZAFGSY#tjG)U6pGAz7~c_kOnHbn8`lWDT;
z=jU#f`i-P_^sHOvdRpVwmTpuw#26(k7BFsVB8%ivKt#!YP}hGxcIfcaob?AOK8bjk
zGdANe;ai~$V&@~$YDLCy8tg+D$MK1ct^MU~gZ43EmjM>oX`*NfY{xg<1Xp!%$9>Td
zI($^+Oy`b%GesJ6FUL`8!VHxJ<Y}^$cRo|P-sq*lb^~78s+Q=9ojUaoMg%%DYk|90
zkyjEv%NCKAGrs-BQ5VIhcRkB>?Vp{~j?21q*v2th{Wb2%eF{y4!EQ0U!-?A!P1o9h
z`RxKJ5vlo8B_dVpn5G={aPa04;U3yirrYu=>e1P<ni$m4+*f6p0Zahhwm^KTZNJi~
z_TS_0^VJr2Yh@8wsBY}l&OhQM2@c3gsq~_L-Z$91{rvJ?t?KRHuoHQRZaeMxp`&~E
z9p-|gzm(kgsv3^oH{<e))GXjCA=f$hImUVS5gRT5imWrT?1Q>)iofPn@~W%$=`k8S
zG=)T>v66%)Mrt<~Tb5ECaa7dAcG*|@bvFJ@&N5DAR91{AOoa1pMMP6bk3F%rYMyxV
zHD8^Rb=@}EcdUZ4?Uh}HG-EQ$PHf`0$w9<VppieJA}-&5j;!$OJWAL`VL^=JGFwMu
zy43ORn?{AWi)y^TEYyI75mS>$yKaiTS1F;=v{A+bfxf6C3$4#_x?2}=i4t3u^0a{L
z*VF0P5ln$ed<hY79h3D6?b9wCd2wS$VsbBaSpq&qy7@%%zt{f1zg}bhGjWqgt*WHt
z5fA|^q_B>wyitEGv0u@)=&DEePY9kmkQKKqNN{bN{{Rr<yQra|e6R2DtJfbcZD<o2
z8ED+D-r(c1PPe+Kr^0>u`tEq-a)CxNnr>6Ca2CkWck}c8I+-RQLU3ZL?nnvT{{Za1
z>HeKAvTQbW)}@Ss5sL+g&70EXx`^8GUn#!-08Z=UZ}sU+YhL0CYn=GSlaCwJ=x<-h
z#wQnO;(`gd>HRzIo38%=8!qY9^<Gs~XEDfi@`2K6e!kl8x7*I&ANlm7!KGpr8N<^h
z+(9vr=N6&G6F?L}QQ1hm5-KYH0Dg^Q!D<P%{ylhyv#PSe9VduK&k)>+c&7gVw%!w{
z=7uoq4OP%$By)SmM0ed)O}Op-ci*lm=q~1@ii!5$s!P18G*B~n(QO+=^S;}vr$X4i
zL3->*r?`$a-E~)stH1knrs3S-RQF<9*8rG7V;D<`x+CN6y>pS0Q^1-Pvg|-zHqeAf
zwpA5fxAXSjrIuY|eA$DMEe)k`(3Q~L2!(w3+s}_X?eW)ktKjDm*cmaWF)Fy#SdviO
zKrR0OQWBGVNKH0X`j>B%R9*V(u;Hx^Cdfu4mk<JBS>!OP*(cox5q_>8mRm00x}tdM
z2<1a5vncHv6E1O--!4cAw)>)@`T0-x=ra+1szt1cm6NQP2*i=zg(h2~)N<c#$9?$@
z{uFm!DyY8;(Ns1K)*cjssNAMiv{NN9R2}%LlBbki)i(Qn{RT!g7i#BSP}p9(X=+z<
zB#^ZhQnc7U=<rlTLf^N|IWEM$cU0SNo%-}WrL<v)FAJ$`{{V5J5iZ#xj{BmJ?gO%K
zw<T0xw#(F*R3OvM!jCKSjCjdx!*oSN@StJ3pr@UYep7Vu)cjh8#u2*YwE$$=ZCQ@e
z>;QguRM``6pC3Qh&qhcW2r{^pJ&0~F!NqaKJ<FSX1IGUVf1i(y{(6mfAi+o(9y=PU
z?3|DQSM?~Tl}-Gw^yr}k9Nh^8SMRq&8JkW=mG0VA65Ht{-4#Ew{nPBJ@Vz09%xJ1}
zXsLjtI^(gcqsCHr5lRE4xICNqCW(BKfAd%4eZQww&yZNSu;EX31cu#JC@+yHDJuL1
z{{T?0$I`w(Zo1BXH1u%Z?M8QgLZFI`lK%jv{0sW0h5M&fk|%@U5hpaJEiTQNstcf>
z(7x&Y7j)>rsX|m6DD#;!c5EPQ!4sJ%_V-oz@Ti-v{{TB8FICQ4yI$C%GMoW4RVLjJ
zqxN3~^q1|w{d&A{+=ZylyGdyLn9YJCqSAh2LaXDGYrl>E0L&YwRPrvMI|arjQL_2C
zU;R)H6HCX((xMw7c}>w*;d*;Zh_YD?Rq`a&oMjiWm@XeZ(e~8YH1X&DSt5U~-BwL1
z7)%!`0wQ^#Lq{w~_D%lEqN*$XcSZiaOnJ;@9|m5lafV38yz52|n2LRc2owExFFrTw
zvSDH<s^Y@9LLy#B#fxnR53(SmYv=d>0H;l8q5i34b6xN|`aFL$g6LKDqDg&YOYhEg
z-Pv^%6jcdOc=<(D+wIlWY$e9>xmrVN!;Vy2w&S&pJR1?Jii)zU_FtrjbpHT5O_u(8
z0J)P^N-14l;|K}2b@_(rpX{r;pdzRA6zJnUaI&0Uw>^t8N8(j*S+-#sZ8#9219CZ%
zs;coe)y^rh`CqqQc%ku1F0GWxt9NAx*51u}UCj`H$es^*mtN+?)PViSc!?5u*xFQ0
z_g<=Usij<q@!K7H(WRJ*v}mGx3UF}CmmbOr?u4j{yn#HTsx8F?nHNgdLd0mW=0SP*
z6WMK|Ay#Cn3q&ekAddhlr|hNiy7fnISvBcQ#ipidUO7nfuz4V))&WFaWuFKNpoQRf
z<U_XHwoy}vfJ&N5np1QwsMQ%pq(TC<emyNrCQ#(qC~V8*s)TK{+9E81RTkYs*%6gh
zLLo&U6!xA(jQ#6Vr^em4XSEI*xT(aPB~no@kmbb(iV*-QknUS}SFWK_Ma$w`ty8v-
z*vGFpqAiHACNUcdY%=_37q(3(pz(FC3AhTE1s+{0a7i-i^zKV8x{pSd{KBxPmir>h
z$|>7WR5BGub`Pad!7m$%IH;r5P)J(GQ7T3fMOUnzhL%c`nGRbrg2F8G{0)aBIRrh(
z@kKNz*+CZ@G&Dv{!Er&)28f6~AvF_HGo0GRo2<tum18y{aAIVm6LdB%U-LHH{-i}k
zE%r^3JalcAdV|Vuv1jn?f)raw&c;~GO|v6e?Xa9xuqh3wcX%kFFK`t}ci&`Px=>iU
z`@(OkcmdqYe+mBpw(Hi88IHT2E~bzGC>G@Om+BiP*ZNsC!1Zxt5ZpnxjW%gEawBn7
z2iqY;@}=OEQ8?}86%iF&7#*#4Z$$=ev?iELg15J2T=RlrlN$tO#`z+CV47}->MxW}
z>(}#p()?Cz^}+*ED+YT_LzMfFQCDdQ+eExSP^zZtgs6&(^zNJaPQRlSci4UrjMrIa
zaw5}0ID%1~mSQb}Dk6%hs-TYR@Vloa+itV5*mkk~-S{VAq&1_o=9K=iw69MzN^KXc
zc5w-3I}^TyQckT8y&f`b%WZbSIQB<$1w`YzIJ@q<FGc!|OIe+1Tx^-T2{R(xt$fND
zkt_Qz#*!~2h))owhKM{Ns;VL*CGp93vd0G@rk6ImRWrDm6&_7saj2bm2;D{xo1KRY
zQ5%1NFDA@KbwET_C0_x$DXezdN1>NEH>+Ht9D543rXv#NK8=*9gCW+KArur)<h`yR
zJE4mGx>I{sMmH_@AELVB6J$Fy`ybk*^*28s)l81FCU!Ld$9gPijU}iMixx5s6|pB7
z-*D%^2}|fhCe(;_O_}-?md$q#stk^5$P=w~^CqfRIW;Ah)n65FnJN+soVG<TzQm}h
z&`yeafYH2yQ011B!iGf3!nC@myo&2iD`KLa;ea$ycw017Gi^3SB@#`Q7pvzzM`_+b
z{Zu_H&GF2WAhxn{MMNs;eW9{o3<6VV;SUfnZQcB@BqaeP;zCNv-15N=Q$UjrK>ph}
zsZsq^%hMT{yetP+@-$+);?c48Ux__iSn00(J=%ha$Z3AR%2Nj2CY7>PQXSShmqAU8
z;g&eGyBJVv+lTGi!|K~^3lx)@B1L{8ve;~k$XAl5G88a9(6{S`u2ShYsNHIdjq7)6
z#b|4eOss1kb>^WmjYw>SZDu?9($%R7(W?!MVA2{IDe_*vYwk3~<ureOksGmr6+<4z
z;P%^MF&ZHgV571+TZaL7ypW<QqIv491Oq!-YsCGOnE457oGDF~KK><H7BPrvt_7l4
zeSsW))7CN&-{h^9+X5>6lX5M($0q!iQKwvBkQ`N3jN91_6X$Q;5m(Qj9zUl?dDM+q
z*PUUJi)FMfR%9R&8Hrx&D%&v?mYkB~ZmO!PY};k=<y8@O*?O0tKAmp0I?mn>V~SlI
zI840D6Kfwvz~!<{E3CK3JB|{GeLMiXsG)|$oqfDcj|~+GUpVHM-3Q>>iJ57hRRcZK
ztc~hxy2r*vRg^+hHe5vU^ZJERRR~LTG*T7a6;rLRtbU|&?5opFZoJ_dV*+MDHYJWj
zPUY?~2FSs>v{JNFH^50978KnF+1x{rHbe5OhILaIcT4ig*scAvP<AO1xWd@9PDBMF
z;>3;%!MP$Fd#xg`Y_|neBveUs@%4L94kj5}0_NqsS}c}fR5(Z5uW7+{Q>>txpt0Wi
z$pp6U6NsCyA>1)|crih;)LVX3{I5d!Atkq3uhRyyQf9fXQ;;?lSoMr|;aYo>s(yL7
zTCB9u(^poDZZH7UfpN&qp@0xN+hwqVuSjoRK9?^2Eo&Wqv|+f_wRS%vxH^Gdb6(qX
z;}fy~yQnR?t-9+>$Y6<D{I-FF*>*$YH%4+#Q@)(>S=xo58LS9+u1BRbw=*wD!YaUt
zE$7laaY@LE<k5CA_6|RA%esn)h=fSR^v9@pzo<PEf74waI<xZx#jT-J+s(c=+OUl!
z;$F;1?M8UsFm1y{2MEAgLne_6eY0|8d6E-W4Y*rftUT2%c?T?l=Z^bR$I|F4(iOa%
z`!1QM)jf%g=eQlcO?+v!$ucviA|Xm>mN}9Mr*))riYga#ilXw_dK{c=TV1`7xt0sp
z(F7tw%j6rfO41Wv8jEB`4ZmR56hR4YicVn^RS3{kvIMrkGA#qtt8Eaop}dP#1<4Ze
zD?5S&b@*cc02vWnb+kZPQ6Dp9)E_8_Dx#aF_fc&}iU1bKDY9@)kbj~geY)Gj!v-jJ
z{6^am&1Fpau!FJ&-yo-Nr(Jy1jRwza^%n;w;aJ55YE^uP{lsaEs;71<$|#8ICY$-$
z6%{!mAtuSbFp2s@>LW}GFVpssV9JolTU0e>v2CfQ_Ka9<_nYKz3!5x;J(IrLG$q^;
zCe!(aQ6&wrah3acQBU{jv*~wOGrcF(THEX~qn9E}qXJDbmd)C*@gjRuU+R1bviS!D
zNjBMci|W5i7>4%I8a#WBYq$@nb_cSMRfpTbXkB^q`*BwiW}DW>i!U5?it8Be)<`H;
zG;hHoj<e#Tvf(t_ao!ep;`?2YZL@8VL{5OKr0YCQIJKk3F(<C?FejVIa2%SZO0xxK
zpCXl0HPIA0;gB)Zf!A9Y-SBO}HEI5zwH~50-&pZa=j?SIgLj77F%tg(4zfay^%Lr<
z+_>hbyE@l(qC-;fB4f+odbNIo8r8i&vBfB^LKV(CWR=#>Th_B?NTk`xh%Tg$@a{53
zMhe@*+3!W-0NSE2SYlaQ2y4YJ@B1ECqSz6{W-e*9I`{LkR%tD>o~AD3dgk<{RSON*
z{@V{{7(LU65(ZNyFh0*_L~vCe^MZ*T$G0xXpu8$Wx|q(V=a|O3=!N#JQde0;YX-TC
zkYcT5A`RT)GvN=myu@d(HqVm{8LA1X8_|0z-+Tq78u^-Et`~Z#2P2`>Ox68UqP350
zR^Zh8!@FRGT5-9Oh!}?*vle$4jR~xCX;GzUO~%!Yhu+a@v(WuVv5r*Y89wsx-C)LX
z%z_k`WypfytanySMK+$0(+1%*TlYH>Ob`eNgaOcq@eFe<OHk@L1GwSnpWBHr&ugz;
z{jNMUN*gC!g?nR+IVvg7sd<!^5M4K#?Y_fuBRmc$iV!;)<{cFI6m<lUNfkQlMPH6(
zHp7Z#vt&fAwiSf^q!Qr$aUR{NjF;KQUPj$b(NRzp6%<ubd1BbbMsI-VjLRImBW*3&
zk%Pm@<vN4x(JGAKoRAj5mrJ<Bbw>?9HM8)lC>%v-udVH4J6o9IvT^&!uR6`u6uphe
z(i(YLcu;{j7Z-%Zcy5A8$A1W`^l-{2iP4kZq5N5V+_82K4<FZLN2fZ)lTM3ifNE7t
zY0|N|a`D|mz;0dlm2z8f_`c&!5(`ein1Zh`=z<9%r_;Eo^vABb(CtF5JWlr<$|qT3
zhV4c<8SJV<_mLRv4E2g~qzcBJ85uSfBhC`KK<915<_di-vx-#AZ^K<N+<yMT{$47~
z3pe91haF|JEx7F~&V3@0+-=rC)x|}QPB!Cejk501GMuK56vD9|TUY~f+x$6e@yyB4
zVaMBbsPDZZrbF$w$*^&?c1&}5cR^UKw5ovS>kP5SosJ{CEKZlF-2AH}k<@!f^)~}i
z)f6?!D_)xqIn&pqq&F3*)Q&#;ZkYlqIMFG#ybXLJsSk~p`}N;ZXcmIbeCXKp`1Foe
z!@I1QlbL-Si7=HOf3iGYjLUNf;-@4rRb>?m%BNNui>LS|J$*FsJf@EV!`wz>RNUD<
zQy@!=Iih~Gh)`M{<8Sv7*si|g?8W@9LMDC|!yimzQ*atOoSM1G?bBT_6B>%-hpWoI
zVIg;<gjWOIF&=0)vref2i{>lCa$c+$u=a<r8&b7We;X@{AHIoOX0Nd6MtpWQ%|wvC
z#EY`0l=<JP$xm@bF(F<4>%Ph3<NEYlo@wKHbuxZ5c~(0$?0%K$)^ydD%spXG5xH(R
z&R7GTwsvV*GHG}le1s7VQBfh&;G>bVZ(A^&iECWbrrS>`cHC?gJIUKXUTz8?I19){
zK-?|WHcqso#6u%9wA3hH1dMi93!rIIiAhwK&+MtyJ)7Sofye3azJ5RN_v+T(9O#d@
z%!sNA1+jiwq9^oS(|;e={W_qrm<=NRCP~Fr1U6Mw_)iPft)Wty*6O-rs0FgBC);iJ
z`*`Z2NhcmcqP~3j+y0$Ql=--%jyQv{F3O9(%eUY6>Y`+Z(}<Jpwl0vi4m{!r@+Cw>
z-G1u7Z{2!n6hJ{H$`z^oJb`uvU69k~`*lYuzFnfekeD+_ksp2DDv7W(**IQTWJTgD
zw)<|rKKpcAgJN&$jOhVQC>euZOohdWL6Il$<$TGeN%k5Qe`Ro06k7r`L{;OmZ`R!O
zN$Af>Dkrz7w)UftJdtc7q_dc;GV3n3a9?6PW?UCduz3+x=i2WH?9d9hn}j&esKJA0
zc->!x!A*&M1%gWYME)4LR=r1~%kJxBxkY!4+N72qbs0z!)PNzQo3^Usrr9`1+e&^L
zRV8eGq=D*FRedsgPIWys`YmiEWGu}<&GoK(g7o%eZQF7!TkR+KIN*fmaO0vWB9ID~
zlUIlF67}<lXttVv^qcx-lUV}J6K>UHlCjp+wlVmv>;+p4l|L=R*-_U6b=X(xQ!`$_
zn-w!FqGS-{**5pK361yLj6yE<`KIF9k}4tWi^WwHIdR<;I?usHiu#E-j8#Ji^=}?$
zioX!-J`8qHT>k**{fFg$LMtL^&LK;W<r${2Ov3Tmb!xb+-dt+-QIu91DLB=17>uNd
z5D?H?21B<hagw3D4e!w;j1L&aFsp1nO=FH@H`tP_?KjOZ$D*6n;ECIG0i<7U{C+54
z(~ZY&IQ@HpD#|>{&W-9eVXHB{M`*^m9;i#2@JXo$^TsIiMjcRbJ8I0sCgja!b|jA-
z)khm&`C-UMr=wJqnsr*<h*nCH_E%wYxeb+;V}dzLNQ%OsxZxFxae~TunYIGP>dx&U
zD7xUP^_u*d^7fS{QA$(SPd_D4Y=NQKC^j{(!V9$34ED1)a%;}VnJpevs%FY0rVe1U
z8NM-{2GD!H)ua<h&6}+QNRA^!>y9cJNXfCyZj2c#*7bNyfRM}^Y4&Q&Kf<FlhDghG
z=Q-D>kT#@jLiX|Ci>`Zz_uyNR#K0Y>i7O_=vO_D(sz0)!pHoKkAiq`#UU|b)P)JoV
z)W0#;crz+XowE}bMWs={mdNz^hQ_zWvQ~;|PLQ+`63g1%$&N$<QX$7^9d=5#PCP8X
zDbPY`#MnVp5os-l5I^PJaIhnOJ$?vN4$=cx+!0a{Mth`FZe=l*X_k>@wrtBql-=Fw
z%dmad+fg8}2O{!U>>Dv2#L*%Ebclf(jM@{6jQcLAyt%c=G7Q|}-&Rj4)VT|k&n1jG
zO)%twN%3KT`?moKLq%u+3n2{}eWsDpB`ToKaE#LiIXRW9x0xdf^MNjPQ?E|6c^MOR
z$u_|tr@|yb6CnoTw2mOMq)NUZCQ~~##;Sci>+Yu0RAjO^4Ng&+Vp2v!Y!h5~H8v<3
zJkz_2YUAw+ia0`>?af%g@BaXJ-7Rf@Xe!bDPPglV99q0qeSF%;bXeuoiS>?JTuf$T
zl=!>ynh<d${uFQ>d4*}M-*!5Ke3c#c>Y!+dYl_E%mdvEcG&dc@(%!j--Nx`Nu9Pc3
z5`-vd;>LO^Fu<8MPCBu<zGwy<!N0F@;=t1}$6{&z7|sWczl$WDzn7?_b|hBJY&V}F
z$DVpaO-o>rwS6Nx+;Bi`-pCf}=%&XcY4t#9ZR#@?(oKB1Sf)#))HPL;YhgZ(5fzMZ
z6RNXT<hTGLKw{&{gB|pA`$(Kb-IGfhcT-C3=r!?9h9=7V&NLlqs<@G<RV`;NS8A>&
zK^Ax6v7|pU*)?Lr5Oy<1U43UT!vnj2M8;fk&P|%OTZYP`)T_NyybT=I?@nH=*oBiW
zN>QTO&ePlH+qjV?8{iHxTfBvF=VEzb!id|it4}@1MmxPQH5*<udY>DM4);fH^&cZC
z0_HDYLqT<4kTqa2jaC}iIQ+k9FxzRu7>Gm21yC9!ROmAp%e1NeD8#j^Q?M&cLju%V
zD+8j}43j36l*O-P-B+e#cCV^6GA!bFtYWs}lW6K2Y>J_&g5}FQV_+_*uEyiY8?9V6
z8b`djv~@bUNxc5&Rk9dxeKl(S6{p#2wb<0`A1S5NbauBYvxg1(<%@Q1O>Em@TW>QS
zLmb*2*%vlWGD%V3{-EPIW~%1(*w{y%VaXk^q}1I5W*$Qc^$-p-t!qhw72M6zd_!-e
z$tjSb3+j#6q$hA}H&qzY2>Q{6TxRnb3alc)<UdSSa3iZT?HQiPIbm|>EJHv=X_Pc3
z#2qjK7<ylm(_|OI%-mNE$QIJrt7(f0v9n@UK>9{>RZ^aEd%E7|W&VEJP!OjgQE-$S
zUcl&ICT6gnJ8xU3VjC}GcYruj_0of_6AH=7eM!We$g(Hw=pw_0);|p_E&-`&F`)<A
zH7gmU*+nJb=WGSH&0I#+fnI6V7pVM-?#?|XH&>^3d4fMX-CEVi)5#?&3=}hT-L0E4
zs3KQ1ioL;nUhRn@iZ&{UT~%V`>OWIs!p$;@d+2vIR%H&_CBB#2MXj(H;(#8~Tu;Oz
zw<WWG+PNBh7J<@40t9e*pdNXpx~)N7hE&*T-VokDlg?s$)JvtT)?UGYjTNJE3Fz)K
z5%yVarvRF5Ss-2cHoR4OwmBOtf`-89^W+w5@WwCfMaIa2(%%NpDx^)v?c<G3DKWR@
zMZ{QU&P+LPvaCZknsp5g=R0Znr4^MSazcw_qsd{>>szs_&jqNx#<HmMJI!2Bj2L-5
z`iL$}Xofp+q1r^4+Z(jou8PJaXh2Jsg%pQH>a#;}YwA}s4F3Qz!#$;G+{DZ5a2pkQ
zs|h69$8aO7#?+;HFvoOOF-3EPhXfsM8x=OTlgoyh%~@%vx`BV4>ol5ItzG;)+jcgb
z)PU|U%zb%CZqdlD7isBkJg`yr(1_h^P>U0Ybuu-kpN^|v%Jv@&*v5G^;n%`eUg<Uc
zdlodB;ja!xmNGjxSY2LNk=|h=%W2mvZND3kl48UN=!V-UB{fmS0{R7ddHPRUoW|*^
zT|&oJOlR#`v(s9#fY?>VVUO^&&aGTxR;4w<J8yfAN`UGKClwxDQRfv|tq!%hrxutb
znA8nnK;1~y;Sr^`V=(16E^KF}oR=PN+ez&)?p|lUuX}=h*14}*heYXUp;bSqSk>LD
z3|Ql0c3O8LLw10I<A#kWGKT3yAT%&m5QTyT-4IKP^qDa(Fc-;idg`_2x+4Dovs&Fn
z_^X_C`n`L}3codJ;IwYK!W(ZlT&y!8vuOqQ#a%<~5DR;u4<6wWf|)PUs!vjq^o!A!
zt(<(*N@-<R<v4wlIZg(dsa5_lNYkx^ajS?e8jQBzbpkAAT?YxrWO)u;lD|I8eL`wB
zX=6#CxEy#1hvaZ$+hz6HYS%dc-ZFjktsreh$4FJi-fBpSic4*kY13`DQ@%BYX$BjR
z%4ZzJarn&JU(@6gMC=Y+*v-X>DTd?(sZtv^Tt|Xjmu5HsjUMg*NhCz-10G^e{%NPD
zJ974-sj}n^{{Z9;zi-O#uX=xFYo!iHiI4_CiOr~l#jabOS$q2j@%g=((hccWlVe7V
zF_V)_iFe6mn+QZZctv`4JtNi|=+`)gO9sw;E~eJeQw|SiwUxNlNWy9~2`)<~+Ib1+
zjaq|pSr^+G#Jz%5Q74($WPK>o{V9){$+eW_TiJiPip8~D84iL?Y9T!mGvO9n&XW?N
zr0DJgane(diGehO^r<NDdaD7x#<e3$@)$NW`PH2*#ZFBLF>=XZPnz_|eS@E6B&0kK
zKGK6?O5pHuLE<Ceo{6rnWuUJQTK<y@m|34%Q+_>es0u|+N2M=7%QY#1xU|mlT6)Vm
z3aFE9ZImV~mK>ilwZ~NDgH8gSbeCA<(`ewno<MneWX|*ZUraW*WCW$Iw8vhzv&1rc
z+xKP_t*f$%e2Tj`%sdXkvnJU0vHiQG(Kged(sCCzsjSrbUYv6H+A~vtw=WdWAyn4V
zNWgBJZo1^5M>x+n8ag<vS`Rm5HtRAwGMR0*K^M3v9TezpHKka5tcGSkQ6}>8-z>3-
zV`Yrg$eSY;CIzQsIM-=hd>n}}@j`MVAk<=(_!OfR?XH7k0}q&*kagwuNOZ(YX4s2Y
zinGYIms7P1AAc*={{Tn>RcDfAP$+eO3A3RG;P!>55o{T-eoq#;Bb&y5vV#&-b!qp-
zr^QMZE9trVTHQ_45!76VD#hip%$al;v-6&{nK782#p&)d1YT}g%8a2QSVJV)p%rxr
zmyvm7o|H2!V!mrW)cfi86e(tHRpGc>%vb{wX~hE0sN5GL6lSDH7ZI5dSSAq(k~b7k
z1Ev&w8&0%)AiuW2Dl+J*{zFea%!2b0tH-6tfo4)f)wwO0$#b@FU16B$<4=3X$PozC
zI#XwkF-AJ%`EvBrpOW*~_x}Lo3TsVyuF`Q_);(051Jl*4`<#F*DJXDBVAOeICYm%i
z7&{2#8A;V)A-NssuRQRu`8?B3{cNJ8jE_zfUZNn<Y5t>GWLaiFn4C-8E>-i7va4Lt
zw85G~VepADzUYfm2?@Dz-I&t2Z?dRq_de9^F0QYeOP$>0ZZ0<^E96n!)2wUttB*H&
ze4-Rza4sr9ux-$GD=j3a8huc?0FL1vq^WYd9A?i)>OD5<o--Cz&3<Q794IBnTsp#Y
zr5a2rO$n0DuO~(65ecMV*f-I$5nZ|lOEj(w7B$v`&)cf5Iyl(Q(BG9$x|gnc?;}Qa
z3m3_??<%6mvTR#XqQuM^tdZQf7*XH~!jQzK5Eghi4ja6X!PcH(wvA19KD+5g8yj48
zzBi}rPQpFzoY%rTcCB$@aNd5JOoEbCrzO4IZX?cvFUV?QFzYhgbikSA+&fJK^y?!_
zy-PKiWO|KZeC|zHFWcqW1MD{~$xk$cHHO9;-N1YdoDwvUV4`jDM@UPF#!;XLG8Gm3
zI#!ntm2+}0;NH#l_~p&JEE5d7HY{20Ga}9RV}m`{qqz_X@iz^}L`6#zG)!ph=xt+7
z^{}9&FHdx+Sn~6l*V4L<XP)T)08`@W9y*!6FPG4^b#rqF*AVMw)IB;Km7KVZ3sI4{
zQg}=SekpQg_W>Mn6iLP8htS-5sf!Y(RyFAhR_)Hb1(@_ffl<-H2teD7Bz6$xJ1!^E
z>%3cS!BgF)$wd=lmlno?!j+7x3B;vT<5^xM3hJXCWvMYBwA<pzSVd7~)<MM+@L=h-
z+h#;a2eR}VV_oTYFp{}uSA9t8Av6ryO3Ln})k-IsHrRz;P#Jn0r-=lKrsKTp!szaV
zMx0V+(6no(>%~!VPy+9%IQFGlUfhnW`YP0%lN-qHrXW;mZM;E~U~k7pN(j9Uz0rdK
z8;-65xcH)wCnZgr-iEUCN?FF|WHjHxx?Wt(rF?R?y-i?Z#<uYUMc!|?O^QoZHE|5v
z4UE<BMIj<ZvB$4HAY++Kg)EB>qP%*sUuqm${K2b-V8~;-p&XooCm@xfRoy$AHXHZ=
zL<yKCjp$vqCMPQw#M!9Aa+?V+$Ayc}2jITMjpH)wZA`64BPx@z+(T)6lijjSjZ~b+
z0NP*G;Czk<NHw(wlTX<i=q{V-W>=7|L4tZvv&59Ji4jGA;hsxT8OGdbcr@hsauz(n
zRTlPe*hBHn2oVt#FY4b+YO}{7W>^-TWY#cWq=|1+Tc)w$oGMuo8Uk_2jWGnAL1n>R
z%^U*Q5ji3%l3w8%CX#x0)X>SJ<vBg1O3N5E*+fSy<rPjfB4p8rTQMB4x!7Zzg+`z3
z$8Z5jSGEX=y#0B?W#-s@Rwa~U_VAjdkvghSQQp`Ts7#Zw-iYxecbaI~VJCMH*8v<f
zVR<16swm-PotT4_#@u{4-3}p<7zIGT4n9JO^<hy0gGAWG*{q9oGTxFM5ItW7f)y#M
zQf4}=IQhp?R+v*&CsbE(-F8A=xcZ6B@;H<_bzK`yF?_1SD4tRx!_*jZS*wKmaF$rV
z9OJp*fE(hD3vM>f{Di>~P{(I$mXg_DVH$lZV+nhZ<dCDcO#P>RVLA9jgn8K<on*;S
z6jPj$R0P~p<-V`qp=(hy3rwdVs-bF%6<c)h?WVzI3})(8rer?djFWtneZl*51l(Rm
zW1rI4J-<=Dz!!5pd8%4L6lvfUWM5H!j(tkWXGXn7Ve&AHm4;-T%vUdcreZ{v;{r<i
za!|OWf^EeX-*H=bK}%t6RX4|;xjibmpn8EK>WnGb#;m6x<4i)jDN-ayMuEbRt%z*f
zN~)p*xtG)Od-779S+>(HYS(>1^&_ikWtL&Ic?aPY(Q!3mxF$M~jmG1=G9@dFBBugF
z0xtJHO@i|kM(3uD0@K|k(&=8Y@A7sscpu7fpR9=bN@}*QGv*|*<Jdk9IQxuk*(Ss{
zQeBk+c3!ry(zEHV4{3G4?&=9U1INTH+1TuOEOSMV_R`!>E)-Z!eN_6nBMM|kSR-T{
z7TyIC;9`aZs7Q)Ci6Z&?FJBdtjC@SQONtsG{n36t7xw=E=yj>_{{TqS^<IZ7^+m0b
zZE%Wv3mMYuAxdlW9|dhq9^Oidt3A^m1V}1q*&wdoddlvTO}cHg=P?pd65^xJ{WtOb
zzTJH;8xtNN5Z$%$;J$i%Jdjg3rF8I8<EWw%Bb#nX@%_K^=${zG2J;KO$WCWu>dw7d
zZFW?39F#4%3W}anffDYXQBZ$%=t-~3*$}tiZIwL#0A8DTG|4f&JYTrQREFDYBY=}7
zEV4$P=A@t~1loX*qAHfh$i$aqPCN9;oLU7pAq-6iUTcS@%1UdEV5rBfVpdCXNgJ`+
znCqV9qG$=klNlNzB#_wxI0mRqqK3vQD!p{{z*ThG$$?AAbC^R04T};b<U>$Rvf?)B
zpLHV`r)f-(QA2JGs;Y{pf-gsYifA%f7m_kZ=p#zU;K`1%<;bdwBq2>g<in)miO7cF
z0+9oNtrBxpLUjbe1^q2!7daNRV>H>5tkX>gJ;jr)M`@PgI?<bktq&dmh`YK3so=I%
zL{(k0oggom17O;5`&(6Paph!Za(D7mF7(362A<*#Rbwz-l=fY9GCYRbjT%D=5gY+=
zxa^vPaZlYGayHD{R}MKZ(qKthr6C(L!>Y2n{6&|s603UtL@H_UCB0L2u;SW`$yJhN
zpvgImsV@a%m@H*=kJRcB8e`QpdQYU8g!@vlxr0|}kjSZ`$3iPsXzKt{S&rhbwFeDj
zw>6$ZD&V~1NG1xqEOe^{!*Pu!q{$;<;FmemQ0G?D!)do;*w#4vajVz`WZXbW5k1SO
zLWmJg!N$l$8v*Mr(itP{`IDvXZzZnAwWP}9dkt-Sr?;e?Z_Ds3>fa33ZF9E6brVpe
zJtAamN_=?BChxt#8yL$HQ5|_SO_OhXb>OlQ3t=QgA-1!>)f@W@JW~FbA)AcTSza-b
z$*Qi3ab0PpZRL^en~&N+C%KwA5<0$&ilI8FVxm}{sn=wf><uu)wQ8Rtc|hx?;rg|s
za9*73&>>{PE0ShJu$0T{$|r56+;K=z2ad_rxn}r|Taj918uMdH?w>Yci|Q3cA=yZN
zyh0!>L=hj)CK<9e$XGATJ-04g6L?x4C3MYgDa&6CJu6OXsS8}j#9jCwI(n}Dn12wS
z{QP4|@=S*ts>3Y;hGs8wF1Y^y#KLQvGL2M<M3~PzEs`E!gwDi*;ewN07VG|98%Fgq
zpC`{?)+CxL#7dN&PSl#fZUl!U$L@=umL2B_O&N1$(aAfCDzqq|)tI)Q<NAjp%Rzlh
zU}2DAk|#>C!!r7(tBvziZYtPFi17je`^MWAo;CqEwhHr#swLHQ+PzWM8YIcGJX;&3
zYBh;lWtVPP+`T7wOv_f?al%)7%4Ckc#W?$sP+<uPK^3fQQb=Sbqkc6yDP%H6+?2nl
zqR?0~D@BRZ<x(M6wB^GrRK%5Oc;|h}=%j78WG*9UkH{rZ_Q>mOxBzdbH56@B_KLy`
z++Cc8s{)>+&2xnHh0TPvS`&EFxXZ>}$#Uc?;msNb2)PKVF3Ky`Ys2+|`zfWzG>aa+
zCnn2oEP6|LH&4i%4K&LyK#uE;NbX4Y3?#-+gH5u0(MX)xPpt`~tA)kN)~6M79bx&-
zxsZEUG1!?RbarNpCnm_0@OIuNWD{nD*pUHq6m+)OvvDx?VAo%=zYQRJfEsR$vL<qi
zoOV?;jGDPt&Ph*o04!OKOqeKwC-~UroxyC7_?YgBgX3k}tiP(dE0}-9r!~)0^?8=>
zajaItE}p=@!s0Vtj<D-YN+seT+{E2nRB7{35;Ra~fKYlg%Y8@G<_}E8wHF<qD+#}w
zSsgJC_;BkprF*hgBeD{C@t9H{1x6ik5wdkv48;|`xncON#r9np#I1oJ6{)6&GQ1|S
zEu!{)?YnbfN0%-uE}Klc+6-Wh>uxkkf+VWiat_lDa*=X1<@-f3W*~P?n{(sk;(;*?
zK9?tz3Zm}fCN%5H-L;L;S45+)sAyAnRo3E)LwYi)cMVM%bkxKbVN~44<0r-C>T9-n
z4oObNKZZgmilH_f=`~c%wA`-z^Ni}e`_G$8FUN7dCeZNMTyv%kGumT_X5z+IjaL3U
zm3Qsd-drPUbn=cbNRa!pmx4CiEs83z-~#N^NJxr6t4T1@^rl~2RRyyXtdh>t7=F>C
zYD{!+61J){th#9)G>KpicO2YYZG&BrNkoWZT=#)X0dBpA`h-H(u!`K9_3l>;inl7F
z)7I=S-kD#JX7?~D3l?gzi4TQy>D_9AD<I<xM0ntU8_%xg#F%emBQ;;R>pFQsg5~;4
zqq%e(c8?Fga=Sjiz80$(l<`UKGfIv)YGV<wH4<<E21>R_*6GWX%4^`M%j>6PR`vFm
zc6L%~H2zSy4Ldg_l4w_V%{L)Qp=Kc%u-I|k5tiBFo1&~7_ZiYGNLs|;>h3ng`ih6;
z(?FK%Y>+lFI6G$YJiWJGHr!X0$6sv0qG_hPK&qsc7dYg0=gXnD=`q6~&fUFyymvzQ
zMw!TgA#v~cqY~<xMdfkB2w5Cy3sD#)qs_3&q;+|r*!yA*n`p}i+ZM$<^yhKAD_HH%
zt0^7!R0*ejh{=T|90ZJH_%XrL?JBB%TjHBK;_RXXsh_fY-A`*5qLXKV<uRCrbpk=;
z5!`m=iNhXiD$%(3cUzL^i=202O7RpVK~V(Rp;4(Au1~5`H0v0>_V$r&e+;<2b-4=~
zypf@r+%%2N5_^s|4ms{x-KLj=O0EhQDrOXnP}aN>A#m*p(?rj!t+>kV_&JV1yJeWB
zkry((S&-{q<SMOx6&18?2vkwRHwcXfZ>bk;$ua4b7FkSOvWHLq02Z~BZ#gc;#*FG>
zvPft~0CPZ$zcFGv#mN#Cb}niw%k>-JiN~Qzi_FbrSJkGU6ljv8Db0~8{6J$8aU}#u
ztjJMCRbBv{v^5h^5fNUB?Pg~|8O6sXP}VA&;xAZI&XckzxZHPkbjQAYxEBW%Lz1T4
zcinPj4i#%wv@U5EzmgQnEHawCZMe?!ODIw;s;etjDMn;bn)!w9TozkL5ydkY?g<&E
z9g*|mNJ>2^@F*~EG*Yh@mN&sSRx;Fn(fIS)ZPz2X`F5la)JxB_%VH(CmuqxUR6<o9
z*PS%=rH5iJJ74Mx3U)$6k#Ch`vhbpfV{bJ@2+^jTc!kk@mcfNan{1=H04?q!rPA|H
zvYmd%FXP$TYUF3^t?^Waqm;5;gA^;=R-1yhZ8oM)u+&J-NOi-KJ920jktwG87-&Jl
zXAT70+fRF}oK&uED1r^^@2|3IYDQxlG{*8OEKdF$>a14Sf0`xLu@AQavWo8rG09h8
zdB)1S^25Vmq=cxZiPxJ&a_*WQd6I=)5<gmXr;}J>GOedObd3v0K?zjgGL1jmPR8zu
zh#3)z@ls2ANv)*OVS7r7jx{A*s(8Z1q0~Pl4e}`rARMHK+Q}nUpM3@H@e#7pBZ?@A
z(<e-^+aGs2GMu~SpM@GLlWpQ1<d%(u7g}u{I~Ho<GJv2$+k{SeLL?M41Z?pLnSH+f
zew6Xa+DlgMr%+*G7FC;Cfu#A~VBLT<9lFRF07tKSOHTKSQC2j87+P__7hESCR{_-q
zfI&G5W{+GrBX8zw>E}?FDuB0^@^bw;th0gzA0l~Vxhh2z*smOQi1TueVnm+Pt*dRk
zaUXEO)=75zl@=KL^csxx{Wq+&X2Z8#ZKyJ%K|zS9poJ10VYbk#e7K>Tj&1;7Nf(vO
zKg2H(&ad-XO8zG&FUO_hsV)vrNnmAlhU5&mjm5X5Mg_@k!gI47ConCpz}h&_nVPn9
zvOxC>8VmYx+KTv?SasId6#b}vknVGDQhG~&onthtQWcI<CM8oe@RZpb)*_28Sups>
z1Dy1DQ2;qejTQB9*jM}LLg|&_)wI+z+{U#6enn{#y5?m1mMigUo2e3vQNB{zW_(E@
z6%d~-yU&V>E27w#wnCZL_+VriG{ny_+gmA=_E#)Z*ttGkJc#!aEFF-d^dXc0vE+;0
zk&xtsR-Wvzt+XmAXx6``qo1VOyJas-wBsYE_W0}v0;3qQlD^@v?eP~{W^`2zfQ21(
zTn5GGT~X#h?)4Fol1Hx(4}L0HnM_L^r@Hf}7Zd7o%L{sKKGYk?*;SYvs~Pj1x0z1N
zW|4-0;syua7c*6L8B+Gl3uub+35YfF45txiU75pZD`h5CZKi_Zxm7?eG*E@jh(YvJ
zMt{UO_j6(nA}P9&lS9=+47b*tNweirGwyDz+XZGeM%*?bM{UI2*P$bCyDb%va8VKW
zfn4PCszt~{p}l9*4MEDYOcsun_iU_itf<=6%wD@N_H9*1of)NOe;^}m!f9iqfQV!y
z;JCk-28g{x;vPjv(_>TSIBckET+l!sqMn{g)~j5iX>O|ILrW%JTEi5rMQOU}YI1EZ
zS~3|m?ROmKB~{af8a!bH7FjpkHwAerrZnG1wS!W>h^8T)dacwuTb#0HnOoMQF(XEg
z20U2Pp~##uL=_F@O&^%ZcmzR;ilpZ~*1y&6Lv5!u_+O|PsT`r<{{V^D$f~D}>|(&8
zd9{o940|TtSu9vutByI`0CCciQIWzH1x$f7_td4Xtoojt>N1LbZ5}CuN^x4nvHZQ6
zacpXADN%}Yhc(h_D9jRV)@3jT-w|noF>sqwCd9_(A)=K8RP20t^=*1X+ZJ+a0njI}
zsT`>AzgQT~S(ZF5<2Q6Op=VXnX&sW>Vi4fq*9e*uYV%3O*0>)9286|S4lu2Bk=Z)M
zjYjmTKAx8I-aVDoP+Q|J-@vwt^R2ZN=jJj>v@0QilE@e3y8g;42rMT<`myR)QZWL3
ztxT_gQX82bwTx;+L!VoQNPXs)+Z!zsKYx%s;(!Dw+cepIDqr&mSk$<lqUE|bF}YZ+
z#WehpxpWhZ9Y^l1XUb#RytYh5P>(srnt8<pZ4HQRhZe|)IjPL^986%=o=2ZvTv8$d
z(isS`Hnr2YEV9G>J(^;+Stc_VA&-uKF=x^tIKZVAIRuGVg2Y{vnubs999`mwL@v0y
z7>K327lh><oAIK8KyJYsCLM}OE;2D1M>|3D$GEC!C_J`8MEyv;AZhTeAjdR!CdM%-
zj8#|T5^AX_t?TXFEBgAXq2!hGB*=W6amG|6I@78C8B$<7v9Ez!`hL}CG@jD2G_O;$
z4BBQz0)4ZzR8l?A(btQmDl}LTrI)sC$I#MCvz%Ejfp)-r7V8W!N@6CJHS6%Ll6Zum
z1Kp>OM~^k7GrY4d!mu|f@f&FY4QIZY6^Z0#$w!#71+)ic2tK0wZ7Zs*HV4~Q+80-u
zhRM6#Q#~*5YG$CVv`3@2G3+l1X--VYb<ZLf;uF~o)MOeqs34}j$6k1yG$CHy_OI4E
zV|KosG}=rEcXO&%Db0#T>v;2O^KuRJXvkC*3B-6+NS$&*_Z@6kh=^TOYAnuHUsa~H
zGqo2is-^7Zl4_!axb~NeEBrNlsqY#LqE!~j`0>dj$6y^IUP>sJVPcLpW|Gy{uWqWd
zr<Pe?m78dw)9PKU5zlpQzfa!7AmPxf?JEuGEY7mDpJLh!Hbdxjh;Nw>DI$)O;TeWm
z6ajHvQvFEOICy@Xz{02G4Gg_W$K8z!JbIEn)F-Xj;(eAYqNDxk4iDzC!IO=-yN&W>
z#6znbj}y{tel{8D*2^lTvaH6l0kp~CjkD6N?JrmSTB|YG{K;>>B!m$j1>qZk5dA1g
zYpyyssCu!FzL?HoWrpN6wKh)G)Wd!O3({R_5-U%zNUamS@o5%1mk!yyhxMrK;~*}p
ztHzwPAD?7wV}*x>dFp=)2y4`xS-`adMtaS?J;U;7+>e6eT8A>0Tei#t&BT#gJzaHD
zGwq9xIU$bW2GU@(;0t2vrIvs(qBvfS*lC7!rOxU7O{S#Jko3Eo7cHU4mI>_+vTS(0
z#@~EQ%$$njU?ysc+B6^}R+RXSEsfqYh~^g7^%!@lm*}nV{EFg|G|Kvn(g4b4!x@mO
zA=qwXTfrBa{O;Q*(V?pHRK*NTXVMp_L(y$q)7*-)2+U@)`0e6k10*6Oa|rQf!6^(O
zOm-Q`X_p>CbY#GB5P)PbYL-VkC6<qENVT==)iKyoAfp{XZY!bWw%i<+zfWdMnB-iJ
z)H4ilhLQsnBM#bP$8j7N&T+$z$_ok25M6AND<Y@}NS&ev)V){9>#?C~+0d`bvl*>M
zNmzxO)$!@gmqpNNp^VFHcZ~TulEa&>Z@Qu)sC4%9)max$bh8l1YUEevu;?Q?^n9lo
zCng3#T=5%eV6BVg8R=vM;ym`~o3!E*dD%W%;WhWK4nvqk#_|hnV$ytLmkyd-A^f6o
zh7H*A+;OHIWs?O*8U++lCmJp#(8W9=Te7}=Q9&#cWIgH>pvE-Q7|LvKpT#ACL(bb`
zRrB%hU5yrNf(|680Iu+o0?dPvCM)~yE*k^LL8T6vkZdceEkifc@}bPGV#f-riI;gQ
z`&NhOHEgB4uN(3Vl*_W(ASjm-A>b&sbrY|$Y49q99Eo)($s$98Zq0Ppb^{k3V8KE6
zolz#xkx|4@;%miIZmw!xu&tmY%5tocfrk(qcK-k*u_shTP>~8?kf&@MH1chx`>Luc
zDDTm@mg)0##)`J2`+uvRDU06HS}s9fskse8-O7<+e_MFs6E+`5ZBeLii>T5gXoP1S
zunqQK2&>humgPBSRg=c2or^`MqII!mmile0LUYx!`ky#0v>^$T1Vw9+p&sa*2Y#vT
zvaLA5>>^9l9I%OQ+9<TpAqzG$r$|9XZbJZuF33c0=`mjl1S_&0%D(XH49hKyR+yH8
zWvxOJKu2;Vhg<G<H5D;#LH8HN#G$t>z7u_uq&Npw)aIVTT17u7>r*qD-8#wOrI<Q3
z4&6tDSCK5zG^KV@qb;ifBCShNbwvr61W`nhM9D={t9v%6qf2%~+`})JE(#g&eiW7>
z?1(!D{IX+pPDGm;rt9GsaX|YFPU9`d&l}1ZdW7b7%DMQ{yWtW*I4%K@wD5O?3;}p@
z6fOAq=!U{vn>foV+Oyg_DmfjcW9})ZGhZ!`krv!{RM=HKe5ri(A7(RHnyR})LTP1g
z#J1QcVO>jZGMtfcW0?qckcD|T0=$$7HrxEDz7<7Lc2(r2s_V1c1#YQh+s$Mhk!Jhu
zxeC=4IH5G)DJyQF2&ZYl1Vk=KWQ2%?%{*1r5o5k+WYDTK5@WVT4Jj(NBBUz35Oz(u
zctlRA=QCd_!J9cS#H2<dSkE@9Cf6;waa8z4**q@k;TPpM>5=zIC}nnLfVe=CQ{Xo=
zTV4by!PfRBo&D9bPt=IJiug^H6+HM==n8~LBs-yaUDv|@07dJhi4RG5q{wrTk#4H1
z<$C7fINM~cw2l_u1DX#n^<R#f3Q47GzcR_kU|V`Yyr4UG2oV*3&{N0l*H*l$5$&>$
z{yOo;%AzX&0Iyz|RaD{U!u^GJ>(142ejrg_vZwU%*YBZGRR?{)ugCgz(Zxqoa4$Qq
z-_bhaTeLeU`A^w;;1yjWi|VTKPpf1>`0Lnk7fAW9*RrZAuF1EL^y}gRm(qrt?4K#)
zue%V6xTvI?F8o*Ze@?s&7lESurmCpuswxui<I3&(_3M5~%>#5q@SFX*<k>j92*m+-
z`9<@$^y{h;fNX>Gs{KlxaS%0M4Wm`^?%R3dpJh(Gs2eJTii(Px?2FgsaQE0qzNPWM
zj~#vTOSu{^68Ycl*Ov{=7t|*AU59PcZ|&FT9Ys$I;eOx0UQ`hm!Y<$CPwCh0CYuT>
zZoB<Gd3#GQz-lTgs7iuJs(_zA)6ZRgNfikMSK$Z$04}+z82vkM`={;H8?2Wf$CZT1
zGD`aIa_??0;!~TBj~|buJA{Zu<vb^!Jr&$&7i<OBOrsv6%`w@yhDTJ~=r)WjS#ce8
zKwJY<MHM7e**~uSKdN+!$#H!+z_opyB(}<vCXUrBv0uKrohN#z{p5I~%a;4i#*x}|
zV?N)|L<}@ys48i@Gg))&_fIJQ01(Bny8AxkE}%%2Xsv{2#Z!qo+hR@=1^Nlr(R(VQ
zM2Z}gMsWL0J@qAnNVn9zCzjoVa7^Lj9nqRz;7!J*NQmCy?vNcs1ayb$@`!`}XT;aB
znUD45$BLd;2OO>b-(<+C%JkPUtdE;Y&)$_tO{~}jYcty%;3vvBOE$?w&M_Jov%bLM
zqHzUI3D<j^$5pJbCgNh1(CZpo0+Rh+O98}?(?a43G}{fEW$qnKka_HYDvG-&j<V*Y
zV0QRUt7Dhh@nr4c<&alh&&cv7QK@jq8FDm691{a3n^zIG+9YHVup-<9$PBKdWi06y
zO=mk*GB3n1OyOk6g>{j`-Vn|+Cnb!LS2qc*x?qH&NKUp)qe3VSaWCUC#iSko07yn9
z*J%{lH?aH6%JD{Bz97U2&M^0WRYOTV=H4+>CKzR<MFnqR4o<40r@xK1+b_`LI!TpX
zTF%zbRQ6UDc<dMFS-`iz<W{v3BR<@C$WZ6l74Ehw+6Z_j6;U`6^`Px_2t6}m6D;#Q
zR?f;qc}xwZGZr9LRnSO89g@^Z@00T*v`P&KuQgO&YD6Q+0ri&=t<(~Ssm{->y@szg
z#9P?)>thYg_E#$I5+pDV*|c4!StIU8RTmLUZUk{mSn@@I;rl@&1K2Zl=&jck#bw~K
z^&SMwCHzVinoo{&SyZ`^<HKkX1}QJOKsR|QaBa505P(OLsi`Gi0i9-ApOj3CiCSJa
zS7pLY{i!hLwRoFni)8B|!6h09i(oGwX}ysVvp`MMY}YY|=gAvaV_f67gVodW42Bf5
zVl?4~kqRKwIwSci_{bQ;AAp}Tc^qf9gi1OKLbL4O49A?uFo;aiV{st6GSVG<(zaSl
zB4xC846!Y^$>+(y2DT33s;a6gs!;YeHWt${=cWGXEp~YUxE!^&*-v7}T83n-GE;LO
zSoP4|ne42k$&fBS{@i%T5@p!p(3`6Bi`r>VaA=fMaGU0F$rX2Y`5unfehTylnSRck
zXI9w9uLj78N%%<GNhbtFNZkV>a6|IcQ(?4!Q}q?*a*0}1MU2<a{6UxHJ#9xOO`G48
z8#yo>eOVz_K8ILjn{lKeP*)UoUogEx=2>=jz+`RF*kX`s{{Rtc*A1a`7Q*rjmWDtZ
za^#Yj`*|%q!yttB(nKnRJs>uQrJj~4-Pa2_Be1<`p}o~QY=Wy!<>T_s(kxle<uvWP
zk4uuz5sb$ONUlRJ$e<jhUEFvP)NhI&=9;ym7nT}fHMqKt5HU%04pnMRb%m=_N~#fB
z%2JpJ&xCoGmM8<QCg?JW&Kv-PrVf9PU>F_<77WUujMU!bl*TaN>?>#nN5V8%uA#O;
z+;H4=TUQ(I5*O(~=pNHB#kJ4V`PbpOK0lDzK!-LI$kbC_hi?Y3ooN_17H4Q*U{S|?
z!I5!N{MN_~c=b_vqg@yvR9AG2qcINQWz$VDT}7L5_$Dnq>6!h#d0Asuc^$bncOKmo
zmAJ-9%2UQb`X6*!CGH_|6y2mS%yr6xAjs-<w+Vpy+rW_h4qPle(LkSGjtjBn9?lGb
zCdI`LZgOl7@|WShhgrp@Y0j9!&<%0T1|Ch1-??q3m-y<!j5OZkmtw_*j?lk4JH+BO
zCG<xg6nD6&O3~~|>32?a_HG#qFT=F{EL#_C3Q9XZnV_kBqRer*!vW^IZltks<8?S8
zI&7lsrlNq8ODuVekJ#FpQ1jtRTVk6WZl*@>_WRe=FWPYx%`(H?ysEvwz%h`Bx7qeZ
zJ|Verkh-q#8XQT_izM6>WDz@zps$`PN~^kQeH7LSexM(JC(7&FtyxGQ#NTxuFe(WV
z1Ql#l+;Q+k;;sUb8iJ}2ii&i<%yfqu)|@<|<!vQ{kmsP4A-Lm>-pP*HN~<TxP&gCp
z?g}EDU2&$wl}mByPp)30wIz*UTWbk#x2MxsudS+TA^SGzrO0SKyHZsf<nqecMH^K_
zM_Fh{1qfAOd{N^;%V%zQerwkSdnI-ZjK;0u$H#>i^g9Q@);&8A{{SAEtTP{I?MDR?
z;J*#?;*KZX2~+I86+G`dE3*oQrN5F%VVVGp(@n;V*&C**<BF)N>?(>|qJ2t<x5oS8
zeFydFtXN(x6BpEMvb!knw<subJ37;-e$_%rvW!S)VQwtw#j{h`G7$~}pr%fbUNvvk
zZnpZ9(Jx_3SvwiJ$F5v+F2rFx<VWRKs;9P<8biX-50n#VQAJ%2W3noVb&3A~(s53n
zuOKv?di3#Ir|S4P;30tK8zNm<gQ$6DsNtWaGO2%+G0i`>!{pO7khu|O&nb;RA%J<5
zQedLT?Wrh<C@aJttauh3^-8*tm1%XJmwI`DbzPlJE2gV5<o2*{CfQ@LqWjvAWd~~3
z&II=!WZHYXA;jF3rEx(thB<E@-v<l)mf|h-%dCpqHD{bksf|6D($U8&<jO{$_Hfnb
z8-4I?SCY0M=^r6ghn8S?uCD5?nQ9)9M#k@@Rb?4vma5&<I5pMtrA?t&^IeL}?gnw9
zlXZ+Kpz&To%aNAJt64ClLUbGP@$u`HTyKjI<2fDcnjf-EX(lmmqPk-aRu^r0bQt5-
z8KyxpJSLH+<+Bix%Eui-VZm@*b<<XnzHOiavg4z>g1o{qcycugrzv$zFgj{1iZ!Nd
zTVpL@l`Z@6FKM57wQa*-Be)YACP<Z4$j+!P=ta{*Jl45dV^YR+6*3>iBj@pCYAi?U
z1-XCAZ8G$Evt4vlRoI**vnP(|{C%GVR23bw9uca}`X;rrsKsPSn>Pf@CDlx-iEd9Z
zXOF?2)vO?FcQJM`R!F>$x~iuMjc!HZdexA;(ZE!+f}_JTGhI`6R0X5*zfzf&faf?y
zh{40E<zsdYNv@#D@;eZ*c4v3CF&-g&*$TKQssz%uyK!&@*ExfNi=~;Nxn$dnhZ?;X
zYjEfjBE^M87^!m%VZswvQ`@;1T9)`S!6-T?!iuZNq-1JN6>0WAiQQw<G;W^T5sLzv
z^6HBx)A`mB<=H@&5#MgMG^)`n@K{y_JI4DZ71qfW->YOr?gLttdLNW!368x~F)~)H
zsPcq>E=2rJTxOeKW<p?rQY@cs>{^`KD@1lCFE%QzA{0&yVR#m;4?Fd5bb}j%#BSEh
zrA{NHw%2%EeJZ*Pf^JEDOHU6U7!E8-`&wrG@xHD)XED0>Uy{*CkGKxz505656if7n
z(@&?0tyHG9$74as@)%jfqP@!CHzn2_B#`NoP}wO?ZC;$aDErNt?1JGLF5L!T`FH;S
zOV(MBSm2t=9^RWA!m_KqKCkcCKI}QqHt4?NElMV~ayl&7uaU?G+K`Hh&=RyNVd$?H
zzQO0k(W?Bm7E_<MA%-&yc8a(L;xnYfuQ1(%NZ6`GC2bX6Vb?vg%8na^grU<I_B0o~
zic;NpQ8y6WPEaHB<4!9|WA%4Z@EW{ys^Dc8SLHS?KG{&C!Oi0DGZ`aBd;Ba0BO$g#
zq@sYr66}P6hgUjzB`9*H>ZMnIF<b*tBF|ZcCNhh{!pe>Y!4iie4tptV!Z?S`5mRy;
zS0{fKVslti@Ljo)PP1p`W@Ry@;$+#ygpP6UMrrn(LPFps<4&m}auh(VO4SS>2f3ub
zsM3h}eT%il64LzNjUKMHBDC2{hK{Nl3OwQ>i)=Kit_lZ_p0k9KOD}b{_w(euSrl!n
zjs3sXO{jS;cUhp8+5T0N);ev~BXiwY-PUD1zDQeDSnjmy39ii`xT=7tytd@H?*`Q@
zvmMG@x@N(ng--d(knbcm)vu^q0WFaUTvYl|6LsHxwiW4*>XTFJ{Y76-C^^AlnAAGf
zV>dxCpOYQN1;QkkH4IS(bHtzFKnV?|8dEbtG)|ytj)h{Hi;cpZkZSEQh``IyA+wY)
z+(di0qH=7Uj&1j(xQeapE;h_@LFD6`sxIab$A`lgNoxBnj7uFf*;sU2tI<ZL*J?hT
z#?%q-MTGM9ld}Qe&vS~B_ScTb#S_Z>efoFg8jq=%h6_70)7%N`w$+3tDvjpYc2X${
zez%RW9}26<d?)tv*YmGXeNwNc%{m=Gt2<U&qsZIEpuxxCJQXneO_9Em9-1whx=5Rd
zj_J7y4#-HWuQU^0@V#Nv3b_>Z@+Vn2P|VASQ|u8<xg^_en@H-a2neC7ZNtaVN?R)R
z^B+;cKE1PBR+Ga|74*MN$2GBtOQ=BgUi6F9i|uOt_LE)Wv$1yM!(zlNGH00<q&TLn
z6EWOv=bC@Cowaj=ib!t`=!l&%F1<A4zl=z?jWpy~N?va_B~S;Sj|ipX{W{M+s5IXx
z)(tBh&VH7{A;zqt<WpzHuz872`*%^%b%t17rn*SlG_4SEbr*{N0F`<$^ppHhYW+cK
z)!vunSj!O09-xP7Hz!F=c4fCAwKQ#8LnMxEChF$oyDBLCB%FGdSZ5LT*kPyk0-jr{
zu+u>Ic37kT0PK<z2Kx}nFs52&GkY|OsIi(JL-+8Cn<D=Jr|z9G8_nR*>2elFhVXUB
zTzhH>`iV9HUH19@pB;3{GRLP?$IG$DW67<aLX609t&Br`xu9%{zEM+e3Y%=Zb<b2O
zBHiQh;pBHNHegK?d{|wbG5F+(<LA!b+pPCUW(^V#%F|>`gE5HcJg%2Cw)PCeA;{(o
zdZCV~_;UGFCHt@bT>)b{SEn=><N8^pcyxHsuG)DfLXQ~*Wr?A82+(#TO_fu1*#$gq
ziPL(|6Rv)~Od3`e-cxNN9G8=fcx0>cYw%>BX4A_3_Ud$uYX-*fODim$iB(bGu5<Bu
zPwd0awjipiq(4vqqAL9Co3Hok(Ti+ghSv1A=|b!y-aFK=H~p-?P3c}HgXqMZ7t;2h
ze=thPEtovcebnE?-gX0iP$Pgi*frbTKPj{YLF8P__@QU4<6Cfz71R67>p>>g;(4F*
zs}*@BJ4;mTVTC`Em4t{vAXA$XQI<@(2)qg?8vvQ2@7x<Z(LDsgTg28R3{M(|8@Ube
zc@_A;N+`0;O;uY0aQk9LyBe<Gq&sY!^+D+4(=VybJe8luu_p1DlO$WRnB$$P`417;
z<Aa~`4X0JKY>YQ>l~;oA=c@3S*!yq$gO<ASJPyC51}g;P2rxKQ4LA-X=b8nB>K{V1
zdqZ)*P+Fq)N0L!rxPI15Xyi`W$|T*;X~Nh5Tk?cTN%6#aFIq3t9<q9QyV06QbVC8j
z5}P4+y#XzmGgDG@mDFBlyX<YCubr1<P5gEI$@Ld9?^m^p0H)O}c6I}ZrZ*N7cuZ6F
z(dnZ{BS2sp<e=HA5-!WRf|BxHN~zYV^zEs+F#3STaU54rp;u{k362yg6;Y$9s5q#q
z(`36UsTu9{uZ`5V`RhX)^wBOCJCAtOo7fG9ijxKP9?KJuQkE5^`J1h@<>h>-Y?MrP
zOK+@HklSd=BT`U#17f^XkWmPa;e4qQug6q2^3FhlTGFIv+jw1#B?Go1*Az4{7RgA5
z!H&qNso_^)^VF<AU7N9`hjpkrcDUr1teme7)b=Mv7Ql!Ef<$6A*T&nX=t8@SqIFeO
zn`rj1>OATk7dR>T1}9?M)~&JN*YZiH8FWW(N==sQx1S%kUn?6Q89mz#POIu9d~X0X
z*E?xd5Gx<5pBiQ+j>VT<FWpFj>|<qK4ZQbRUE4x5B1Lg_R25E1)$FNNnPmivM1A;z
zG8^B%=p*o+7o6fw?5L_=P^c;{#-B=Wzg%myvd)d6#%S)Dn30&04tHiCAOosSMsdUu
zRdII_XxD!N0(&piopQ0Myo)v^xK_q~Y&2CUK>q-69&H6x_M9F&kgBTjEtM0Jaq+q#
z7cxpv-6%Fj15sr<O{|to26Xt5XUj7t*^a0QB|&?Hh6swHV1>yPS9Rojj>xIkX)+s=
zFsYacu)&7=(Zz*RROE_^^Cn-HA%fhI#!F=cP4)#rPN``MJ%g(4Md;0j`<=!jN@ab_
zaaC1ObyIbFkB%f>c182I!4%<_?A!`N>`jUUY;FkF#DYKP*;DFI{<wp{kvN)oLPf~h
zQ89#&qC>5#oa>R_mlgGF2nJhyvREi0s-oy@C`_V`&8mG$yjPMc^%_)b>V{i4>*L(i
z%C2mtHuoerq$kM@lR`&96p2k!$^m`$UApLQ(B*JXDhScwnm+qp;o(-@jVOF7y~#F2
zL`2<oQSz(x4$6`1n!kO=sn)3>NPVJ^(1U8)M3g%NjR=CTahF4L1s%~$RTpLB*G08l
zG+FmvEvfJv#|hEQYTk4zP`QvT$(=c+k6$Wyx^bB=s5msk%50+UoI+z{JcM@Xm!V#y
z4VtR#BUjsUnpC$5n29igE6=F5T*TuMDmBR(b)pqj<V_(8{arz`&^%e}pD3KxDN|<t
zSW%v|$MOmP0GA+IMC1#|6-~Ez^8*DHZRFWeITqly{+KfjFw1H!G``y>XB>7qOE=<f
z?C6eh-5PbdE)ko1ih(q%+7^j+R3!7E{{Y(07iQz2t@k>t_MA*I8Cc$41A@`jZsIv~
zX%<*))w72CO?!UXgZ|XPQN-NHx7%bzMEZn>k}4vK^*(~y+P&u14YP40w%@u|r8tJe
zteWw0RTpGaY?ToA+vzc1w#vMRtJ!;5yV`Gg3Yyv1!`!(tx<~_!{>{4>l~h-APpDMI
zH`z%yP0#qX9HW|JQkFYnu6c8QPJk#99_p&CxCEeRze@Pq<7CZ}CooXxR-96{Lz%WH
zOH(xZ*D?o(1diQpy%UKly0sb!Mc!=th*8{pNm@i-sQ?uKk$ygQ&$?0SZzj`ua-EwA
z%fpdiq)TTx^bsIc10K?<Dma^xF8)PVWltSyiT6<1_K(n`V6e>ziJZ4|Q8yOB&Abo_
zZa#j<E56IsRzs!u)y4an?LH+Hiz)jp@jTF{H(L}zHC>lt;-aGBY=kMqzeuW6hMG1<
z*~r?oq)!Xp{?U%19_YQfPD#gMW%8xRh||n_smuW)iah6(WmJAqJaS*ySNH3-M$#lk
z-!AUTzmz0<h>H0wyl$(y?dRifzu7UVTG30UVO}rR$&&i=REx<)5XE*?RbP#l`h4_X
zrkaM<Wredot;Z3mTa(E0BAL6%RFsS5RTre3G?BMH%9i3-^N{OBJ)8FGpLy7Dn@31V
zu`Rr`e|6bD6+AEde}0Daf<~9%x0l$?M{3LSYov{eSH_UzsT|!cibxBDWZJph9`7He
z6%|v?>(PE+60vHd-Q#eTBru|u?vkSZU+EWi-~6h(DyP7&pN^KAqoR3|-8Yh9SLqaH
zw2Lv*lx=$w1XLw$MNm{-MHDeVr4&Sk6;*mL87oL8l|Vz|cMukr#g;P=PB<|1XM@9z
zNZCnAQ^x9_tu{nNUHqaZ-BiCEn4ETxJ`!C~UePOxgU{@usEfD9!l%#QrKW^x6@`XB
zK9?nCYpYEdik@Tcer=RC)f;$}d>ETAZrY(D5+aW2y7^$~j&U1PYUQ(C6<cyMst*#P
z6J)A8p$U8z=&8DX{b#->LP;x0k}_6-y5TI{b<T1D0GH1JBveFHMNcWe{{0PVWlTxf
z)Q4ocZ37J}%1x&HlztIY_Fjo5LV671hVcm#e@Q4V`>$SRSB-=xA-JitiLvfGqNd(a
zdTUNsRUyEdgq^}At1?{>05?`Sc0|QhIU+9K3%~n)_UVgk<%_rzFfojQwo8LR^dzxD
zb<yC8qFi=PTd$uhx_I4srjt+Xa|l>wA4vP`Fz}SOhB6|dIGY#Mw}3?b*Z1l+Z(j=*
zo|aToQJ3Wr42a0*aHA5UDvF=SCFF{`d~ekf7RvCH(CFAvLuL3rEfDfc6@AVKC%)yf
zs`wrJ@3MXW0H;?}w@~JS1SWfh$7aBnWL4Y$06wTRklmd?<XaLa!@i{0yqoR)xBk5l
zF-I0uvKXY>FE&U`^Kk@uZ}6$N)QkIlzJA?LB>^C(vaSGyXJ70rqqij)PV0Mscp%$<
zkWwOF3;mH0w(H2_uw+$!GBe(3=*p^ua`!RWKSC!YR{sEHL{(4k*Eo_1fp*3#2GO+I
zjl>qeD1?)L%-f3ZvUy%US8e?DD!K+anFw9MkomsToYHfQ8*193DkAQvKT;;!rrQ#E
zUD0>yCm%&)1$<WwTG70r*BEWkBWO@2eQ0g>Q|!MSklR&7U;b$PDs^#?+BnPcVArtY
zfaxgvfKEWsAnrTvyOJ;8`hNR$>DqB7-I~mVUg?QAqNt>#pQTZL!}s6H?c=F5Dze*V
zOY9>~81DN-3S53wQCIA!yX?PjkA>(RO+srLX+pfgt94p8B(!a*{U#!Uik^I`DEZxg
zbnvL1UBrfs#t6cj3J$`ey?RE0IJ#a_;S`tS`*rPH;)vR9&u<C8N^^-%YeQGQE+DC(
z3K!p~7Q-3%<izm$6?`7s@L%7lp5=ixMR7bQpFbT|UCl>gnKUS(yY64N_3MlVsGda-
zrKUED>c)&n+kiWd9mrfyK2bN_Hv8<0^YPH_rG11((diMCK-1`OKCxf*Pmk=qTwY$h
z<(z9215sfSQ-hl+FZq=hW!r!C>dIlomttU?`8^r8MA{MAN0-kP@JOhri{r=7Pi>9T
zPKkW<i2#a?JV2x>B%-Q{sJ|)W?cqAFohYP|d$!TSQrw+I*~R;9%kSg=01__W)1xa|
zI+TpEiIGGSR?FJ26GG&ui^W&UFNNR2c}|C|aQ9qvn~OY9g%@yicUAj;mvs65y-?Z|
zry3M1Vq%6u3QCE-%3CMj`gKt`(OuM46UN&wL>9QE?0!TrmB!F{DYhy}vi|_~JN$Gr
zXfhZ@?yy0!c|rwEzu%{{(4`V8s^>e!Rd@dB(*sFt(#sTTvekdWv1m{?0Ukiyme0=X
z_U<0b<r8D`zRA+o!R{)myC=@uuSD1-Y>Uk{y>1+?%kihPDl6*pAfbS6gR-W^s=I88
zsGc|Tw%rt+<{;e|;!~{Z;Hz_i&g>rJb_&;$D6Y0bOUV<*88KJF?d8N@2wU}6X_Qw<
z${^RXT-1ZQaZ*ijvZgAIAvoC(ZiEW1aoOS9ijfHkB5%|?N8QUU)v>fuW=yYrC$LIN
zahw*P=AtXQ>}u+ekDn@=bsEmw9<hZMOFxIqR@^5jWYNhsA4yHBksv(w;NpH)5LE;M
zA>+ROdge+3PNg84x`RNgETS=P%bJCzmu{WNjA?KNL5t<Z6o?o-&{5`vP1ekpVr)o(
zM2BTWPP5rN4sv6(68Ph8DNd!OSJA<$an)6k6K{|vpY9Idq=&Xix+*VC{Fcr=B?0AF
zhN1#PD9%o;dP82#`p2d=+>{h=WkqdXZKDtcQch1IB8n=YuDk{<sk&~?tkl&vM=S8g
z><O`HJ5F<On0h*K@`>JUdu|e{Cc@v)ggd$$NY@lDu0j$fhK;PJC1Qoy9kP<7jHfgn
z<A|G}?!FU!m*?)E*P_aAO&IP$aLjpnrm)<U(5U0~6;8slae49L*gQO4+|#y(Dx=7S
zRa4<s*N!P7i4v~Mw(Il1+xv8JhiiO{{{T0~aqU;eX|EY-Vzk|yrrjA&muS(Db-?6A
zoz1y8f{v0F%3C5TX}rmlWl|b~N?b<JZ2tfyu&~EktY~c^%ZDARsZI)<hhKP_?V_gW
zCfRZB32dN+xp7ZDHN83Ti=|a``p0z=_YS?feH^X#3ad+F9Ep~}=M-EJLi*Q=j>HNi
zDyWKx&ck5mIVE^r+vxmduyK!nIjdZIxiKTElT8~zA=BUpI|>`hCPJzx8+@1JUY2TE
zo&4LTx@lVsj#PJ?s)Z;cFeDEnhOLr|jXWfXicGK44kqBLi@GiIfGGVus;8r*1T<YV
zpy1RQj-1BRtj`nxZKs-<MFgL19IUa1sOw#)BY-B}5y2!8+v`o0Jav!#O=~rtYnI<-
zklQ#^cMd%YTv?HcnNCcILN8Z53aj0S;|-}cZK4r(Nfi+nao^72lib6Ztfh>MJk!Ea
zUXX}p$Oh^HzrNe3CzW15zd~`eN_?!XUvfZ7jMKq3EmW%J&M6re7fDrDerhS<Nl<{7
zns54g&B9`!!@bXTyIos}!cRPHV}2H9q|bE2O|-hl5z<%~y{+y+Rb1t6QD<gD0#lE;
z;vuS%5Z4(00Lf^L7jgy_#UT8|jieED6Eu4g$+L}4gOBFPJKi}(Z(Hnae->s_kOk#v
zHU=DU#aK2xwrb!QaZ*GrK^N0p40~4J)G7=*ji~ljD+bblSOJJ)k0XO1RU1X`3agun
z?kXqr@m=>tYJa9!RoeNJY5`)Oje}>5KC$ZFd57ezY2qeIWTb>*9lwo)`ysx{o24;g
zA)U_3;w@V5;lWEL8fY5a%?5^=QC{knzTq0DKBBWt^2$ddlyQ{Jtart^C=#P8i$*K5
z>`k99t8K@9(G*u?{<>jS`d_40deN!3a^*RW$Z^tH?l!>*3MX&2NLwf<mguSBQ9LUA
zb)oU!M!IXG2a;cDJol_+-_;9jSKdlTTxr&hL$N>{Bt!&7lO?q$Hz5bMQdAU9kv^#*
zWcpKy)M;Ln%EhcJtp-f_cqXITNIp=(f^qN%SVDFieiQ~u8aAi5>fKQ&!D5)#210#x
zJXF}+G>#?nZ>ItJSdY^^u2D;_nu9}?YCbb-VK$=1&es_Ner$UNf+5Ie)*J2Y+v3i|
zE-P*}eUdT*Bo!X6@jO!2c2k?`UDWKVU2cCzYZ8IWt3iGx+f3EC<3hx^J=o640c?es
zBy3D&w!vCAl$;)?70#1iYL!&2L9&;mmiN-*zbYPjh;3R_0XYbUqUI!XY}p2!l@+#1
zJ6pE;k8$6nQi`|JzN~3cLC!P}CT?C0E&#D-m(u<nVO3z$Cl!N@I9ult9TpjN#@0}?
zAtV@zIy<jgl42bxB$^Yk_X;k>jM$JDIrFOSwVkbOsJ+Rtsww()XvoF1#jCPPda|pv
zZn@a@@FIz&eQ}G*hwaOFsQ4dn$xPP9Z3GQ6%`r_)fu)dfdstQMv3YL->~82Xm>|nx
z93WaeBN1F^qk?v4`)A%3_%|T8PHRk)S~09LEBb?+V76Gi%FAaU;`zNN_;DZ?oCwoW
zD!MPUf!Jrb&$ya92zOXeCim}yOwaEt?ec6RP-rp+E?`P`F@uC-;T<v--gMFMx5wqQ
zDP!FH!bh4IrXnr~k|?$-=CV;!Q`X3xkcto!GZMozCltoAYzru+#c~9|rrG0hsjO)2
zr!^mJj&s$pn>bONc>%^|gIh8!J;epJcv~lslKF0m`i9ke4AWXQVwd?!4K;}#TX>ZI
z{<;ett}RD^-9v^BppXP!07A?}MejH~IFpYb%58Dj`4)3ks}^{@EUf9*qGS;zM2=PQ
zUxyJ~n;rEBoo8lboKEY2t~A)8Hf%WSjivqcZEM$!GhH;N)N1`K^!tt3Mmq~kj~_sl
ze#5P-hGaM}%aobsE((o0b2T&F!44=2#+Tt8nzRlBUwRHaIQb+3+)sB>58H}QWj6!s
z6GZJUY^^G3wFgh(1>9)ervzn;Sgl5OUvbAsLAT<zv1g)e0-*+H56XDDOyk#at*heP
z)EkEqd}igrGeq3lA>=FL?w(WoqV&(di3)DGR!a0mqc&KzO%^}+#ZF(HGz^v8bbo}K
zi|KB!X@&_MQ6?P$Z6p3jfe|PnZ>FE&^JlNw-IfEPhA?rarAU2W$KpF-kK&eS>ZFS1
zXFPzi>z>(OhT~*Tw%f`M2PVZ_(Zb^4!N^H8V}@#O-}Os~!%K;b0e3Xea~t|9e@}XU
zsTzZsRi*`kL%Vn_8byzA%6=apl~C1($dv(5!+)h!6?a8Wo;ro0dUuoO5t-7NP;h$7
z$x^Iw<(XeB*c$dDwsw_-h(u0IilX(LCt6kSM;UQUM5Ce$iy!odfciTi7`~z(m17+W
z7FAP-;dAbskjSC9%!i}bFMb4-ZC?U;T|rPSgj7Hg8~DzIV49_ZV>WmWmQRUMSvk8}
zNqG)J{0Wuv+ZUT^V{y<nLs50j`I)PuAp4@{G+wi@{{U4JOP(@7&>aVzY=6|;7t@~;
z3tj=P+Mg<1Ea&QPOma)Sj|=rbjLXB~Y6YcG#lMM%ION)0MTo5$M4pbQqivU9R6W;l
zmxP32)I<<e@q%Y}*w$f*S?Z-6iijCiM0_7QNpXRdAs2n!C9ygtqVXXUoE}9nce3+p
zO1?ULt&D9bgOo+gaY*<H<Mb`LWd{|=T#&@(kQIj1<Hv^5!yw&~?nYEpRSs&Rim97p
z)m~jw<Q|xH*0C}zGstf2s#$Vr0vrgl8n3plb`yY3?HQw45M;70AvSRWP^da3)UeFs
zh3v~~`@N4VTl`LvAZN}UPPZQ?$sXBJ<C@1J_Y>3#8tFDN#Jf;rcTroI$sAXpn}len
zjLl`_;;13od9+?*@F7`s6VmmY>67NnW4MjXNHv*s)+@n+u4%C*VB5io0=OHmcE6JH
zNgtGLDyP&!E_5o!qd@fOuB(Y=`Qz5L@v_9M4363T-UsDD2aY9*f-kn3*tYqhI3f}~
zo5jC0a7E{5lf%qv{{WeA_F&BcjbASo?Y<J3dJKXl3>kfeaLmwIlH1GzBB+9@lZc2t
zTO%WTK&@&8_;gfpIqWWR6rs^Bbw>ry<W=A49I0#-?VO16DBe~|XhfS8WVII2g>1~y
zI<r0*s`=Tm4r#-}1Z#|aMw{w?CY=)!pE?VgUrREYB~^Q}it1|u>-NDKQ;4oPAzOMY
z%rVP%L$;d^{JL%F#yfHvRK}d@HXSBh+-9Z}jCx}taTvIwC(<N2PB!zRCiDkhSmZ{%
zr=yc@awG-VA0)u<vPj6yZlGiD-eWUjJ&G-J7GT~yBIt=Qk`^;*XWEq-F&lA7(jRi-
zfHvBK_1Gs3cqP;#x@c=o9eJUZhamyA1aGYsHYJr;VwW^oZEDD!r@F0QC9;KG#ydrj
z!f79!1sZrrRcv4*b6Q}92;Yx2k>kw~C(~m1UW;Z9M}?5no|Wo*%MvxMbVvBL73Sl;
z65dZYQBc|=ghumSwg}o2?wY*fBs&`U*tkraTU%{2PxCinJp1>qdrM)kZq!_XkwF7-
zTtkCpDl<(u<6x&9wP^dC$7ueYYi+ST17}C|3mUdcDAkPnH*V@$7Ad64l;wQbb+aUb
zuVI@fBQWx+DmNBr3h*Wg2abE#_ZOP8-v0o0?a4bVPl=_1kKczxYt38XbFvI#6^@c+
z+HC>rd?LZx`pVnvh6RLgZ#qC53`+-1qUQq9pdk_s{jHM(hU%v4!%A_yqY{#tn8yu8
z!q&~qdsP1b2*w=8YoMgb3KH63`!|_eq8{<MV%tFQy2mwd>J(A-@r*wrZVqRa*F(3q
zrN0V{$0M|<Rg*5E=rP-bz_`q!X_+Y<rDNQ-@EemW1H5EK*;7jk9BWaqsG6BI`+TbF
z2$3CRTjbh;bhI?a4+(anvk9iyHFcyu4FqvhLL^a;NNR(cX13ZJA3m$7@H#Izz+bW9
z*Xrt`mJBI+KXIn9vm8c(4SliW*^SOcDt&ZkrB+LJA;?ITjz^VcAjPPTu+fvv6LJX=
z8cq81XNOQ^7tnJbPg1Alx6tEuu3pO>i(dXh$f$#}rVC;$*RU-%;~<VIA~37T)o{@i
zeqJ}4Vi)?2tD29h5@+W3H*q54m|$Ncby1;|r3Rdqk-_2@$m6Ob2A#IwY)SQOT<xm{
z<1o~1EWxAWkK)ug?3rx^#zkMK6~S9Mh^zT1vdXGNhU3arb*>WS8#{^$G$JT~jLu<w
zV>NN|8VdOQBs?}&0Orx7*TE_^!z*gkCr-DPxkZpx!Gg|E-LTAqTGV1z(lvi=5eP^)
zbCPI|86v6!XlgwqCOmAo`jeZhj&ea&{Tuz0{dZrt&fPP0_WH&>)U0yr9uaYedBvG*
z{96kX0u<!;;&Fkan9=RGC(+X#)KrmEr4+YB-4k|8Eg?97ZocpWZo8r<B2-P+?fts?
zYyfj`;JSm(%jfZZ>5g0cskr_-f1KaP#W8B9=h;dk2#{GY6L^qRln0uik*?kce=FfU
z?bB;U^iNdu=6p=sCxevYtjusDwC!bOeT1+y1(549YUMfkv4ytwf1e)78(s-Zk4r2I
z4X4zUev1{mp|g}!mX;SR&H;Kn3dra!yEp4~v6PLIoY9~zNUW0VTzISBK)p#!&UCrW
zGS&&#a{<cNAYxM=sEI4y!cb|nglrf!JXj@A5SGKE$A761TT)bgMrnH@*yu+5e3cj&
z8JHJ>4%`!}vQp|E8uodSTh%Q+RCJXuEu?B~1nB0jnMQ)^GZ`|D<kfJSF^(ubvvE<i
z{G}+qul-^}^p~R%bo&%>_0Mujaw@SG07n#pqOCM6A|faQNzI7hsmukWBHXuC2ej5*
z4auwQv1zJyuIYXBTNh<hxN#h^u0djS`!O?fcN;~HQQPEOpt{E%N=wTKYW}6<I-{T3
z=UGjOJ2uwA`7%DGP;FgwoL0ksfF4RBo)Hl|B6XdC`g3tJ)=+5Oy7%-~;xV0z2xg~r
zIc)5y4x6sJZW8XioO6+RUDbE_UDy8rKBj4wZ~p)eH43jRI?Bn+u=+PXzUI6oMVS%L
zq4phY#F0eXQXSDb4(LLtqMcT(=HqTETdH{zMBiom{{W{}T5pm-#<dQYC$yIVh;c02
zId9og1(a5pRpR2i6~*HFXaq{F?uw|JBB60q`l%Yz6M+@7$YYCMC|16q)6FWZfX++l
z=hPK0DUME*7BDcKVXlvFiau{PVvV@m!*WbF4O>BNTPe<hqARM>ssOY!TBf%d#O<|n
zHkE^6Sc4KIrKIgPzO=0e*XmA9L27H!T$9XzK#DMS#l?8`B?ag!1JV67$Lt-GkYC-_
z;B^xjIQYgXWadE4-L$6>TCbynV-Y9Ac0dBDMl*351SdHb!b&}X`km5ESk$<3^~&+=
zDu)P^>sVffVi>KP_D~pPNggn3i&1^ixaf*J;TeG|pF%GC{9$KnT9QE4*BrT@8wI}7
zS}AM$^E|$GP0Vs_r>R=$y34Hc=fuJrB8gq6z}sxoDli?$?aEkc;VWP&9^uD<)7ZhL
zK~3ML1<l5tdW*_3yh}%a7tgXgMTEuFw$-Yp+L*{U#%xGaN4&*<BXoYvvH~cmOTfBL
zYgS?Ex7R92#`Nz)EMw`WILk2H#^Kw}7bCn62_Lxk3dzip*_x6tf~behK}@zTzG>CH
zPNiWp^!HPw*5tL2?E7}nv$Jj-#<;2@Y>rBiosnFNz)@MTj~EpYKqVq>i%Egdj@vZ|
z{{YCn2R<no`(xP)^W)%-vW+0bbYAi0)f}0D3ToqNeXS(e_7{ET+cFr=y&cbHEWFy2
zCP<HoAv?=;CliKO65=im4lN~<_1OLpt{xvYbf`BgJ=7IBHZ4kwCK8=!9#mJJGHs)1
z1lv(Xbq8|{7Z}kD2(;20xw6&Wz;a!#F&5A8D+ieec`$LOH1vqs6HN-4_e~yCXb~1j
zns(8BO)eF#e~sf$!^iRbwnc!Y_FFU~sN1(F+ZHFXFY#sIR*9CzGl)(;jlcPezTGw#
zoJ)IB>eGFST(SQE9EJg|+ox8Q=uStQW*7BYHX6oT1`PPtkX~S#uD_{uOcDdo<$$Y|
z54I?(9$l}J(ri40#o;>D(7n?+R`$BPRK=Y&ON9I!%PPlW!;*2Can$7^b=!>uu~l82
zhK4PnD7zS!U__*c=nC%ZPHWENOfW~A#-Y0kZZmTnE$9rv@*uUQeI0VfnbAZh+=THp
z7na73G(e=WEbo0*S7CVulIZR2<{foqPSd#Vox_&w$E`{;sPwo%<=l%1k4SP5JnU19
zO4&NW0XfLgI>?fK(pShS=TYbBz)@;P149`VP5P$WrR&<6qk7FB0e4LFt59@x+sKZ8
zzzt}~vbLqs)ns+=`;lNHGOjw%6V1CF@O9^rh~`EK+Cn6<xzFckx}BF~I$I*=Ks6Tj
zu<Z56Lv<2@UO|TD2_dy<?3$3PMdB8TTyUJ55w}DVLvD}|sgjBML(H;0UczedZGFjV
zvP`E@CCR<OnaifQv{{1?=DQkY6!?(LR*vbiZ{J5KgYO$RUTcf|m6rkYDopC*47t#n
zol49f9A43kmV*n_h)zVww1Esqh0_-GvD|KbNU<aHnm=meA=r1e3fXm;JZ5>oZA~}5
z0M~P0w}$@!K?BAX0@r{msN=T^eb+3r2f}qb)zzM_=<cFV#v<jiBhYHKCRdnK%E51H
zABM3)Bs(}RGRut{Als4BOm_Bn!W?N0a4Xzu4vzY^higTq*|`Wtx#35QWe(NY<fk?>
zZnD?~IrikvBLZj<{{V1pp#5sk5ZwgzFA&sUPPwHfQI2a3@zux2;X4w_W*0sryt-WU
zd0e^~DG{+{qIkD$#|eAD@sqAAszOZKePZ=>qB?tu`i;u{LmqKKM^;u(;Q1ro>vkqU
zQ4&{_!NwgZ?v~^x;4kE<0V*nWwGJK7L0Fw*t#>}-)nnpu0}(I}7aCHco+)7?(w?%-
z!|}aQnSZM|N#0%y@Uh1)tYWocHK;=(OR%Vr+LR~XHeMH4amE~0#1L6UO~o|V)rLoh
z<&0?-xN5dPsQ&=V?e;G2si~}GOoHJeyv#(G?%}@qGM_@YoIpqku@ga6Ehle|>t33R
z8jVHkKD$fZ%Iny<DKe!_ZavJU7Robe0Es|$zc^q?WMQ=#)r}z8;2XHwBcu(W3X@PQ
z^IclQ>h%}YzHC_?^@dn!9_I4g>gQFXOWK%W8Z<$PW@^(YuDJWHs|B{`s%T3_8aFm-
z<*RE$O7Fg#c&X=^lR=h4dRvhnl*Q6~UrPN;SHAuOPZH*>+PU7&sPR}#vts$Sz{+i!
z_hgdSS-lcCFwLN$Gz!=_vB}_V(dp=ZUax7cUzU1H(ak?goNAtxtfpLxIHgl{XA)zm
z)G1S98;0$?7$?kDD?|cBz2^&&qAoYoyc;!REB^qB(6DlW3fFtuBCl<ieXVIKEO*>U
z>PrxL3bu&q2ILB<$X9-x`UmRUQS}!jYM)sBRn}wDD>j>rWj8d4!;uZa7NxM=gjlNl
zC2~4!h$2k5L$Z%G66&dbomQ8|;70YX+$p+^xUw1<AUax<`>*I0i|DVUe5W%d!Tl=I
zGo54dq}s)Kn6FnzuyNgzRH*7?ZIo4Xjj?RpG;Gt75RYBj^~33szXX$rV>w0o<<DHn
ztH*T3j9}wjR!Tq>kv+I<yhhwcwh0F;%Yh?mf`o^~0W`nXj%|%lVe@cIhMPImYuQ#4
zX(6|hIUcg`M3H3VcP_pn?KM1T?4qb_-*M8|0C!P9Y*RDzi-KF*YF?q`Y}hlFUf5-C
z%f_+uX3J2e48dYJw%NE~#S1fBCmC{6k<HMLzY-N9>mEkA^0|jKsY+k3Dti@NRAfR&
zQuP}I*26Q~`4I7S)4T@lj2|8cCR8SSlnx;tWP=4eE1M!<9C6uGy~?8iBn`0GaU?}>
z(IVwJMK-79IP~i*GN`EWhZ?YcuID9bw6&Pa=nMfkt(Zt_VRg^}_X6s=owOoEWkNB{
zM8@@W-?6Lob9;Z5N?>eWu!o7oHXDzyI_XcjlrFa&Nulo>Oo18$f}%^h2-^;MmrBT!
zR%Ee{<4w~*g&-w`bMoroy(Up4F^b%_UMGyf&Iq06$>elY36~T^Xp0OYbATEHzUR+<
zRFY2V13}dMdU<M&7b?EW)_Zvs5Wgaxu<b8R=jZ$9rWE&{8rV(Rb`Dcy$+U#%xEu;d
zGNLBvf(=c_@>^V9j5P+q+i|kS2HbS|Rc=3WX&INK&q(v7&PNm@oOOOEc{y7&-~6%!
zS36VdhAXTyC^Vjz7}P8dQnvJqf5eHGZy#mXO$lQN9H*ii(Z$9}GpeW^)>1)(Y$_4{
zme`)U=-qBZO&Xi=dK|)CW<hB~O%}boisq#pDUld);)pG_<4iWni(8wB$$e<2u*mS{
z0hzS7`O9BADq1Mw0ZPjpf79NNWH$I5ZCr<oMw0AVQI{sj;ZjJIMG50*B**sXQc2d@
zGGUZ`JFhm$i6J4N2dm7Z($vVqj#=RM*=4<qf5V!+#H-jVyrvxZCmZo5E1^bi9a~a~
z@Nt)>5Sb)K9&xt~faBv+w8EP&or`5T#wl5d+2i@ONMY0Kv4+}hsZm{%E9r7Pav0GZ
z?zZ1>kx*RXh9)nvsA;J>bD76G2st)iCZ87@Ugd-b@`$ZLp<u&`8`7kUYa_l0@JMt!
zkGv0k3B)^Q(-?gm_gjB$DX+(}7Cgo~qWyazdwo;Xxf-=sP{y8S`Ar^0Ph8$x7VA2S
z({gQCulDZCq?)X#$TnI{-5A1A+yii%7438Cx|WkYsM5;ooNLt0n>g*|S=lb0-MYv|
zfD%?a?nee1j_dugn-$asW01!05t~lL9finx*Kl$)R?jxWGMt8VTBadFt->Z-!=#Tg
zLqZPMyH@Ph*|6-e5f)oz5QX=R2$dI-im@BC3Jencsy#20aVr|n>?J|=wWB1PXyyJY
z$b+h44T!Zl^+R||+qe0q-y}`A=78a0YI}H{Q8nkYCZ?rZ)8v;IcC)X?S@RkSYX(8q
zu3^_mi8{~m1{-ylb#r6InKn`f0zTYVk+%rfavlZLduWeRQ^C_J?GnkbcXGIlHCtNt
z7IKPGxF|^~RC!HGhZNojXwrh2xP;?G`U|E!cxfGl#wQwchjkT}s#4ye=kffOTwsup
zC%oiDVi=2N4GcRLjpt4G7rNVR_FN(3)NESzo+A<Q?F3@RlDKAje8Vi&3~p_eRfDkz
zl%qZPt&DOxj=bV2$QZ2o6L3p$Lh45nWG0sDT2t<t!rsg_xAFY_sF`@qPb(`)QfaC(
zY=$*-w&BOFuAKBK2`RU?VZav8i3^b(b>`KV4Za|)f`h~>)iu^zquN!eb*9cK2D2k`
zF_|6-y?{n0wm9(S61^@y&c|&MN&ah~Pde&xCj*IYl&sd=OI0$YsMJYKWjUl*n}rp0
zCnC1?QNiY&Cm{$%2$c*mxS|wyosi)#hg@`t0a*CnmS&p4r_uELO|%B*N)Di5JC5a4
zkOE6n-50r(xTf4D!ZYotq67W1an&clkXqQ6rGr^4JbwQGrN)z^E_@GO=-)~4XY_L!
zy})sptwCyK?CFx#qbkYdkMNQVixQ4Wyvs`WBsF)o!%h7vL?$R1f!XSQrs5WLc<uwF
zS>;_}Pe^aoXBMj5xY8a3lQp?M{GN)BD3j(W(hEJM;-*KpS8w7PnNyli$TcHUAzE8Z
zVl%QE$znu}Nl7VzQa1sf_zNu?(j<|v>&9*>w46H%t)&&Vf=|r%)JnU1jK3#*n_OQ1
z06%6s??N^WU1;O5_RWh)#Ff@t7;)bc7FAU|kh!4L)O-HE$eSr?tq)yrMfoHRM7yeg
zJ-+lo46%0XU%G>lvFcsLfi3Yy_{@&3$2Lsd5>;$a1VtKmxFPha(>oIqpudBfC#G#<
z!XaWQF)OF7Z5^xC`^acr>{qlSA;`kAf$%u48am#_jhZ$f6|%iK(nQr?_}Z9;HK!4A
z_hCqtZHrPi!q!R#Be>&6jy&8brQGha<LH6khW`Lz0m9hO-pOm@!jXD0rrX%7K{i!m
z)zafxwE=@Ait9-*JCOxfkv2wA<03YyN@iWfNo%7bhtjt9Av8%F?gy<u0HB*3SJH-Y
zkyYw$ZK;*&>d{Q1D!j)Pn~vAo!Y<p$kI0)5z;u<?;mjA+@2Hp+7WO9xqHKE^SWs!C
zV%ng0b}*UV&n8QzERC+rLt&3`HY_IAS-BQdXx|pvamM4Ch`NnzQ*{qdDmBj&s*j$-
zznO=|S3TuStD1&mP}nx$_Frf4!4qtgXNb|IkS2!Ua6{R_E7I0+@A!81E28jB+DgHL
zQ*Q7~8mN)LiM4D<Ty5fib9eH|&hIA?MZj%KkA#JwKDY9x`{cZ1Yn_)sd~5Elw42lJ
zAv!%xo9;-vlZfK(R<!{gZ9fkpm+o6_S_3DU2GfZ(+#XG-ID%gYBYMGOi|Lii74uUc
zb0qD)#uqm%Ieyw~g8_Nvi50PZ`5%-E-Jbawx^1f<*>drHUO7f7m3|kA+PLLhDz9}a
zbd+`GasL2q+wPo&n)#ZFnHqypq&DMxO*o#)sTR*)?Qz?h{JSx@cA6xf{0N$i{d@?O
zR*%SO9)dtlyyKwKIJ`a33bN@arzBNUL@><xE_^mkErqbq3US>9=<lNHO!`|l_q4I6
zLA1pp$H*dGV)9yc=5rGYL|5Et)>}~)0bAl?B5F#gM1U<e4NS91sxj*$^#STvI>jnt
zR?KnOjO2GNy;}{m1w?R;TDKqF2`?tirVyGP(0AQUL}+z$Uv)Me&K_AFH<vR=1qROU
z@E)smr^x%hWWq-y5*rGO^r#8~p%SkxlRau~lVJL#dyh-j9VD@It*@rSvb~9^sRQtf
z81Hrz35i7OExo#sep{WQ1Mn-=!Wr=r<(2gCxu=~J?wb#Xj2PQr8tdg+sD7?Br!(~z
zPTN{#su^wNZHpx~V^(Jlnvk0Z2fA&nnNG=cxQII2E+`KUE(j++OO@?0TgoJ5%ZiDR
zy~-I!YIuM+V2igU1TrB-MMWM+DyXQan=bt~@-0oMt%WB}^2~N+ek$zPEqn3F>m*#Z
zQHZ1?Nd@)zM}Cg;9DE_ElZc>z39kB`KU1^Cyprc8nQa+sc!a?cf8#JG-%vGG*;BYl
z^rsXQUMclIO^o5%B8+!N{{Z6ooO}Cs8D4wHVzw*OY#4^yT#47f1b6vGR87C{<EGX<
zOOa7}f6n1M9x>X~XZ01fV<pyFVrOc`L`7md#At&p6p_}!cNY{45k!bN0);${F3Tu#
zD+-8K@n+CKz6!afk|U54^COc6tr9N9?S#oU5(8bg-8yJ$?VdMjr{17KsF`9r`ILJ$
z>|C>PVziHqO!n2*eY=FK`H!MJq^O33i@7H1+-4x0p}KMKA$JFd1oyA_DUs=#CJ|>A
zC2h47=+=}*tynuhP2xKp#$+%uTQ+T5CZBBzJK*56DNT}8a8VUGA}GBszM-Db+~gHX
zYg{Vy-@|MBjW(>myN@`?swpsloXwyu_^O~dsG>^8(43;8H>e-Obn;|Lk!~=UG8Li3
zCeL*xRou_5kSb8zXrq{;je(xdiXaCtUP-^tM_3+xLzBVIavQjhTvcZFl_ui;65_T@
z+(?WqO0Aqg`Zi3o(KPfzM+A33<Xewf4V|!d_1{gkT2f)${>qzbgzL1=IJUwt&raj-
zXe;crlCLPQvcQsJ$&78tl*6&!L@?|&>m9Xe^CCu#K~T*Ug-fB?W7>}HomSvkm*KYA
z9x~OwDfmV#4YE>Ogfn5db*XK?eWuC9aGOS$;<7%Z`U9`pAXpt{qUnAsJ?~|2D@WR*
zfYhlL0?^1Dspgv$ciVGBR$6_vIRUVr>qfbX^tGzSB4fEGf!N=?%efv45rDFY`>m9f
zZZ)(@x7kNs5@_3Xxo)FvuMk57ZAk%9Qcl(GB#lLWRn3ASM!4AD*)?hPM^m!dSr)Bo
zHorTqI(s?UQD<W=Rn=ZtV)oG9?K1PxN*F%a?Ge_MrrO-NlfXtuu66Gd#BYuUJ%(WV
zTasC1ISp&3+;=h}42}XteIm|rxK12-ABQ4JX!dSmJRt8CVAL0IyxDR*TOYQ$nS;hR
zU08pH*;8ZhLz8N+S;>;*Sql+K<T&rgY}`;5<hC8u0u9j)`_*=sU1}Cu)~IPtv}oPC
zD#R=zt`4K(>MRP#Se9`+5`hQ&LAfP`Y}z)(;B<(eGF2A*_I6Cl$^v~2HZ=Wcg|8F7
zuc;pXE5=m^R&i(#<XDcN{{ZsMwA8@aOvaFF=hq~HSj5Y2ONztf4FWuEND_GrIU$J(
zsUe0rCYwj_2PyQfix>$wqau?r8<{6)QY(?p>~~wPCu2VZf%Z9fyUL@mi(u(?_aD@2
z%=;V2nwxQf+Tg6w&`z<bnW!f{`o|q69*o0sJ?a}V*$3O~gNY!NT9kz13xL|FPA6B9
zzoXa=foc|f?r^r5mBrooSX;1HAj}(C58Tzd5*OaS+fo@6YjPz$)RS$Ldh<tY#<ZI|
zUm$o``k^DUbDv5U>2JDG>ISp=l*%%v^z%f?ymL`6X{OrVWOdmSvHt*;sW`kr9@l1^
z20ob$I$f1cW~AG#BA5uXeKg*B;L#mM)3|!67P4K|0jgzLD-)ZM1D}oJ7qOu_^wsXX
z<D|@2P(`;@HUl<+RRKITeFN#no8Xy#RX+rvn~*gk+_Ct{jl_O4dG*0Xb;*m~l!V)L
z>BNP#2gt=)Cfp_bupLpPnrEUqZ((haSl3~Hh-A4usTX;i*y7}Hw2)3AL#lE>lk*$`
zB@%Fr838~LL{FeskH*H=76DPGkK&&?XjND^U65!wpI?84A5L*hGA2tG8@$oEwyfC{
zgOJEn8`0uPN4dpU+i<zIN?eh*JE%Nc4l0VEs4c4TeL_UY9L=Uy(bmVgq?*af#w*a{
zS4sD6IMtVT!>k)ko2cY<ao+rw2Z@4mA!6xVoNgNxH8dF%7?MS$YPvmyxw0d=4m4fx
zWF$#4bVVBzR3k>4AyHmDi4?09$Yxg2!O3z9Shn$!IxsmM?nXqxNKKGiVk|bsGlYCd
zk(lUQII1CROV%^zkWL&$c@<=Ewa{g)JQiQib?%!5%Q4K;Ct~u$@Qkv#xabk3I^}E5
zz*KTXrFGXm+f4(Aq6xW^j=8ZKGMxD{pZ*U%>m0AJ$0bCp#3Rd=-KE#NwTCt|g<-oV
zgt?PV!)L!Fn-!2wn~jhleIk_?x}&8Ymo9RQ#`hY_7^Ovm#Ul`%dC-#uvUaqs62FR|
zx-35Mw;kc*D4^_yjtK4_kZRV6YTlqu(@L#M!fWj7)M8XqIPll8YaTER*zTH52<=Q4
z)u?Yakz_RM3VaAdiEX6Q25{E`G{1%YzY9FG5awrP`6K2vRxY9C*uBP<VK%X8s<FFj
zcWmKCb=zv_Xq|@x-LC20CsXr5#)+m~f3}XAqHRg8Q!Vmofn$+SWsQW$!8Y3)#~+U>
zBQH3J=t5fgVkSz{J(mcdkr^E1oEs40ohZsyPwA<<4OYT2!@o&2aP4u)If+R)@>`Qq
z4@ip3j7V{*(Z!a{5fS#$w*|r_GEq{m#s^(=mhRHr4#O49ZJMjFy0WpHV=Cq3vQx0D
zon+%h-ig{(R|(bZs|6f|!rO{oFu{z^5gJ<eHS_b)N7}fYlJU5vp2>rEZ9`#Klt_h~
zV%AMmwCLN%VzJhx`<9wCKW*4)reyBIH^r!qxUM>mc{MIwGPEKdZ60jw!z9b4$D3hU
z269!{LT<WYG$L`>apqbwNW|MD*)sD=)Rl_cjhY6?YKqq#WXmb=maX+d+Ma7vmhh}a
zu+73+!;p?M9#3eShyZIDWJP8>juWDso>X-BCc!?Sax0JID7o!vSU(zWb2k~V$4cCp
z7cUN;KeCRISnkTP6<HERlx+p4o1WP|ZJ-gapAr5&Tt&?``9}y6Vra$v8Lq(KPO+-T
zBVcr~7_!D@&#;4Fk{Od8c^Wk@=vRnKio3ZR=%{F0p^2i3@~?%3<rOyZEA666krB14
zb=vOhk;%1hlA=BhprL&zU_-K^Hk+3f-9z*`f;BIq4I{*DGRw#E9YV$`B&9TW&0Q&{
zTFW+~^N)kb)Kzdz$tv#3Dz6})ClGpX%5MVFJXRJvO5AATF@c)OFlAVE`4T@cxUidc
z)Q|v0wBjIzw&;VuSTV>ljy3pOGDceBHX8Y*UEVW}Q{!=F<yNn@cJ@OOongh2^vfx)
zeGa&j0r$)lP<hC3w`r!tjD(YNET674w>jpl-R7B=O=C|QH7s`TAO<w#*<*#6680To
z{w*Rr^mLYpKnf^Ls;LPeb*Hlmt2p}ai+{v=$u^X=>{`~%jRo0~!nI|C2VDT%Wv$(O
z%w7jgk`pGKBy_twFH@+r7fEy{0fQd;!c}d2YU=_jb}C^#VR-XgNga96Xy0W}RfgOI
zl0Yp035bB2jqzhn827JLpC%W#{<c}hgBq#BC}?EMiZ5QstN}|}F>bftxol0qYOE{V
zahIWpIXTB!bz{4?FZqptwjDOxNE&^W+fj|(PqJe$nLZ?&xe;rdYD<WqB*`np$*3~e
zs*@zy?&2zvs*)u9vJPuyPBxYf+T3Jx*|npMKaSGaO-hH%mB{Z5SgcBE&uu8agmLKO
z#DPqN5dlS@YE3>LbA5}`Uqo?`q8ID38<<W;rX(Ms;3p!g7%M1e$zwRApoz#xluM^a
zo>sgYq`r}s(GX%38c|hc2P4BYoh~1o>)(XC7YeGSdP9vm44Z*2=-rl$BA6md6Etv$
zS8uFIMtxr65U(^Ii&3+f*v>tbwR06Ph*<@cjH)f8uS-Ux!;uf$H6m(AXiNcxX*PM5
zln7M-(3=v=EZ9bK(zwlX)-MTNY3fXDF)HW8#ZY6#l|DzgHr)kYC&Zq0Hx+R901WB;
zVzAA4$#I-A77Kz|;(58re!m#3k9Ko{J-kV9t{^<cneEBfTZ1*0hjehv&_zpamQY+D
zoE-<RDt?uaM%TDBnhM*O=hZKCc9%@OG5XB5X2Iz6S*AfI!G^J$m!rDaRZ9ldm4_x7
zv`lw{i6A)?NyJy0AV-m8F0|CfDeCna9!nN1Cag*i3C`JLHWuFcIKTPfD4B5%FcG-v
z2)1pbD%uGVB!uIaJ!EQ@mSujSuXSGn&tH{)iR5g+w8BRzetO+QvW&#o_Vi67MeY~}
zo{&z%4W9x<-9<kytq+ghvm+3q)=0N+H&1m2!peQbNrxG@LeIB$IX@)9=+Ra0Kj6ie
zIWKLKPH0FvAjIf{#cN6*MK&Nz*(m)jLYX;Mq3V8&X*7$gKT!90{f&fFiH*X6r$*bC
z77l_VO;*<0JdxZ$<c>J#nxG(Zan({@Tzv;=I_Mv!jZV}ZS;*_w!zjO5_gQp{XZtpL
zGwp`a$L9DDd_bPvTqF`B52J{JC$l?TLIy>9U!|70+wie`UHpS9$Tb+PtXYWpwy2TV
zuS)b{sJM|TnwU5pv=nK?MCwCXuBB>LQ*=|b4rDqUVl91E3eKi?n1sX4^Jy(c1f}fB
zkgSTlE)cyTL{Qsnn~T(OVccOL8WKfoKxtbJH`nZ%>`0DFivVd#?k~&P8S1a9N?Ush
zQPK?;g6%}9@J_EgxTt8GGid@FWlGG%M3X2134Qv5Z8n5189l|JRP9D*3r5P<9?~h4
zF`~z?vVM#3RFP=466O)VYQ+l3bV|+bn*morxYe<^k&z3CfS$C!Kx{L+sn^<r>M-oG
zY?Kx~jLKT4XO!Vp0d6qQZITvahyjzLF0^flwy30vdsdDYgkczy&T1~Lo%%UYQ8HYg
z8_I>Oa<(&1H~tByVK(~581C%RvLY?XF*O7?HrqkCd=R5rZ{Tn0pmg}Rf?O<m*;i=R
zo{qTd8U!h}6p*N^Cp^>Gy@5#@cDO1_b&0P!Bxv^}Vf!>RmmrnUV4=fc-F>x!YCT37
zQdcwEYRdB45RU`!+)O29Guf|+HJFOv$L&OJI13;o@C%*S%v*33)*DplZ%EtHXK&&q
zMwRASYr@dKV`R9Cu)>L_UJzyh#geT*A-Qh5#29hHR08B&__zb7H4_b@#<ECQUPqS;
z8AS0p@F;L5<TmU!+HqcaBuRDRjSyZ`?3IL(6mSrPMM*&g7}r9{h`(KL_f%nw(nJpq
zx}rzm6dBa9xVz2tdQ~j*wFYbhA%K#ute<Jg5}HM6Um$6w>z@I0^l&)+!WV(f(q1=@
z+gI4%wTNcZV^!G$Z)BNe6l)2$uJd34$hC0<JCc;qd7QNE2%(8G!$=0=pW;~VQ)!Gi
z+xAydYdxY37B^Lj5LP)NFL9?NKQ?-{QzVcwpzHG*ZJ|_07-*Dw?SV04A1tlSv5NTD
z@aNO47-LI0#vx2Ya86u?qpsl=8%nBYB~;bbMo^Sd#cdELsC5nfz1Lk83u-KdEwqK}
zi8L5)V}u)(bWOoiVn#;XYKBSx_G1Lsn?m-C86(79w%vY1(oLW-RaZLt8rel<kB$qY
z)-`&2hU3=-4t8p|qSgV)Btw$jEfb%a?i}5QSyJ2wVj=?J<%g#q@ZU4Gmy6hCIXtk8
z+XWUhYE+8`IvN{&uW;HjNb$O;J*POBIO}b&o1v;2Tw)qKUp~JI%kxUtVN~1-CM43Q
z2b~2{VV5H`BvQqqR6$@9w4@5_#AIB0M3b?vAcIge*mI@9RKo+zbp%kG@%;VLTMNx7
za0!y*`d#$PI-Y1eZdqJpGbc~8O811M%r~82NL`ld_V#V3$sBp`0)13T0^&B1>jtDT
z_%=zawz%_dfki1HI=;3$#H|FGOgO}K16NsX2nAS}MktS~gd8{Np+&Bm5oMLg(VRzE
zBhSqu%5liJG<zptNtYoQC()Sh%K>Y?tbrcPuHe`g4Y;Wy&(t@x^#z7jlzFvvu3%ZD
z8w&O%$8olC`SDR*Rvbpxn|#I8M;#SZafi&sOi4HNPnGV<+jBLqj~}w^vBw*8Jk)R+
zb<0&3)NiLfBh*a?$bCC$y`8REljgYi%A~q;CUIknksXffGoY!uvDRA-6EZvD^_aKd
zkLq!9-bYiHdfxQk{Jp3yWAQb8FRk(X+aEgFzluMWz<GV~M{(jP^id~6DAHb(DA0<%
z%ViZUnJ{$z6^1iMrxsZ~^)qxC{CiwxnnWg9dk&t|6M8b$k8#B~4hTsm;K*=0vE{DF
z+iKbkj=JKh3sSQUdB(CU*L3GUsA`8>?Qy2sW=0)pLm`HnxcbOm4d9#6pD{-idrUZ}
z<7wf6l0hS04Qsyt0Ov2tIOSx}x-qDw2G(E8fd2sLoc<kp=0ROaZ5hX7Q^buD6#4a~
zV9L&qJ*Syo4Vy~zy7NBK3W~QloZz71D*pgS-~KjQ1FHJS6g0YNc@G@a3=%#^rdP6N
zl!n&r)Re=OwlSDcIEXXZ2yQsbr@5<YswnWPQCoUg!nN|FJkwa0(1p4>%iubTna{?Z
z*=AWX?b*tNWA9}OvcoQvq-dj(FbY8&+i>s?soEED%DarRo~i7ayV(ygm$O-J${0*i
zg5BI`mPlmN(h!mnptP@Tyn^MiAuFVXn2Cef>K**mIDA87k0i`n+eSTFTxU9Qgladd
zZ79ZZ%*QFBc2y=3A1q?6CJeX7@Y!+BQoJP^LtI4_UGH;Yb{&w2UN~N$CZxoVL8X}F
zrm=8v($=olAwJ8ixcinxr4HljgsuRPJ;a?ACevhIu|AXK5_LBTb4wE&tQ?CUq2A$|
zd^$wR=WArxMw-*Dw$u?g@R@33{J%7adoFNg6$tv&4{Pnb><BduTT?N5`e%dOF+Q5e
z4kb~jqFVdFWsY#voKE8LAz`%LwBK#7WK9gFt`@)HVd92a$!MTAx8*S~mBTc42;@mV
zEj(rbps{~4j8eh+z}XoUa9Sx(mdZTOapY);z)&_=_|K`!ePMx;Fw13++dz)K%4~|)
zY+}3w&vm02LITHh+EH{G;%K5@Q6i?@4nV5P^9iyju_AgMZN%6$^^VtB7)#B8w#B|F
zIzkCG4PH)W<3uLoWx=v7`K6KJGwEN2b(!G#Tx+d9p^)7zjGK6gNYn$A>){4ORwRNu
z9UP9%#0E|_j5G@BB9}>!Mo<3$k>0oKiU`a3f#93;japM<(bpr&BH6vzM^4R!ZCf!=
zL*I79TUFV2P9J4YzWq|h*6ljBiA^es?dx^EKsX^?6qJ>Mby+zMBb+!k*@~lxtK1#G
zLi7hK9o0OVU~48NV`G!ew4!t_wEk8`k*i&d;i9+!?Zv=XV*<%2?vf8K^F6{+Z^>qy
z>AqoklGo-Ly`Dk%H4Z-8Egbj5c@}Q8VE+Iv*Z_hF689I&Zacb)Y&$3xM%uaka!n6=
z&Q=6hL7PF&qsg(XZq-|g`ZDX5l=30{TQ0~Q@Dy<rQ3(_`6%rNS&r*oje+rAY{d(ZE
zasqTK7vN=f)4OepFsR8~tFLT>g0=?n0wX^T87QHb6knwik6qqHZNqKBMIkM>-*o=~
z<I+2)M8XKwd2LWtd5_P8-><5leY)m?jiLi-vL^l&SFb_2{a$wadHL(a6~*XR$|v7`
zyEY9dCj~@Zx7&WW@5kyvRoQ+z>M6Q$B1BD>@3)?~x;0;SBqc;Y3-Pjb`(*t_XsPy9
z`*rY<;yuTY1RooG@7I#xDuj!+>$0M+^!>W>B0ybNlJB<v0Mp}czIOv{iGHL{DZc)C
z@UHmSi5JK1w_g<+Ro#A{>9YC$-FbSUbVilZU5OLv@xSla!e!7@6&=&;N%Q^x0JmRS
z?Ew>wk|}NB7xwF<i7Yfg=@A%wF9cOx)pq#n%c?S#=elmYd~T_~UXiB=#ldgsQuDg}
zbuC&D6ix!4_?1(yoW&6bf^Gdj_Up@(y;p>c(5A{OzsJh;_#^Q(brn;Js-iFV@z-7`
zo(xqJ?csmluWZM3g%CrK5^kHW`}O6}D!e_gZuvSYfGS(A`zMdTNo`ZV#`OWaJt@@b
zl=gVlt&4GL@&+OsNd{r2?Zuoff{Q4syR$vLgU-vuw%xszUZyz-qbO1ta%<}v1kr$U
zSZY}T6CmmWp&}ZAAfkCCL=^I=y7M~q5VutF>Gf8=P3=sWZN+mOkAAIt7mPV5f)34D
zM35Ue)5>2;kOAzZiY|vfU|K4bF<@x~pbZDre4|F<+i1qCV%GBKvaW?iEjSZSN`V=n
zC0I=vAT|LU98wMc06p!I301^J^_J-M&S4S`ruuixFPMQQ?Wd;N;iMsA5Y<~I(Z>;{
zn~Y78{c%ygM2pCgSM^r2Z+&51QSUM)qFBOtU8T#O$r)|vVIPyR+vh2L!N>&WB1nYX
zmQ+zwn+SbeW12B*cQOX4&D3g~Rwe1gn{8tSU8hMh+;#rr#RQybMdw=-=8dQ3it-Re
zU6QxEvyjM0ZFT<u6ig;Y1^`Vo<Laix*Gzi<0358twMM<?0EAX%rpt!13HQL3JeKFN
z3`$c(%cufM*#Q?g@4CEHhygVpODyoq_m?5DxytININX+P0@bBz$s1?}Ja>SHXxsk)
z$!bEcmgKmEL&%6*Px@`6jca3fk!r-(G6y9ri6s`XxNbOGI4!h$i61@$O5nPJL_bQP
zqnykVewbqMC@*UCD-pJ^lLmVc*B8mE<O3}_>xSF5t?*^EF#=U-2W8?w;2I#PsSX|Z
zc-&mlXn9-9s(2!qlf9rgU&iPsCC@Rul52XbdOe6i$*S3KETTC~gA#i#_nCU4WH+4V
zgbbKA65CQWQR3nc(0x#2`8Fe_Q47=tl0cxafhv|&O`ToCQ=ycIt%GYBsc~3vntXsk
zw!8j8#XvIcnh^Bi#eFPbkK4|3A!IA;2O?@EV1f5iRd_MTW47VO?DBhJPX7RgwngGx
zc%ZN?^ge?Yp_yZeU}aZY{EFKi6C8;2h(=DT7{r>=Zrqi5I}SMEk`C&uj}jh@_?#3&
zBWgk7ZA1)*6(BD<g_pGw`xVQxxVc390mdt(RXqhJNimpFW=O9wRYuxFW<ap6im1j$
z+(1<#{KQe}MOJ+m5v8xv?I)J~X*?r7!tWoIX5SfG^AmG$5R&LNgn%c!L{)R>0wPYd
zCSU3D?>@n&+~Trw8z!n0e*&q6RVlbqpD<U&k!isli9lK>TmcSdj<!Zh;_bqhNG|Vd
zTFJGZ3`~CCC5+tsRr?z>f`s})b=gAHQ{s%fA7fKT1BfBJ!3afM>EF%4_FxlXwS6t%
zgkdou-O;Y}OKf{sEix?Tp}ZohZB1;>c5zlIA}Y9T>;URVX};rat8Oc;x%3h^h^i`p
zN_S6FlwQevXz@F!aqQT7Md-TQO|*}qqO0tox+wA>2mvW^Aq7O{N{YQ!%Bay@E&g!8
zu4?5&n^RdP#w6Mq&PZy?!KjNiWos<H;*vUW+ZVSNje{=hg1acEOzO<TOd8D>8G9bS
zx@zArzoTX8a%*8FV~s;gHVu?^Kyqo;Uq;(-)OY2w^4$}uXU9O_>NfS=J{%;j{>3VC
zEgZ_MtlGbai?mZpZG3@~CH7uKj@g2!h=Xa(2?c(mBQMY5TZp2qR=?>rEzS((C5=@T
z2!1H*VU<To%|8YA+E*i-DG~T9Nw{_vBBQM-BCio&tysE=tci)?I<p@I$0M_MrTTdu
z?gT7`2*?H+kkr%|vRPDY1jQi%12N6SKzJ9pTuY#DRC&gC1396hdkLzjj^)Ws!|5*N
z1JduG?T7gOJcS(P+-OmjyMhgY5|AqG*I>ju6(d+JPxW$qH}T^x-2VWG6ECOr9Yv1Q
z!I7!h#hffpB=>F4hYiSwK@Zy~5QxGQe!UEpPqNzfwpPf5Q|eY8kJf5!#bZ)t=8~n-
z<<}BcOgQ(hOP#v+fUQDXfQ^fh%XugY;+H0se#)wysK_#$&c!uX49RNWVtwV&SLYL>
zKMlE|2it*|!fnxU<8s1EGAGB0A%`JQRTMh1)lBP8G})a#)BH{qWpkD&)xIeRmOL?6
z1G@1$Alg|W&O$z&fg}_|Y)A-5c~>NTtXWtA>gr}cvy!i<;o`MU63r${omFEO+2%b{
zb!$~1qQR~NYGFnQt;%swn*xkXf}?UlwJvQDsR4?8J!h>%z;f+v)~aY#T6bNF*Er0k
z3Z3k&nRZuDB=UMl%Z^f88J_X><M$CB1CCA){KQT|HHG52CJ#$}D(fa{U4><Zb;es$
zT-wT<*6ZB%)1gJ3#wr>MsM)%tTM=+&y~I_V6Le=iNi~%%*WF03DE4PpG1Y0sJ<ZmE
zmS&?{a&Uy5AIntc()STn2dvoObT4#`eQje+70;AP#<9((ozLUp0AboMjp=<{iVa5e
zxs}}NeeO$Q?R_HK%8lNtXc!PVa^Xl8V?|)qTQMRskgR~KpXcba0m&_}NkOLCcaniQ
zRxTvC@G;v~mW_dJWH%xU5>;LZ?*qN1X!#?eC~TP;5_LZ}iD_ww;_RlINYszT;_X)l
zD70{Cm~31UeCGGxPHwb>quPDL7R^l4ktpxp4oN2&$!1_$&3xp{iMJ}?rX_-0*iHO0
zQ*7{x*~*mDEXYs<Z+6KXQUyL-xr%kt=NFvDwZ6Y=k?rER7}0i$b;qv+FEb~-(-_WK
z=6FnOLb3(pNhW?bdm)O;K$eZ1c_hK9Js1nPMC)iM06>JOLI?=Wjh4uwvkKcSMS#-e
zjW-q}_O<cU&M>dmi6qmFgqIYF8&{nsS>x^$2~Y(DCDBvqjRUy!xfQUk+gHC5t&x~A
z{Kl1DBNrvJFL=#1V(D=gQBWG-06YGexX<#=GLAot+Kp`qgt##1DrZ2E8OM!9B}Gt`
zBik^dDC3CKaX?0d+(J@bJ#tnuSgtzvLld18mh0g;M!y%!>h9&@@S3B=aVlqH+*Vl>
zXTnVBPxs}c{n2<yfCb<pjsF0NeZ=jNwAhh<IW@P@ZBClpNvelyV=ns@#%%G1Xs;&$
zEp>c`Rkq`_tck4khXPS2u}1=0Y${xZt<!tfW%%}lKO&`y4LPNHy4bB{re~3Id5K0q
zLh{E3;j-|weZPV<Y?EQ!hl&n*fYUmBE>!(n)GV7c&FjY(Nigu-cOkK5%dC-P_oT~K
z+K{CZGhOxxMX+sI5Nngj;qX~7v&n{>gHj#pc`XTAC4?3b2-kq-zn(MRElJf#y5CmQ
zm9uhesw6Dz<5Dvzm=9Y>fY8QqWwI@K{6=B&+kyzHqmC<TN#9O#9YU}4`;h8BbA#Aq
zv*ngKGcb}gp&EUAGfHiI$mT{)6ZPR|R&m@i9w_5{g<}{t=T5zL&__x$xjw1kH1s!d
zE0No#@+%F7P)pe0v3SftKKr6V+_82%m*+CWZ7b+Nq)4yNEp-yE()#Mk*@muesQd6`
z#kh|hD&@OlB6Qf$jz-MdR@jvLmzqQ3!-z3ZBn$joTl2lnX^8hu%aw{)%U(O<L-s4?
zp<%ZfMokw0YcG>=TK<tsx|Mm6T?6h%n%r9{T--pJDTxkCXc%CLhX@~Gw;Xq3M~Gi~
z8-3}Y_;_g)&rz>iyOnCbv{ADPJ#)70SxCie0==i^vkb`zMjyE_Bw@u4Tm_+CE%IEO
zsD7;RJA7jZ&;35pV|5k~V#deVq<a~UVG6iqvpJbBLU@6fBflN#5)k+y#&x-^y5AQ7
z)R>x!dYZfICUy$BEP1Tqw6SP#dO5iA$SbKbMPSZ&oM9GQrOn6R<oO$p`(;FRw*ggL
z=msMrWv)?k&WUc3@HNh1p&>rBRu-abj+?hLI?Lac{M#I6)6A!_{60Xlxkr?uv4OCJ
zk=4fC?lJ)6j%o@hrQK7DO-sX}<V@7+(#rfMma(X>R$~?R83e+Njqy1V<{=p%tF4f~
z-q}culw2|m(iVkjB}R^FWILF;$u7?#mZJ{V4s&H37b7-N(idJ<nAxX6t|`n@k8&^~
z5iaM^4!Y+WQGU_lHJP)qn;GLO?tDslj#n$l{{SEYI`$kF-x)j&0mmC{d8(6%u_s-7
znr5Xf#BJcS*vEEPH9Yr2HoD=b_~tGQW0@9Bc|KvgUrz7gu2eX{n-UGFVzvh0?h$z}
zFb$Afbq8c{dZyNmdB?DgIj_aE^Fc9|^6AyB#>JYSpFp&a995>HOm$&N2GH78iA}&?
z%XJUC`GkeN#tBEG+G7sOCY_Vuc--bFN)5gJrcnYy!IbMr3d~t@Oryznb=^mZwme&H
z4`D%fCTr%m=q{>yp^cb7ueoQj#c}bQieyZ;R#b%AJdHezv~UIKtvcXHVb;7d0@)fF
zrx8<QVv<at7gLY5v_{6t7+p|2tcmh0Cq}X=c5HR?TqeND9-w^Uo;{39l65q(<tl?|
z7z_wrAXe4cW#2ZNL1<fT8%0~}FVv%&OD`U8O>;=}b`4`}Sh0?^T<q9#V?iZC7bPh+
z<%3VM`8w0hwD~!~zD>4F7<C40Iex0B<ww$86Ub__ENRxPu{$^K9+6iWl8xQ%M4s9S
zD<vPerrV{sgCr<qimf!c)tfI&GULO_oAk@47I*d1mK=J%%=oo0s0z+m4ZxIO5oDKb
z_M}5?O=K&qnh0_QI&wY3E$^r_xB8P9Zmt&^5Wk?lp8Z<c>jqzCZ*>DEpcdV&kyl@7
zjXf30l`vM3_a2bY^N{MQa$&Shn?}@lk|6b<>U8HsHGJm3MU3KUX-9t^ebn|U#ek6`
z%Z-!9+6Q#@B{W4R2goXlD)H<1b*KKS^eY3_J1tPts!3Ctudk7i<&!cSNibpssK$Ss
zSlmg+R<Kn;h_T*t>oVo_Y=|Gwzu}SV+ejY9TC&z1M68`+6XQack;JT%5(J5Ikj<#E
zl4oa|grJH_jPN0BRGnV2ao7*}8Dgk+0Jd=Q7^D%(D$}_hiLCdioHDOIu=OcL7XJV$
zZxxv;C8JOz`_#w1o7@3hfax}I5#}8?N#qv^!X49YtM$+L&e0rNNt#WA)Y#GF4!;q@
z$&y@UVf5Ks?Ta8!Omx$J5n?vsk}m2%o_f-iSe}*Tvv2FMeJECA<dPOm)$Drq$!;ET
z6-i8yP+jx7mg=dpiu^BFhgm%};aHcfU*r^nBNwH}AV-2ZhMU1k=ixG_s0=-EArYn!
z$W1-8BqvMhQco$=m~nu_6WX)91*&%IM0kUa!!UMFt4X~$t=olbNZ07hOx8tthiaH?
zB(|(I8DWWeQTDvouxh{Mb<M?B>RtJDVTEg^H>w(OA3d&<VG$?t{QFqVHt;r|SGZ^l
ziMcJRDC~erjsYrym)I7YO7wS2bc^{a+YfHSnmK!TSnJT$22_C+aa&a|<l~!iF%#fq
zqN*sRvh|p?qYJ`4CIo$R(ODx~TQ&I-R$F+XTsY&z3gSd<rG2Iwd7(#@P2}Pu$oAx}
zp=U>g!(v?Ku#jtG_E*V`#Nn9I>Jdx+R>js$2+<97Zk~fxVE3X{I?aqcFlD1`SU%S1
z(a2~OJB>HGpt5A5JM6#sdXICCP+^%hbPCu_NXcG~YZg7s@Kt0%Kl_oNr4btyL_!qe
z1K|-9&sp<BwP#ViOk~)OMMHmuN{db>I%_bLo95ezw0EC%PzljdPD=8&(<(|r%SEym
zN>5Z;rE%!DCCW9c7SCSHH4@f)FsJ2rk<rGPis=*WR@cW>RF7UQ0;7sbg&>g^ktnJS
zQ2jP?@dj$TnsEJYr<dvwWHSa^j~=v5ty=U|hkA(4Y%*<7l`s}6sW^?8ATqmbsD_B7
zX1`J@_z^|$ioaJyxg8EWq?EN-wuoTV?h!#(vKt!K)yYk@-~`kg`p;zjM4R#OtKoM@
z`ZcV0ZoX(eUG@*Dwf9q2Iu-L#fm?19yKb!zuhb}?Zc3@Le6Lg*IVLuLsaJFHj7i&9
zF@y((Q{sNn$2Kk~Bs(d2`9WVPw^{_^T+$>qZrTnC6WB10%w7BLreprA?O&Y>PV~wP
zD&0&s89KU&ff(hYFVNEw#SvCh?kY4+zM#x@kla*ol~boipW-KvSIW#WT3T95$*ea0
z)T)?hu;xxAM12_|R3kw(AyeOpDtr$6^n}yQhdrH$&eV@p*gF%lCZ0O_N<e|#m`rXd
z-EK+=N#@~viV-3jv@N&#l}T}G>DVTv)?Z@zY>7u3x|UQ^E&an)>Y|`c3yp52$>ed8
zML}?sOJOc0#u?xloYwb!!ShtXJDOTw-X7s!X!ovMxIIr;dUMtdJFmwhy8i&PrpO^o
zazM+MxgT%1U?8RlJiBSW>B$94&ri$Tc@|=13pA0)@|7KlXzv(;;HvJ8nrv~2c`Ayc
zsHm>Xx_Ij``j7O_rW*AHoN5lJHAilZqhpTQMHPs|f#R*a4hjp5pAC^4M+3M?#E4Z;
z#J1u_JpLz-=p4OD%b3YA=uJY6lCvO~b>7%3XYLU>Hfp;d?n0uR$B`ng>n0};1g>MC
z8BUHAKC0+3Gq5?69M|rek3?sk>!y@qx#eXGawMGlh-D*$dgq;Dy|7l*QcJ>$fbZ6u
z4#c}|YJw}jMQzbrL$*w9=<56KM_CYTgaKKG_UNM1h2WK^cO>MfqATHcUH4Ds*tUqt
z&1*F~SL|%Ya@ny8%8cF+V#-TR?H!jH5)@u85TkCc$c{MBsc}(7gG1^^F0c&KGq%-i
z8OLVCZY~)OmYqNg14E9ZG!&GaVIL6uhS41oZQ(RjP~A^~&R}d+G}p$dti*vK?P;xr
zcHJ=h&N$2V*DBI9B;!}@3jkpIY^UoY+_*U%zGJec%HGPK9(?1uH7;Qiy_&Y=I_kVd
zS3Vmg>#P^a3wwQJ*s7-_Bu$YOH$oKa4Qb}G-O^EN8Q{2G_EU@8+{mxUaR}C8x46~9
zIIWWoLNBSrcsr#QM<w9XYL2QHCoPA8V!2PJ++rzV8eLBFFAGi(#3XKXD6cpuZ*LqI
znyHDA3uxhQ^(rpqv*&@3u-^N9)bL^?l1dR_uKozhHcMDmj$n5(V@Q_Ep5*JfC=@4)
z>Oo<`KrupJ%s}(9mlZ@sPK#zoxyhk1GLdTX0A<x7_jY95rqvUQit$86UANr}W%IWC
zbrP!q#vaatH*wb)c!Xn2S7oE!)8ChD(9>j2OUY3_=!>!_@6?NmItQ)Fy^F|jqyetb
zq!=>bufnQ0h`jb+j(m36KdSYYBbiY}s}o!rOS%YsDrXJIy?F)|LC0_s6?}(#hSQ2$
zlC(gCsHh3H`>HB^E4PK};wue+8Nsk9l8scFHe>c2<?@`{XoVA!Z@&IERNLWtl}CwQ
zRLeSB2<9zJR5so?>gb7&)!f`kQ4I&`-B)Guo_Fii_|hTBX@D?#M>GgxXa?`N@TiKZ
z;7E5@7k!aQP(?NmK6Ak!0=mfD8(kE>@wxsT`7Fx^S!{icfeT9b?23paX|R^+yKlbe
zyMJDxN~DE3*(}E?FrGx<Q5|tX;Xf*zP?Z69*)~MoHea%QTrnB>&Wmn3t~8=%tvE=1
z(Go;5UP-bi`MDqYiATp3>x}9PYby4l*Is*wpa@>xNU4JD{$Wy8RNZ#jL40}HQ>6!h
z?Nf^lG)nzm(K_8ifc5*-l3kwDM56(N<L-!4%C?(sj;7pIJ`2X^iktP<OY1A?FsQL$
zSFCZ4*C{c<REeGbNWS|gjo0kIJs-0o`h}!wO=}{+nr_?A{$jYl4uifoRq&r$@9><H
z$3yTYqjQ>(HUog^I-ldK_7VpWJh%j^q^e)%WRsApDyK2ut2=o+Jci?CA%-y^c-2mY
zAmcs~06_l$WL=a^6*g4;lvNdfqN4S~CB|YNn^})_xer2)<CUWGUBr2XY>^poclwbx
z;G(~&0Tn)avX4qH$44T&9Sy|XQa;|^QmSr>8!pT^zj56_m-PPKOQ)0FVcKAX*u3JP
zN^#C;@&KZ*Z(;I^io5;3>+roL&#43|18HKj{Z?O>9xB}2j}MJeE87A=$Q)tO1B?v_
zJ_w8TpeTxgqK?Ghl=_<J%DVQuPACfv!s1P99TjS1SfGaD$L71ZB;b;%psILO-4zrU
zb>-l)!lx3H1p^_kazI8!Cfp-3Q3OR(a6ap{$V!R-0EHDcU6-oLETad))-IH{iYP{I
zJAU1wlBC1&Tty@(u6aZ)(G*2^qU=MsuN3NsJ*3wyQkv4yN~^3pGlg{tn+o<6<38_c
z9C<jGaXv)1`=;r??a`AF)zW+#a8OzV;^TyZgi4#DZoUy0ZwkH_s*2r0!LN=L4lNFH
z1a(KN<s2eVbd!Ecju)Ou=X5QLVPD&Bq*uIdUdqNjxwc)gklUoG+HicQ(7(}qFNI&L
z!Xj?HM)FCh6jn3=YSjs3+0~9Ke<}oPC!_u+5r+;tOeqt5Nm0@8KMI@dzhorccH5~r
z9+FayV$M%Yg2Bs?-FCDi1KiMqVn)G#&-X<oQ3XZtzhX>>4vmsf1$jK=cU>jq`u#g9
zZL%pQ>Y^x~1r-HV6Mv2RiHTfZW3}$i&nbzm$eU_h=Yf0s8j2Dij~^-Ib}x@B*9*WE
z8m@*=_q0}+%{#P}jn%ykTXY*#Py|BasGoIDxAp2%ry>oQ0|DD-h^R?*6qVH^RaH?R
zJb&~4iPvgbwe}H4dOi-eUPp>5@?HEQe@*`YvM*9rNV6nuUu_MrU(EV95Jmq0^?$!f
zB<3|uYX(pPhc3EJgeL4OBr<c`9#NfSRRPgL-?V6{@V~h($h&>FPNP&Y_+-#Hah5bW
zZ1PYL*~XDSTPwQkgao^yd~qT~{VCPtNKH?W;a5fE%cMl;C=SG`n{K43<NY>Y-+rP+
zwWntA0hnq|@=}xv;wZLah=}6-JBe&RJ~vN|`c+6y4H~Ov*3lz5?U`QQ$e|rk2a2ls
z@%w$zQ{&2YZ&_5#R*_mo75Ujqbw&H4uiyQ8jKr4}d!mMfVxmA!A}IOWf1fG;0HUW-
zYg%#yAdM)Dmu-}nWmR9Y`1|ySR*HrI7gv<U<Pd2U6*omy{{W}{zrSB)w9D)(ZZxW7
zK6r|+U!HxH@Vlyy!HRfA{nz&E>bCQwE*qOFeaG$p0J?upfY(&pA<96ow77O;)`>P9
z(LADVzX+e{)s=$^%wk~~Unsvy^<cz?TW@eg*o(@i!v6qXx!M35X!xInO_4e<Npb?w
zl`ZnY2+ku28*HCW$??@)K1AhB%z5&O$D3$-Mmz3E-rocJZT9N#I%{I?c=`G0I#a@n
z_TPS~pdlm^L}G@eUlvn59`8QdDvQWSXioXtpYO|M_)Y%+W%JZhWwk_#K+wlW-DuW$
z?4+c;K~H7-9>TjSB5sPQ<9>zb<Yw+R%^zr#nUqd*RoxVRL{o1lyQ==*Zl-1Sw9v8Y
zwq;j3^HUpb*92vkC1g|gUzI{tL{i^vyzjR}+aPcySTDM996r<W&4*Q@YFF0Lx%8lj
znt4Q3FQ0|#6^(L9HIXW~lYp;q3Nvn?uitIW7slRsC&H)SuhrAz+0{9G{Ql}W5RBF0
z?ki0)C9`U%psJ{<pDD8V*;lSMk}O-BCVY9yBGd@a$((`!jhOvvPALj04**p`**PxA
zUVg5a9Ylf^1^yh;#w0i5!ZmS4hlYei9^{*b&MNsWk$zKdhv}=bjC$Q7+&3)Snv!J1
z7N7!@xoE<VZ**QLNYXjQ7i3OEN#zr!F-9AMeil&kLkt`?npA+j<8i^=w>R=Y;)?Eq
zfy9v&H`{dTn%^9RQvH<$WL6v}$%bObHo&`OyI}VMQUoM<HWKikUmcM}N23z|0ObRP
z5cUsJ)Cg?7DI+LKce>cikmxqzc-<R#6Oin@O;tH4qHcR45~ySIsM9*d10Jq^AbYDD
z3iEzI&K3nw(AozD2f8NUsiLYc6eLkEDxDj(g~G~;UO}Jg4a!!q4y3p>RsPw;WIl&m
zP+?P<5~8$c+ueAU`zM~4c@(x8&+4kDiPtevj82&2O(!*Bw-_>MmdMLz6&hC4b=#34
zBKh;x5fb?-QXB(YK!G)*BbJ!vJ5vtX(2qA6gyg7#2ngY_?2rO9PlX-JWcc&(<EplD
zi#R$TQE^je?Ics%+ra>!KwrN^k_hy9>^>3PI4(A*sj(uFk0j!%BtJ^35>u58#pnq;
zA;+1C7+V)zU6Hm&bwT}w6OyjqWmV~uiu!cQr(gw1HmO}^RkIV~lS+iE`7So8^XHN%
zdH$VPSkTa2#URO-MV+AHwz&iCR8~eMaL<Z3B&)J`P5l1b@7AxQ^mjvev4-;ltDEgu
zZKvc#hJeG0C=1+D67Zy(D)LoDQ(d?C>5HX$Gl4xpHw%+R5GT^vhrf#wKrDt_ail~S
z2#1JnJV{VVS7lB1-=Q5_uf(*bL%PkB<XI#ZE1YqLU_D|(1mUlQX&VID(o@+*cVCoV
zym10Yc5#{%m$mc{aI&_@3rsyd!I^uWPm5Ju7P;F(NNg8oVF4m+$hu}ypWQg^xa@|4
zBBH(;c#f&s=9*hgt2#GV2I7j&ykCtMnzty)MNtKOC^o1_f}p9m`Aw5<znys(t%vh$
zM%KSkG`ZWTAtfCaMn@K6fjjg8k#giJJEAWX*wH?E(cYM8F}+mMO1$sW{-0!+EAk-8
z0c9o{#ISK(R5cY6R=%z(oy8PXAwgZfdQK+@SitAIe<a9fdmKYs`C96mH^<*$iB3w7
z9!!SG#g62#6WBy~sv@tH0^C%SbVU_S`r!6k8ivL-oTND|P7~oI4SOgkib|>W@`?TW
z!(OI;ht{{#6F#DSH{~}@XADaS?7((YKbs4-dkaYK(k0D74Yl1rTKGg>tz&xi)cU+@
z6T$Vr6KW;Jc1Jd!D!j)eEQVt_2wLvDCNoVEp#ESuO4{*6Xw?^Og<=>O+-no_S5c)E
zXCEtDSsO#QHM!$uIQ5IC5hfy;BK<9=lwbW9uhU(}Az89k^O;F9n(any<v~{jRTWTw
zeV1kZ{{1dA*2*QLF|%A+En%#O)QUuD;`?($>J{Kz_7dbP;Xb5PR8&PpPLDDJ$6c2K
z_Ti14j)ZKhf?r6gdE}pOl=HIf{W^+Bn8_&BbaOgL^E#F0t223&bPuy`H}N8jMvSL2
z{fab%(rmk?<RXMC<p{S#P0@TV>5_HYnti6ALw6FZo^3x`^RpX%8%`A247RQ?Ex0DG
zwD2^Kt0bc92&ST9BI2q!eOI{$Q6pC4)Y&@KPOh92UX<NbqxVgKr#PQXcLC_{HsZGG
zj^qGbkXPXsfYqH%-X)jg8gSHF<(T9<8v2*OnT!U}um~!m+CR&mU_f|_M21E3g1UcC
z1~%s1Vtq;CN0tp1e#*T*uBhV=<T{mOflDBE%DR&!lUq6zN?GxlbXU00I3)#`Eu(F;
zjkt(!F}Nrp{b(IV(w#-eb;4YYJJc4fGMc!k<k__usbji^<R>8vfLm~Bp^G_40o~M@
zazOnEZjSuZYkw+b(Xq?Y!SbkV+fT?`lRx>Mx<#@Z#*71Unu^&D=N%kIO^`xl9E#B{
z>e??^PgC%H7|yLPB<B8_H6hxM#cPVER4aj->-Hr*DfDcnvdOIH87Ekf({m#_BtSyi
zgPd9;*osFu_w*dJ^875kv>97t<El>o0LSf4)F<rXOVu1&&UH<cw`OD7w~U=VgD{(G
zxZHuYtZ}yNB&eb(Co@*Tu~ie;%zZ3e1~z3|toQh=mC9y0HeMOUkc%PuB50aq-~+;q
z$Wv??M;UBNTxXf$f?`{tmN}q0v@s&-ho&D?m<Fj+y~0yCMq>@n#bL`<3L!bc<c(kq
z2{hmwcA9&T1EN4iWSs{}$7rjjz|%~^r!c@0(FkW@xy1{a4kGmC+cj;VkmH`>syMW=
zffz=jO>A9h1e_rSTG;sW(mnS5Y?9^@D(g`&F7mo+oKd+F@fq{op9!dFH*)2yJ4tOp
zR}#W{K|xA~9S~L*b5LZ4Sd%EHzeIW=ZLB(_loqCIUNw(bxsKPnZHZ+UwXe1`RLv}N
zj&Q}M%^^zJ=^*3m0UOH7E6AIos_#eedb;*zYGybx>i+-*f%v5*JNdaaQ(F2NLv}@!
zl1E$?oLN1z7XisCAn7{mE$+Q}yVIRV*39*s-!9h4@iBH|#7#b+s;NwJ$0jCZy1mFS
z+B9e*iINOyj~WVtZterV!(6RllPk3xZ%+ji9Okr<r^+S&0FHE&(&l<y^zo_LJB{U#
z-JfZcVpR1`-r2>ODc{M6NC?GiPMd)7x!YBfyXGx0M!UzTdt7}0XdQjM*QgBd4WE&}
zwi$=f+=K?>S*og(iO^@GsN@n+LUDiscnM5Z)nwV&rd~^w;+V<e_&rr#mrIt@uGqkz
zFS#;MxZ7g<-^Tu<ghbG<CnL7_v&kHJlaAs@>3@>ov$Y#m?KHax)kg8muP3I13qI3L
zNUMHiY>|eVR-xKMZK8R(R*j27sBAo`A$xB|d_<gNCUatYvN(511oNkd@5wo`J*~_S
zcmqyV>yp(vWv!l^w7({2RdUT!!|g9}<{p<jC9NpyD*nVFD<<St84f}Zxg8o2Kpn^f
z$0FT$$Fa+OMd9?Bm#K_(tiB^M7_bay9iI+$Ty~Iz!3n2KA4!cGA{Z=?bd^;&Y(2Ha
zev5E8+L@QXrkK3D3f$dnoqea|(?U42AjWAs(dK){!6R^VITDDx=E|rkxDNY^M0CQJ
zPGs0%T5XtH*qlek!cHGuX7hEa+;QFCWS(^;SeYp~x;F90Kx~oUsJwR@hr__?2Y0Q?
z+(%m_;isMLqlLX|;+Wc7rn*gu;jnRBN_xtIr)qVVmXM#RwW?xSxck+cxPu|VZB@Y{
zHQly=1?43HRQq}9rw5R2J&NMBb(0|%Y890<?mvX`jWM0tj_^9y6>7=xAVWr+M;ate
zz*TN3X!RQ>!)91FK?=U}9jYjBD{KsjlPI$Jw>7j!4ns`x0}y4xA`}Hh6je^6Qfmzr
zUWndmCYHACv^*8H8(N4DH!RpTV>d0z*8}QN6K%&^VbC*99gWLi-7#OCwKcC5sLsvy
zB8dmBnmL%YZxSt@0eNF)`=>4~{F?NTFsB@0ek|uDIPe#FyHS@Jv1puEBV4E<2E(#P
zO*MUuDb1`Z<&HZ88n}@z-I_`ljw{%zBLy$C`%E#y1Y$=`(U4t-88;OiYh_1Ec4gkB
zbarLkW+R^Cd7Vsbj9YUSop*vvP<BGD{>DURgylwjRTsADwk@itf+;Ehn##vaYw`?g
z?p}xGg;3-;Z-i#yadnYL9qyW<*a^oM%pG)yq=Gz+@Y$6G?XHd!64=?5?KS7kLy5y2
z;I!4KK5L)w;?ES$Fq}fh!9vzs-q=JWjGBjAaBZNPNOb~ZavB)Z82rN_apN}miK}Hz
znPIhcjYG(voe$c&4#}#`f{H!B&7+kZ-Hi@17>g}5`vUt0(*(!^j4F#SxTDoRou)Z}
zVMV8r8j){@Mu_Fu*T9!L)_q)g&Ih?Fml8N6_TtQm5ygTLn>15+TTwy=ifX+dPxQ9S
zOr+jdVYW4s7V{C04CX^Bcya-k?CaGzy7O!|-1k7*ijv2EK=y=0lxZZ^hR4@k4_ws7
znR5eeymtswSuFAUh%#}D@4>Aos;OC-TQW3>@y6DgYppc=GB?c)8E_wnZHOocn~XSu
z2GS^cqeaiM_scKBT6a3Tr;}5tnC-N<F{RtE?RhmNgn30t#G4VreF=`pw>m3^;ujQN
zt7tU>J$;Kd6qW~G^=#=fX=Dpg30STk^1EJr_gZxrNS^&wTU2QQxTM>riQ7(kjfXjZ
zX%i91<Hx70$gE>y)beh9+Y+ZnN73nUq8m*UvOy++6MR%!78Fz-Cdt)H9Sl!ySwGRb
zjj~A63pyx$-19Zg8+O+>zG6F7vf?ngJljB|d>e#qlg-SI(_B#`ELJ73t{D?@-+Qu(
z%I=c!t2`#vn%nB#3Mwryb(t?y<(Ijm(I-xPUG2XiLSVkkRduIS5?}*=QW7iT*eiV(
zWI31eOba|5aryLYR)W^0mS+M(k>?O2FxWX`Tkqa@kbTQh+I@!NkdZjUVkAzWeBAo3
zw%YGG$}x#ob@VljHGYvUWyH6pc0XmG%8YTO?9n!WAd+LoGHFZ^^Ag!T+Q!ypXd;J7
zr#2ZMCSyzQWNQZ@2tSYNU39G0w$mA5UVhp%3dpu_paeIjzKyskCbCF8#Ag}_b%hnq
zN&xDEiN8~lmd7Z`tZLrM+PlEYJ$$%W#y-i>Gk4xGak;h$G1PkG)lmdVW~zg&s5oSX
zEvmaj@VsKiw-(g>D8I#U+>XN9ZOd<JH4KWYSup4K+aZFEPI``gYoPOu5)!tG;Ho*r
z&AL%Ds5+^o+O+juG7NgUoH|VdR5GMOeiQ;r7_(b)G+6Q;h$+e&ZVI%n01ElpdR`k0
zaZVwoq;d4{@S#ne-GBww6xx*h`ls%Dk5E&<$f;jMz;Ia-TAKY89xxFv^3ie6$lRaV
zwTdR2qoSz5A%e9W_UF=9NOc1})6G_mTc;G!uFC1;g*O$miqyE*EE=k$N1AwhZt_pk
zs)(puNPMrKZF<SpDy(_DU5udLZaR|z8s0M#;fy`^NTCu_X2U`TghH)|s&Z8LMB1Mh
z(S23cOmW>q(PpsQTbR~lmKZa3>{8BZI&H=Hj5^zKooy6{=m!BsMMOt+9=9XIy9<YV
zaU^9l@bkC5Pl#A=aKy^P4MV!p{{V#Cou~f*!{bz%vcc~uS4gtgs!@xqLgJomC>1~?
zZHOxq5wmHw)=H;+rx<C&Hwc788&#{hk(&Be)9XxblTdN%YK<Tyw!$*|dEjo-O|^nM
zKwwZn%$rwVvSm<|I5-L_<8COW_LzFV%k>Jrf2W^Un6pEX(M6ivOlMc{hNZ%~uaB`Z
zz)J_&of6IA-NkquahDJi!4ML4p8Zcktd*tJ*d2tp1(Fjb4y58Ea+bbv40{J@TyaqY
zXmyS@z!{=Q7a4RF1sq-TFzj@)mOnwIZV!Rimg1YOnHpnYrT04!HPBfSUuP4k{V9%f
zX=ZO_ne9Y8b31wRZCsN&B&VJ(J*LH>WMHvch(M%{6RNwaB6Xf*JgzuSZ@&Kk1LwzA
z8NORPBDa*l%xz*M=Ut5&7%OpsSBUQ0UJw(2fTxZ26i%oe2fVz3N{G8Er^f#Pw_j6*
z!-yiKYOp7lwUoFDFD@FYY>KJp&i??vSDH_EOGByjH(6E0>e|S*?7d@QSqNmvVUaXb
zHrh2oaQ06EOUHHcikqU*_MCI!lle{fj_RN5*9lL<Xc$s41u{`nH<3ld-*iFv^S9f|
z?wvj0Iiwp^DW-%Ks_A`e)as_R$H8G~oXUJ6Yd_2Qb}vffj{9MC(NU2tmPw+tl4bxz
z+C0c9xTr*}iVC}$oqvzu<yn%*#GIXvIKgDNW@(U>3D-5-E^f<&(%9G6?jSC4Flo{4
zf^uE_V^2$&PMg!;+SKY!O5P~ZSHCj1P@r2%g>OS4wun$-EO8{1j|r$0Q$QCNWmlO&
zQtMgio{mlQ?SV5t55p?6d)Y+PT4`FY+2S@YBg@OPT^>`C>)e&yamNMqbOGKb;3A>~
zl=(lYHY_~31w|?6&b9U5b-98Lm6@z+da|;ei{O^|4n1F|xeew8m*l3*Tz<MyHqBMU
z0gbaINp|W=ZKnWSRqQD~OThWS15|Y?vyV_%mItU&u`f}0hHZjpRP$LIYoTRlMq)Fr
z_7(WgzVkDym@x$9IhP!Us-@g%c&mL!%d@>Jsf%ZMH&OD8J1dq=rIrt_conSZ^50T$
z27A2!022I9h&TTLJ)?D@Y{!G`D~s2>I@;v)wjB-q{xg)|c`SHmjAWP5=1hiF>iMw2
zRNutqZ&aZ(c9s=`2-tmM+@^Vm^_Cp&%sRCO+t=`Y)`^ZV@*Lcx4=-J6R7y>7IT@Y4
zm)hG*kv+!dx|1~Z!-m6>#6|e;n^Bl@y3#@-BCMf<71HfEqOS=eq>V1a*Cxy*#h;AV
z+CM6%gp5L(Jf|hsu=7H*6{^XsjOQafY2GG1t%NlqMQB<j*#*x>vy8ViqtI$W$0uh~
zD(oa)!*V;&J?sQ^7<`l5L5^+6bkX)y)d*A?LKnxpTfG|B4^K;r*yx6_QDsvou_74d
ziDk57X<LUIVk_TCNYrauqyZFh!q~)AQ5t=FqKi!I5XX}Za&@Kc#>z;a+dnks!$c*O
zTY4eO9gN<a`oN2(Ih9h8$}Fa?!myrgvrup%OmZW0E0xc!Hb&iO3>3ycBIVK|Uby;+
zvevj3<@{Hz?l8Ey6f%XFVGmEctHbWyeYfc3Su@y)?_f(IdK1s~$T_e>`qV?FFR7nW
zT6(w}l$vY&Yvxo&ZMhcG)?s9K*C@icUAERuXKj&)it}Pkyu!NBAht&0qVJyJ>L!L@
zaA|5iBx5&sw|Na**fkiX-9f$Wz2Sqh=`7t*YCX0wZO!SB+){322~4=5u>*)Xc!MLD
zBLLLe;^UoYKI?l03~VMxZE$u!;inI>KJ{6v-kCi^%}ZKM7^uRt=<+07YCc;<CM)$)
zXUBEKePX`j><pEbZA6n2M1p12M#vdocFT*@KTS<yRXDrDf$D8#l?;!=8I?J6s~URy
zM`keWhhs*uKXY8w)E8b@qLay>cqF<A1+YAzd8-k%M0FQI%O}cU<*_T7pL><ru`X0u
zvj#+RkzGDCe&|CY`pG0TeZO>#D!$psbd8NGJM{JG#-JnCX&t4_%{oGVEY5TbHH!T-
zmienL`?nmc_VLN*iBa0;+m!|P5S6uToN&&^G4aMBg06R}4AHu;n9yuK{b-|Ww376h
zj$_&zL9f;{c;aS5ac`zE9y=AMqwa&?BvGV21;&9|<gK^3OjHv^BohI=e-)<0eK$&L
zAkpkj3u78oY<Bup<s4IiB~`gidzHD0OiGg_r4C}mXE~y`!Qj|cb3}ZjA=S*QIn=x(
zO5j0tipaC9t8mH|E8{m6xy+R5-q=iAWYw`JUF~sc6r5fl*Cb7IlidFRF-gcPGhJPG
z5{z*QW!(Iq5@g$GBNUW~&$~!{=&2amVLO8RQJg0^Bg5JgJy~INICinrs1-bk@K|DA
z(-EDuBBq{Sl-1DNit8OL#TnCh*-b@s?LDrS31G>Rc5>7O$WrGy4Yf$1uQ)t~q;a0~
zXlNU$HX?(rdSk&Za~yJtW<+Z(Vx%yvw9*^;*4zgyC0M8vl2Twgy`_>35v%Ph5k!f@
z?WXI-wTfO<>CUG!zt5p(3`3D&7PBge?%S}*8jca8vk8Q5S_^H!7awUXfyaOzA$55;
z`-rE}@c#f)vua`ES~r-cwI!p`U%tUL3p|NcF&bs&T$et+bejY>WIDulqMN;^8EvIC
zZ3DPyd9Qqtuu9WGroVDIs#zF(hBK<IuKpOA4y$07RUVwP3_1F1nAGv}Y^AKOEQxTV
zGX!22qr9!eU>}fb!-pO1(YDveAFNj(Y4@THb<~Y%w9)GNcx5LYnvUjolvj}MAmj0S
zimu3U_|A(@BS3^^4X)^-sHmJ*XT{&9eSGz0oy^Cw?H<CkvmL=8&n$ulH<iPi03Rn@
zko=ji$CBeh$eEK%AyeoERy%#yK>=GbG#^8BBNbgEb5-%@?dcdh$~<mlm@PkKq{As9
zQ_KP(HB_P|>u_8meprKK`Vff6Tk!bFBL4vQp~b^WR-DPNUP^hR?HiY~r8PCzz)@7=
z*dL{B4bYs*vq$0GtQCHx%-=X9Y53Ma&(O_iGQ6C%ap_!yqO`q&ctueOun<mqFN|jy
z#;wNH47bzd%|^}gnuw`<^ofC6bB(bg9HD7qL5hhI6KteMBD~tRW=QkOrq47&i-BI@
z`j3#~7)88BD(~y=$`WO6Pk~(hY4(|U*TID~i6+T`c+?G-f%w2rlgJyQ6LIY$q@cze
zsfmTb)E6pIxpvvsQK_gnYzfv*Jtx04UR60KB@|I(w933CEgMiEb+ScbW{whC<8$L(
zx3!H0tHE;)$s_=Q_(B?EsMp!lxfx|dn9-T7rfw6pb$52GRzk3vvR!Th$d+wIZd7G#
z+Y{l%6?m_4LNc#bbbf;<ZxFPLP{Vk1DtBeo6?_L+t$AHn44IhOr*Xn)R9kUcQa6l?
zfwjol7LCpiMW3^e;qfQgH7WYHXHr|);#2Bt>S1n1&{kErh9bjUB%mym?+CQo7i9<t
zlNFHlKNiSsGaUCQxu&lu@apYvqCs+5kjqzJ=UpBsIxRsJbXy=~8d2mxZnxYqBZ6kQ
zRi=mM_NS6J0znm`@sQc-W{*Mu!E}ChPjK&V`DUvU2y6{qn7HtEfkd1Lz|^M`cGOiS
zBjgTpLm}zkir-<F9!p#4vlz%+rEZFvJdvu#AV6Ru*v2#lhFk0^qc1r%$sjS<7Q2r9
zJ<i)oN&^oAfrx}?87?lv*vpvw{DTtH+@~ujG6@k1L|3g5mrT*1B9izDI*kXqZ4g!S
zLIR8;#<vrb8zG6REL%d3!!q*w%6!AxWAy7F20%`BKXA}aWQUZS6Lh;`BgKI3a_Kmi
zM>Y9t*AEXgaEHZV$F8cmy_IN_+QDUkPsy>{1{=zwU(?#TGElvHV>RZ|!Pb|7jih$k
zjMPD8paz80dx)mTd#U$TnJtbPA~eUcI;j}+$kH)fh3H9PVNe6^Tl}zkI(LYlLTOR9
zgwY;v^Nkq=>i+;duhK90h4`I2jyVnnQ!0nvtMA2O`zfm0dsi4yZ6A2K1K=DSZP4cN
zBD5r@I^!og%^qVv%d^26D%?gqa(32CZ+bVUJz0ib##vEPa16tYb4Oh^n{|;;BI1Wh
z99cteajz86$H`jot+*viewDI{dWW-n*IYXq3GY!MWSK<Bg%zcm^O4}NZMJT@a#hOL
z9~go%2!pbU(5WJxz35{iy~iZgTHjBXYgLQKr3^yV=e8J$?VdlxJFc3>j&6gFiA{Ll
za8fwz(_o3y9}*m20rec+Z4KMes_k(|U=w7v2HYtSq)3bI8-1m4Pq+=cB|%jc4W_%M
zWyPU9!gSXi#cSf?EmX#0vOT1SXzFFcc0&O%4N=Jru=uRY>k>Wtlb=C~+LG|!xAkV?
zaoC8SIo)XCuu#mx4#`!K=^QFta=#Io86Irw;l>O1Bw9*@Y(Zp2wi*^>9JNv=*^oj4
zOp}eFD8AwW4Q<|)YMeLX<XF}th~$}L4K#MCmg(dhi$o&_UE>|wDXMLUA&x(o`-CL=
zAqXn?&{>XRSfRsjQKh9B*+(QAo0$&U<hJOFsD#uwVn*R}O~{Z|Gh(QNw#t1%&h?W+
z^n(?x%Jml{Tq+&BwTE8Sq671$n2HiH8WRZV%6PmdZJyvJ=!>!WL=0JbXd6?*UyW4<
z2a@%rJ(8NtJ#_{qa$5CyQIFZlX_;5>>M+b{nwSyyWgaG*byejS6Ti*p9$rfv1O<6`
z^NvRK6`5j4xgV`u^DB#E7DSjy0u@YiX3?QWk|9H4zl4|st~0*!Pzc9&6JsD31w33|
zFRz7RW2dOpdD9T!V-}I4+GJ7<lvPD?Dv>h?(3F>VoN?Co@=X@vg@>eaG8kUQx$CGc
zuQzQZ%zYl1geSiea!M;~xB82A#l%HKPJ3<Adw7Ak1IT}=!WpYtlU`+KoF=c-vkCaU
zcCuPoQptk-jYURZfThHU^Erf8<NJmgZP@L#DW_FPK^ium69&bwE^-^z941>gc<!_4
z=1$PSj#IL9#iph}F`_bnBy%IfR!jt+6>V7vgag|}GV;40=NYf13>x9QcTxR8Y5Yqo
zk{A%#xW016OveSik~o;E_uNzfUvAR!UO!gosEJN`ndzHXrKSaj>mAZ%aoC#(qts!x
z5v13PO|{)^kHkb7hq40>a#bZIYze)~&rL56tAkI71bNt9E3qvA7Y_nK^3_9~pL$xj
zvWHEYX0tIHiI*)$udB;Iq5H+{05*}^gikW;XAo0n&E6(qw-h8!y5V&A`y*RhS(9nq
zy##p3{eR&E%d)&UG28`%CE|4la1|$5a197hNv99WmCD32%bMr0yu!*IjbO#C4|``B
z!7Bxh2&FE;K?s-gI4CsPH{>^Tj9gU-7%I1Z`CVVqOr|K)k|Xy-?QG*o4ym@&U>*4j
z3C;Mb061LN={_a0C^|ycR1@v^1$0In`cQk1(yWDw&|MqjF1pSI?PJ39TWcB8XR{FB
z7R*Fklwx(R8)S>^T_%xG)f;$AeuVN&w-~6YOlwwU*f9aZb`s=CM`dFPhqpF`nSiW>
zm@k^TN`}!m>LMv4{B~ZAH6I@L*A7_WxfQKF%?vY<NpDeQ787?!=$RBUb^h-BNc)Z>
z>?=+Y0Iw3{Wh##IGMQUW#&3?ougKhw*{QmVBxAQSLrCkM$iW#$B7>;e_-K%Y1kf81
zB?ACSbxElA_uJtS09XtA9~3CgIgVB_3o~-wy1t6CrEKVu6yypThaE-k+=9GnvZO1j
zq%x(rD%lbzWQ=zziOkYv+IsG#dXLFoZySjm#j7xR*sACW?%S_I02D{bv?UT@rX`r0
zi^M~8==T&XhL<B+2`tK+k627{!kOujz08bO<+p$wjz+Ah9CQ+0jLgMQkr7)36$sgW
zI_r9cV{XP}Ilsg!-Jew^PDLQ4R=OYaR;{9Jfel61dygxILeqe#DvgROTH?pk(C_8L
zpWktN8s>bD&mLcGhUR7WbaL6iw5o=Nz7@?JiCS}g2HmGp#6_VQ10oZQIBakyK)a>e
zS3l&qq(mrdA5c}*#ca-p>-Md=jL*$+pnkhPtf5HtMPek3yH#S#BuvX>5g1PB_TFU?
zIjWBX>7iApSsi9*PHFYzN%oJj<GDK7U4mLU9pLBhntj;f>(SdcSq?z0{$RFdD5<&y
zY88ejJ0A)kP)9d3)3@iwhn?g%&d7^@i#@VNhiFQXgWa|61=juhLMV;7+A@8l<lPat
zM=)?T;z#!Pucn92f@iSF5osPrN_kWAJ<3O3;#c}!L7>!6N!D2HoVw@2jPdNXM;x$y
z&@hobqG7ahN+1xEVCi!JblX45;3=5#EMi_!V)SMnMw^V+b>nasZIfi#Q9nxVzi%FT
z+41rle@b^QdMNd+M8-{{m$TeFTO&d}>)TQSYC{hSiMB1Ff;tVVc8rZ%RRtmIJ$jP#
z`Jeh<)rYHXE91$jb?)sY+(0)VT1P+3Y=DVXd2mre1yxj3{Yr|8zgP6Rn?oD5b-}42
z!<BSAM$6{$@D~j2&{&Pz<4t)KOQ*U9#-&$d0D6qYP4+V5vEG4UfrXSg)kQJMOf@am
z++oHTCrH&*LBjxW&0Yjl5wXmDHtV!3FDu4?@XW!y&rjpya4s6k0G)ves8S<W*fhn6
zG~>H(5M1r@E-d!}RGkG?4kf6z)w#r6tD9{KNo^!B1;LYRbV6v;w&E*$e4@7Ec-=(4
zI?$NrsAurPK0&6Hk6cfkaP)gD_HeajZFMLS!j6b0-*PZC(xS&_ut;yR(fvjs13o$l
z;gk_V4Rx>zj2133%%;ZLYG{}Cu<bPe08>{Y&*&EvdNxgWA=ua0JLuFXcLQ4ct)L?h
zqn*1bGKfu}aFLlH;vyoi8|@RxhBmTE#j2^OEaTqX-Z6?~^)Z@u+S}P%cakvLn~WsZ
ziZqcnTX0CYvhU?8dFiJsEzB_&>#?APHs01LJqWNWY@Tyz40aa*ZKbNH*jO8=;kwd1
zoKaAfTjRuNZ}HtQ)$w9=>?-W0%;ZIG?%x)9w%{a|*=VCWlVc+OC1k1sQQ|`GsPZ#$
z=G)oQj6InKdk<eaYt@yd&wI@-Y2cRhXC;hU4xvb8=`U4bwuO(4NRlJ2*JlmP84=Ng
zBG^HpX-j@#w#Y~-sJ0YxGB}YVz`}8;z{J;Xt6)_OsAp8qyUJZ_idV}eIcyk{0N^TY
zY@wkd8)98tYG#R8{u(#BU#v3YG|j}Bmzcci0b5%n>;RaOr6M~b(_OV5YGf+ez085<
zRC#m)>o-)hGD=*<_8E~^GHpvlm@C$CN(7m0SR)R~nD*#o>KjeSQ6H_QNSy4F6Lg5;
zk-3|>zxb!^WMhL}vbEJZiFUNKR2SHmPl-*=F-a+Zj?mlMI}j{Zqz$PNnE^F@#$II=
zqY@XDQCe3Qv^)6JoYHA%Rza%SKA6>5Irx@6m0Z)=a#->fJtb44+<XmAE5-@k?K;Z@
zDB1Rxk{>lS)~Mzb+D^u<JErxtjpEt5S6tO&b*RKsg(@4-m=+0#IYf2zSHy@OR^IG3
z$snN#lLH>fDKhw1xhobSXJ>0!ML#0;a}E{D-o^uwY*&*lb99nKSB1u0b%bTf0KVvf
z#T6Ogk)&Fbx9v75T3SnvrndM-KB~0K9G|WkrZbMdR??y3IX&eqwVbA1m29rHTM@#K
zEz?H5vx7f<-D$&+jga^EPo~}MqJBSSwxJ5%*s7>)2Mn>3UiwJ6pE~*W7-A$zJ3QQ&
zgrD=3*5#<O$_c(H!=W8X%_*eZW$)_#e)WwlWH+A4uPvjUbgOpXzp83N@oAS@WZM{p
z48@00RTzk347dd1+}LXT{F5BL*PIH?)+`&cZb`?ukiUhr(-LeYoVH$2<zXG=eVGj}
zCp&6RqP6}UoH=4+%>%Ts^V8irN4G77{@<k1)69=baEgltu-Pxjq=SowGY2uFswZqe
z1gJ!2!Ki3xMJi0mj>do-Tim1+(GDWo^=Svz9-s!VHR<O}VuKf}TH)n$h4#iapCmSz
zKf&Roru!^MjS<p076ycl5=cgQm>~3-uhz-9t^pS+(>RrR4dp{MwAeIR!B*P^mnsWE
zYNp%du6uJ?)0}Jd`?nOzI2Y8Zzf+l>iTYl}>ooUHb(1H~F$#;xU-6-XwnruE5Vq+g
zrv*)gYuGm-x6U|+_*WJ@osC@*4yG7TW;un<oGZlmd!IVe$qS(wd_2G3Pmk!HDJruw
z#31LmRQ9jAMi=8t$Ey-EmPQhsRCS`VB39mHiN^`f$86DgfQlGxO{yBjm1%~nQNm|Q
zVp>sII}uMiu)mlRhPCGx+>;ho4x=&LK~*7OIH@MciYj6$o4q>vr;&|VwVFMw^YhE&
zk#S3FP<ae0s)v{fpGDi!pJ>r6f-%NU5X_npMnLv0+D8^o3O2jnVtIyd7G3MGWGtLI
zZN(f$R1LHvk1|6fud0$5fv71q1S8D{brI`~!k*Xuji|luKIw0qc64j6YL0?h>m^o^
z<u>-%=6|Y~<QX^E@xqa7KFV1$GB7@pw+Yf!W49<I#DMcoN|DY>TLC%5P(^=x=~B1U
ztvywRBMoIZE4Og1DJ*ejpv@lRvH&C@KFJyqx!yA<ry)cQ`3@ke@e$G)3`)&i%_nK5
zRbxk6s+ahj$u=~vV{_5FmSaB=CP-kpvQ9_#@)W(Wyx}mi4Mk67R7q-%gXw>!eE$F~
zk$sb4ntX)@EwHyn^q0i1Avk8$f=GnZ4?=xd6kf}!Mt#=>wj>tBt%_WuyGo8Cy;TW~
z;8oQC=}pjttWQ;aH$|04M~0pgJ|s&y71nXCWl%G7EI$Zqb{TxkSxD@R{{U`n8;zVu
zj`u!;RYvOw?wMolTH_Yu6C1}W-m9mZJP~aw5$Dn8s;nG&q*YINrff7vDUQ>CKVQ?m
zUZ!K&CZOvcGmK|>#3YG*l0(QPlq(soP})nL!?m$x)=79ag)x`rGziHfL@MiQP71Ec
z!(VMAXKmsdb8)4S@$9T>WHo(|Ghl4wFux5*?3b~W+u%>blBU}M!`v|FlZcI@&46^u
z_JyLxyfz$udMF4Xq`IP<cOhq;cDRv2gXbEdi&56hor%-e*h7gH)vE?0NIA0_Cf#N`
zY{o|xKrn_4G$4(<trJ3^T@!k4)0`VpH2YgIoo{xYrM)}#H+ebAIm(W^3l&PA!KLgB
zHl|#duxE^<AE={&rs^W79g{bU<=R!8;~4$C`1ZN}EuLbKUag-a+c7Gho~tE<Ex7V`
z9VZMVJTIDqst>x+3Mh2z)f^W`G}~JBJ5wUxRz`b2si~QgzY1VUi+0r`0U?%Mg7b+o
zAL1^Y1MfB~8-ynm4|h~iIH?5Ku@F7cP5QdO4%Xo?Mo`)~*KV~&o{S&U4@SO?u-rn|
zC9%mfN{TY2qo%hYnr8}4gOZy;a9r$00yjcYux1C?SnZgpZk;f4&0AwBcO;pBV>!K+
zK@3}kCk)DJ+kqz`itFVZo{o>X?cR`lebOVl2#*wXottN6CTXaVw2uwHg^5bVreEY=
zh2+^5CwY&eI`wO;sXp|6CaMe)5I65y7X`HLa#n>=-hmv{IhGl0Y58WIRMuEz@n_ZK
zRkhZ#U^j*^RS!yqkFcdDX!a9hG0IV(He?;49o!;RV=%Gi?&zU>^T;zk<lj$zg8qYO
zZO!ebQrufhDNnhNG7#^qrxQ#!Sk#6GX4G31Xq_jbAh@7?qG?4FWKJsr=UDXf)NH#w
zH=Uz;rH(sdEK^tork%(ZUR0Oed=5(r^k#(sO{H*%2nEAcR7FJTZ<A{XC#KqrE)4BF
z#<GbIvt2y%+c=`E%ZnXQnT=3l`8_3BCf#YdU;={T7ZK!((q~<C<4dv_(DjQ`FpMtC
zA(K8kc6XugTdFaSy0)%0UouG{KEk-lsiCT@QA7b9wt<*tzH&*Y4=vSh#5s_L(zdDd
z_fETudwjyrR_mZ~TRc|AG}=p6WLW-Czgo$PvdltVoo$y}17WZ>kBfg#)T`2?C(Rhf
z^9)vks}6K38OCd1xhEc$%xBS<%p6G$3YR98TTy4v4qdfUQ$ZmVX5C|USNfWj6!~*i
zf6X{#E9yFy@w(@VL+#0sjz<BL8cIqNh~s7~_WO;pEvj?lze|r;x-)BShuY#=bv`WG
zDk*0^(#E#cW0gyUF@>2gR>Ww&rp1*9BDBk5;V6)<%1xGz5=dJ(V~(JFQ2VGcG00-f
z-2wa8;ay?&HPfA}sDY(fzE?jTuQ~ZXBW0P&noL1aM>}jouXY1w`+|JA8*&AHq;Sx-
z<wNUd8Pc4C(nXe|Q^UtJ`xSt)Z)qjf=8sxevn8=c+Iggk+vO4X^3pTh8r`<sWkuCa
z=>bG7S**dWU}hTK=~p|CUJDf{v-&A4oT}q~H~`OruiC7uCfX+u&MOf7BMQ71hYpRh
zMoZMbieFE}tns*!^V~*db-kWBV2(49+6-4?yWSVOAfqwk7aDc39zy7mA-DoVGl6a+
z!%}Nab~RNqGg#B%VM_Dae>}Z5=zNb+nG=p>^;ooP3_97X+*;+f)~){l#rw@odAALS
z?l5rSwhu`5r~ueKBeFt<skX}W%ZOFmYNeKn-s;0vFX^tJOS{G<sKuv7>!rH;57#{h
zyht`oTfF-RA=acLsU@;Q*}*=9eLLuGr098IxtzQwRI%%b7-Z@z=ogb~?!uGaS+e50
z38tEVjFUDygxR(&CvSBo)e+TY*6KbBg3Pv;n9hN5l3=y+>k8_N2eg@aXAQ}zJuD3?
zqV^(g`;3=pn@;M1aZ^VTR+;KvT+`Pz(=%KIdXL8hW9l*bEO~GYvn05*V(Px}+iU4H
zt=h()JwQ7#Au!OXoLLUC4!q21D6x=O<YEY=)_T+b0A60KGMt{CSZ1<oCgj;9nYNhh
zs1%Pv$0(U`#@Vik1^x)lq@zIO1t}YAVkH6=$d-4nRKzo#MNI+Cv;!N%n5(FbZ6jGS
zHyVmXB1DJTBleNO#jpoj1eDKZuJcch&Wl6bPK&h9P%ZI&IF33`mFG{cL!6~TYL;Od
zD@;8j+Zx<XhXNB$I))804>QffZ5BeJI6DhT$e6<j4sA)b=|OtgDeo+hkl;7Bg*va@
z8f5yNi29P#oR=fktW9zX=#MK>v3Z%Z)HtN~(GV77*Vu~GnXa^{+a!2gQYN`F(uT$-
zScZl+#Hvi2Rr4n@$+S;LTz43%tq6EkGc5+pu?n=*`-&g)Mq|XX6t*N#MMUX!lxDi0
zsJR^uo6_Y&XD1WO<Q^q=YV(iEm2(^#jTt5jA}zki%9_IWlf3@XoI?&sM7;FM(+|7X
z8yS+a9Ejv*GFyV~Nsm~i#AdM=0MimDN*BahKJ)Cp*+>Lg3=D&FwZ#y+TbR~@@F)ik
zg)7SFSuIFuHLb7FufjLP^$RD<q&<Q9OG=nkxK*oC7e2Y6cG7`~#Wd2+y|2w^hIkUR
z>dEd9A-p0SjW$Dhn64v1qSB+`8mD7raCZ^u?j^aAINZC*Y^pd9TDcipeN9?4UL@i)
zz`QN05TNukXMO4N*9SjNUYvE~3_DyxG1WqYcW$K>hMKH!Vldn8sRe|!X&jI5gpE{K
zAzvxQWqP61N=z$5Z8a_&)^&o%CxYuWtyR4aB^6{hAsls<atzT0n5>~2?~#*|3{*I_
z1F+|~x>qy-snVD8{{U6s2DIE;eYyGQt#uOSc4Mp2Yw*gcRV}|NTbQN9vy4xQM^@uG
zY{^JP{Kp+~Pi)kX#hC6m*1$?D0oj-Ea_YFc36P5sZWuS9$+Lb#wz&*8BoLdedy_UQ
zD;w`9Hu8xZs!keq)9dPkMSWdpPpEw&)67><wRRjkdm0$j+K4$d8__H-E-PsU!TNND
zY>BK<VZ(Xn*XSf6Y!`PIsvk%Gu<_qeTIZ>g^2jyTHPSMQ2%1kKJwwhdja0fJm-t`{
zY%8kRyxBh~0ZkO2?J9x_FGSNu)VKQA@9X&CTM>cIajD_urk#9U%Uem9xu46j!th4&
zDb<1&v}=}JNQqjn0jomzH`rC1E4R%WaTHMmk=5d^39agBo*c|7`uwIX<SL6vi6r#)
z()Ei-k>r?}lLExXTsB2XO%=9Y7RW((aUt?~gE5(wIB98+F>i2upS6iK7>&(Li?_*R
zcS18F9Jn++-eMqxWJpWbjsnACOIH+R6N2GHtCoZk<RfYVA}$Ic5do?x5&<D1r!B-4
zA#{dE)Q-C3scbEYlp1x`s54UZ6CBHNItnqqv&Z7m%v7!RaZ*`22!@R-4m#8FAsb>`
z8;}k*O)r8XL`M2r+hW;HM~;@Q>HZAA&2wUdFJ^^Q{EF<h6LJbTLAGWKEi01vIN~=c
zrZ^x8IBF{2ZCrV7f0<d~*167zVQF)5Uiq-wR|-|^KJ#u5HpRhU51VS>xC*3gx}rj>
zy7TB4C@oXF)99{M=J)ufO=D#q9kre}*^3@Ei(r88D{m8n7BjpXHwC|`Nmq)eBr$vj
zT8=f}?m7t*_CmZVdTx^0{#QwnV9n%ucV&@c--!0$%dV;8?<vA-ZO4x#xpEqEJ3BoV
zN;@(AfLdwcB^711`dQGXsI#gJ=C0=yvvLfgJZP517M4R57B?v!YL-GU>7u_9$}i!Q
zUu1w(8fDW?O}HeT?r|J#x_ElqOFbivPDe6>BgLq!+-zjKHQvm5stTls-?QdQB_rE*
zpEr1NQ%;##Y&uNJe0+_YEPX0NA!bwg72T6|S2Co;Wxz56kYdepMvki6&B^R+`8WWm
z+NS#sYZyQ^-^=o{nIx1tUY=?fr>z}hRdJYkHaCDwa!q`gH%>#Wfnc`y<iUj8V}~fz
z#iw6ohM9uvdn{?e4m<C1Fd^!P)bFQ#G4(N-;`cfe>kk+WUcq5ENna*4xyYlH93Sq;
zi8d4zaTy~7IOeS&ApvYisKY!-P&7+9b|zP;7~VS<7z?=*r$dub9v!YlDZ~|V@Pbp3
zQX^{0x>BYSaU4$3gDThwnUfl$t~He{X`YTX4;02+WkVmPs-&bZdl}v;-0AMJv7$$8
z6S$<`G4CS@*&|0qdWoc$_YH>T)b_uHsk*c{ux4;IHlPI8;)9*)zni-K=~GyAzf`JZ
zYHJcJDPTQ!E+wF(8Pe%u#uw&Cn;uk246M%ErqTm4nPp5((*FSK!YDnat?3n=^SCSb
zxy)Ru)}FomCm5~8owb7v8fDqf4A^qyIHC+kaph_tZql#jINM#XAJV;C(j8RRts(Xq
z?A%W>l_j9zhhfam8c7z75}R)<*>ARuD_ipS0NaWrs31wO?Vj|H63cM?HXJun^zoeb
z=MTtzo00Nsb#__02=mcxV9$pM^%kW-c_YnP0_d3uq>pX#<?-WRlsh#~Ty;d~`&Q*G
z0+yns!S(M7$8ktR*1C<98$yZ^pT~6SD^S>*-8YG%a&Uua#~$GmJ0OWTA>2@1`qP?a
zg$`3uOOXEnI5A&KDoDF;TN%NT3T$9Q5EFD<HcPfH{$rd;Sm1&6ZOJq2EmHK~r`aWx
zdQV3gl^rfs5Nq3wYgq+oN?MXSs^y#+FEr{CY$^b>ZE);}7&xV}+g&AIKc@9~t}m!E
zPOd|)KUFTKYbfP)i%%J};Izz6Nn+BvVrJZdGjE8Hqh+^OJU0@-BLxZYSVSB=g^#!!
zEn8tzr!opP<=#hMDrHQATGhwyWF%Ndjr)QYqcinPbwvQwNeqQIQ4~)dT+!wD&*M>R
zqUAH=+gnB%Rn_fW%sUBe0-+P#m&3Q(QSv;{6~JBz#L;$61#L~0)7dlf-~*WiXbi-(
z3RmVkdMhKj80MoUaiXJdBj}B*iy@vXvVbni)Nz8zG0Biw%B-rJom}H^r_#mlI~~UO
zxUL|)+9GV~qN7f$h%2!wFVvl6J(bnOimgcBdjPNP?yD~5I|4i!>sb+8Y1t3Pn2!`i
zCi(Gsp;R`|g;T<!i6@m#si!c^BW+H5WU`3dZKoOrT-%bWh&CuFt&Zr3NSkf8>ALg{
z6AQ=k{4S?Ipw^1p_!a_lqf3`;`#${I@Dgk!#qFhvvWR4@mtg^ZkyLH9RgXcWa4<_-
z43eSrZqo8oZeC{+m@7BkR0J`L5LBdlXlf)*Dw&EX@j*?M7pBI@!2Z`l_ef9mM+CdB
z`|rQmdi)B%Khx)Kpi$h@TSsx4yo79Ah=9z)CPkNl#RM)cuqvw@)JRLVzC{T-oY0qo
zF-`ve0QdImr$h^=7RkkY@B8)bwu5gYzn}VT*CZuH-9F3LR8&;m1%8y<=jWhZ6sq`+
zZQytQzIyURs=q!}S8l&>@~BJlzqZ|aRRcv7U!VM4d3c(Y=Vc{TUcVOUyL<1q-}mdv
zBZx_}yCNd)n|WXL>*;K(@SA<Sb>+qPcKELnUH%vCvi$Y+6*!_V&n4Km`2O8_UPPOz
zdHZ?m?#s61zi%6L<=U0)UU$NyrQv_^e0A|8zJ`QqNM2C~miwpKdhn#By07oL_3*b{
z)QkNWu8mi!S8shFwnf=?_*G83H+3<TL<pVI5&ByaK~rC{c~nH-<I19S4|PP{7yIm;
zd=gYm{P<qFMc1lO4t=MdrgNK9jyTkKHP$3CrOB<!(ApTA84Qjjiqv^*x(y<eD7?hb
zlZx!9Ant==ICgter`n5?Tvu4-)dUc-J))4wwP@AFh>pF;tEBKGKcRRyh@zZVr)e9i
zqJ-e^L0&+k^1e3P?4Q@iP_hhj9LwmQ#xmL_tZQFzT{y214+lYaZQvyG4gqYUY2_6^
z)2Fg|8Usa#EmEHhPQIs~=||FBPfx3A;AL4JF)|)S38$f2S2HagVb_J>?zrQms#02U
zK#2sGeV$b0yCU`9Cf2MTrPt?HSXkRyR!4b7xRFM_Bn9LuEfm!yCkyCaYSK9Ih^uOX
zD!p;WD=lcL8LGO;-nn^%;x-Z^qi;GpuHDWms6>dUib=NnZ?bi7cI8e}K<+t|!dD}?
zT<kvecL?$Urw5M#bq90}x7`su?y9@>JDS%%uOz26#j)iS9$kIVfaRHfuG*$i0-nGs
zqhv9JUV%y^`>wR>WhLn>Z@^n2C2z9fDx&uc%#VuoU#Qten0k5Dij1=wy_zBtXEB(h
zcGXUF3lak@*l5WaK$qEdTqG3aM&P0kH0b6Dy#~FSn3ALuF`_jTQbXiqO*9BCp^<q$
zD2SV?s`c*b8s)T~$yXF-V^-sCtgcLvwGEOUE;uR7Kpi9`5i%DEJn=;Gy%ial3U_!R
z8M2dJ@x52gL9Npq@~#0ycHV48?irB9EO;ggXi(jRDC$NPPswfLKhIEXw<K|X5kmAj
zLFv59hjV>Pe<PV+1{|ksg0Wp$X4?eAvKvuUN7T?*Qe=eNQU<p2DyVOaR!qbmBZg8N
z7~OzReHJpCkE3I|+?!Gt#KlCA)fG8zo9>$@={V~<hC&Ws8`0Tu4n=6u@sAY~Z_Fv}
zfNZI<D6i0ow-QxFR83=y7Mry7!8C`x!P*hm6&EziBuuAwGRf;TdZgjijHcujzqj{q
zqAR4N49zBEf{G$=K_XQmPATxJe41r7V^8DORT)^pqL?-fRmu=4SmUJEd~3omx+;<l
zhunF{>aVM9OHeM}{5re0Tt&*5nZ=wsd}bpvq%H>bdzHgUl8leF{J`sg4z_^O6UiNi
z6v&+5YKS5TvUL9dO_^q;yoTXMx*I6t&m3&V6V>r6fwOhs84k*I>9VCrC4Nkoy9(k0
zf~b!Bj875krk!fJGan)D>V<MF9z7;H<}$Te4C+vRs2IoLG&YKGTCJU0<I&~5trHSL
z1fY(sxv`UtGyo;O{d2w6dOUWz6I!c>y+o^O$Kf}!ZJEBV8C9LQkZqo9ni(uBjQ}$F
z_8#4{*gJ}XNK0iJn<1!|r5GM6+ZFaH0#osVe4#fWx!wlk%!qCni!YOI6j5!yPdF;^
zps<|IzUL{(v_nl6ZVhoD@*B#r7V>+F_M^8pOlYad+L#VH0{OBCpb{Sd7eLdr0kU-3
zME$Sh^Qu@fvema*Xof32OVI1yvSuEh+{4ywUU8<&FC&pk`%_wd8l5IAk#1wC+o9S?
zQOB_$5nL5Em$sWCh3QtZY939fnB_iorEnO`F<f54e0dQnB(+@<&>_0pjD$xK(u(*n
zQGxQ@N3vus?tPL+MtkY~b#ESWQo*5{8pjoNU&<*8Blfl{CKu5vy<xQ>_E>Sp+#?=f
z2!`Uf%ZYM9<&=3P9Eme-b&{7Pdj*tmXXBQ5ZOgVY9VT9k{D`wSG2D6BjS24OAtHpl
zl|)mjU>IlJzjMoExt%*(M^#tSVYv1&qBz#2T*<Mc{z%McS7VVd_GVc<wAqT|a9d$X
zg>o@37_B6Q=lM(<ZM((9SeZ6;t53Y{QJAh4{A$XJ3hGb7T9;iYWU(SBy5SPL?dLcs
zM;YQoCjs^qu>nW9C1$>Qiq!jDB2(DLtKAVuvKa6$uB*@8yG&7_$oCW2P7#(!y6mXI
zB%45a8w783RB(N3_7yiwF|1=#>dID4iAlapzaFK+atP8PL91eLgAttDV|l~|97!|Y
z66_SSVO$_FLAEUIdrR$8ZbO2Z)O1Fh4^!}hv;B9uw|^d}#cQ#7jKQ(JnHkvayADk%
zL~W-EBS5i%9AH@&iO9XzTp;FS$q@l|9+_fTrJgW(9+zW;=~_O`t)mAbSRoMrioDCS
zT5EFPi01=TZRZ6{6$#DNb8+a8RJ}%Im^NW2H)>p(T#ntV=rM8>xC#i5!znOj!ba4Q
zwi+a7X4R4uC!{E$?wo3Jk4L)S13#CIQfb>%7?xR&OO<7YL%Ot^O-V2uaLAB=Ty+Gv
zIox3zVEHyZv{l_y4k9T}X4ipAo?o<Yh0G0pQfp<Qn`#`JHseuc(-?lm_9CUFgYU#)
z9Yp+wO@d{^SNRvx;iFq3iuVyVPONoGi#5_{HCOmJ$$K)&W{a|GhQ@T6iVEJ&&X3=)
zdNB$R6EC{+Y9glFgr7#;eA0Nd*z7ZQW#e=5`nc?k!=sToB1;IdM3C5MO}P?@8bB!H
zA(u%7fBK;ZeThosQRr3q16b)hkz0R+cBVt}otr3kH^<yE(u1Z9pn?mEEvYzWhN<Op
zB$7wZTG)I3m9epnhT5NGxP^mi6;&uw*5m;;MU-0!%tD~AjMQn|kzFU9bQmVo(G*!D
zb>eN;4GA3Bl>!Zh50^WT+=abC-!pF>Jcpl`A|t0mFe9q4pyN%T6YQxkbCRkEHbNw1
zsHj=4*u?nPG}5y?h00o1dydLX*CB8kjxMPHjX-k0xQzhUybijGEE|rp;}5pdA_<o2
z=M+w*<JwmZs5$+XtY8a{&k$w&w)&^u*0~rSA8#HdJa<JLH6vGAa%VQ&Q*ex1MA>YH
zcDc0%wb&28*-tbMYp8wC*)nddAIfW^)ZX6Y5iarbj@^YWFK`ed*qfYvyX;O_Pq-D%
zpqPwdO^l3%L0tkar9;=;FViDa{{SDsX(vmIP_R=@F=h>9M^S0XO}8>s#}yik4mL!L
zGz^>WDw#6o+w?V6VDy?Gy_0`q8Z;KA*5g@BN$|UWp248Sc;dm1&tQlJ1%?`N1rVHU
z`FK)YEXZR&M;^aPG0hRdUX=<X3uT-{kuu)N2wo6<n5`UeiUgwSw;AWv*BT-<*?cV1
zM%=ZKRB#r*Kk}*2K1}psq2h#boF6o((^#5_=ACCwW!Vm9{1eG6Rus$o8yOqRVT^UD
z4xDIQkjtH{fdyruRb{S4;UVfHNVMxW3r#tTl3~)X+iqo?xRk!?#<vreG8$=yT)upt
z@7OEtskp$j%rkw!b<R5ji>Wo23B{Yx$o9J3a#xkM!(#o!sMQe$JbL0mUw;}TX`<X0
z8<E?0x{@B2OvV<(zM>w1D(M}_Xfmuv4$_S`#^Tf3FwTFON6o8ZMzF}GFtQ@qMK|L}
zB4Nmqn0_=gj*X(pA#j{Vm3rh8lJhCt>0TD4{eborPL?u2j8dYX?Y+vw8ik~FcDcFa
zl+Hhs#k<G|oW>*8$f<H<mj0;%wIYJ(5i1H@<H>qH!0W$A5|VV#dc229GAip0bIq@y
zMsoG%+s7*_;7qTPA@}!s(sS*|{{Re;nUEWq0lW%EW{m)m^u^XDaxFs9_Al;k@Y)-j
zXsyU9+<Hx8ApFRZ2A)ejhDoPm@MwZlX4i1|On6lY0TmIHMU7+m4V1iKTxUDW>q1p@
z`nYW+RU~fjX&y8{K4#g75&|~bqP$Hw={F#^`Zkx(gajMtv)DkH&2aAZ`Cris-9*#f
zLYHr)5m>!>h*E~i)@58KL@lC;$4Jp*#fz}ZcpdGg&+ZC<n;WP|;ZH2%QR-;n;@Koj
zvf6RDGOiCD_HVah+eGM_FF6S#H2{o>6xk$noDx(*Mc;L2r;R_8g~V?x%kXK+#73md
zd%HEC#fBh7MD}jPAVo&nGh~^L!trFACYw@EDCX5&QOIjBNzK+?`#gdLA<W0C)wqol
zlKU#xbR)hk43hU~szLe0${L{}F5AT`J2wWl_1z{iU3Xb!4_&wU2D?w2=(6t3tP)~m
z)Zr$kqM|#lUch;m9oQg8B;F)r5JeCrA#pi6YDv$e52)-n9>+EMiibEyq2g2UVuf1W
z1w=}lN<?ZYbFLbcoT=M<-(;H^4)bxueL#<YHud`d0P6cDkx!|fs4|(jm7Psg>goEK
zD;KF^$TyZvgAtZOw$+<1ygiOhwr0n+kf3BL@D-L@S*JLDs$kOQ>GqpL&7QM>Ow(c%
z&CQctSTh}x!3@VG0IjMhwu(dE1@}wLL<B_`$CkJTY6i<ikd}%(_f36z@%L01&#3)B
zmx0Z|8`6Bj&l|i~TDqTzX40RD1mhqqS+0`BK^a2hd%G2f)kqvPaXhxEFHdmVCa}7U
zXA#b8=SG_2@3$&T!yWdWQbwfMzXgWhlI!Yb`YAY$AcK2|rv}?Zj&wO5Tk1w-`RZPM
zLff<CO~&HbUAZ;9Rg#t70e$}fctsT&O}VRLhNLU7s`aKc14VL7t0J<>@yI!>Hz+Hf
zc1}3l(QWy)=GcHu339|nz?H&v(Pl$zAu{8R3&cpH(=hVL1Ei2%wqC|Thm1Bj-EB{b
zH}v(0U~zSzDRi4iF^q<{9-&&SsmvQaSzhJVVsd8X$d<8@E2YIgW$w6n=0M|H8Im;g
zYxs8C;h9D;sG4*5RJ=s-g_UD_GaH3!&0L>)<F>KmZQ?uP@kep9Y{?OTl-M??s3}G1
zo@S#!jgD36c93To!O_#TCTuE&udO)mIN^5f0%cH(H7zy@VAwe9m(@s!hmRsi`kg;9
z)he9BQdoGAVi<*;08&JHvQx2Bw6Av!KM$EH6%&ZE*VaqOdt<VsrH_1>Sn3Vy_}hp`
zejtzSQ(hW)rko#KlCf<=t{oJm!X@Jo3HcVG5<_>+Dxs3OAW{&t%xL^Y4ZnWqI>-{D
zv`Mmcv9#mV9+K)5rfl;nW+EIJD%-YpZnWa|NfB9aUP4aOFZouupd*Oh+i%Bw524<R
z^0=AxdgtuC{Mpf6yM>Ctxq)7`4I>0Rnoht1nz*QrlTJ7cD6e!lj{QC(&y#n7#K15N
z>m{O{k-(TbM(cnz?=dzwBM#BoA_IaCq4EbAn9&DxOxkdO)CWHs1`f?*s_rB2#Xk!^
zC9Wj4jo`M+v9ZeQx9MlK8Oo4lwrv`J>VCOgF64KVhhs1@5+Hb$R7nXuFH7x5(n>r0
zg2M^Pse*1jl(;UvWfk`VQxgSw1F^{!P+djjsJulGkyN<}sxB<_{{ZT$(?Xn+rn>(C
zl1vLar>8-~>!i>*Ha(0kO$>}_)rMs%LOKLy(t9R?JMAfn5E6+#JwE!-(LF(-pQadg
zYd0vzYTjUKvZvyxKa4db6&tU%N6oheOA3n9h|svC(20_P2`XcpCMyRcwLI^BV6A`T
z;jwXw+PiS%df8^pW6}E$L)!gWnPss3#ybk#`&@39XChHebjX31<oiOCXLV!S;@Gs{
zi(u~Pr`rK-ZYy=J@71mwl?SXJNEQ|>tziZRA||$sIApvCUll=fk1j|8iX*_+VduxK
zAwhMD>W`=&!1d!$;kO$X$s$U{W$*1Bg(KUKC|&lvKN>@7E+Qj}oC&uG%ffVB>am<s
z2eo$-tDQFT9E6B0GayAEhui5*yzag>L{B@X&i!k}ifNgQk+pdr+N2LJy2*YVn4b1J
zjR*SMuLb<V*6kMc4g5QBv5Adp;I{)&VWT!lT^yTvkZDBw4ymTX=hd>JeYZvMyLGC4
z9cxCm={B0B-a$iMhRnDSn0Vxheo)PWaiI4?+iI^@oTr@tWDs9z$6PW7+Yuy4dgJI-
zt#*}4*0^W+EeJ5{kEAgmcwg>u=D%8^0jeh+X}^!{)2}Pgy#&rRHx<+wiz<Tu02Xcx
zdaEe+r`nYo8gCq54fwjEUQm@cMO9w3ahRB=fHC7SI*>RiFtEuSh3z?MpeKrD<NCX$
zT9tsq)C*~^4V8bpjE79v%xQ@M$+sH^TR<NAI6HAA0|QNwHy!$+#57wH)4e`x6ws_n
zil{6f3k8PkMV4|<_@ttA93(X*4nn)~Hul*S0L!9ms|La7aj?p&ErP9>tgN82gu)-N
zgW47wX{OK&Q<;wFs05^<8}6#B)n+l7;g$J=^wIIAA-Muu@Yt9Xa$F-Z9wpmGg%Jah
z81exwMh+rzMDg<i?It?-74#1s@Fb^-<*xO*S4~!0b(7~3BQQ*qY;v@ti`H*CTegwm
zhaH|$UBRFt<c3SZL`Qz8y*lXLtYHjS=egB<i+GJxF&ehfsWKzTb`gs6{8AC_kG>xq
z#Xz=HLIO6B`m*(5q&Q!woEknOnqw?Ru&<dGRb0kZ&g^;YIu11G5OQ(1P=!fTw&03y
z+~0KttkSGU)W!{g&s?+A1?v-CVW`s}KU_9cakd2)N;|02l3}Xy@Y{x91U$AxJ_FXg
zw+aAurr_7q5P{5K#Z<J|T9o&yw97DkG|ybDb!wam^zT_KPf|M=)#W7Ywjz$G`+)72
zZCOI#sOce!uN4g0H_^ppDEC@Jj^(xyqesZ1NyOo4y!Hmgsa^pblI4N0mWbH2VsRyX
zO4$7lDzv1pEJICoKG`X;Ci6J*rPcCcWrT*DCah1mr0Ym-5DRX%#T5idm+9g~$8Mu(
zH=}(p!}6)RnVv>K$fevl8XiY>VKcNnw>c-&MuLUOSGTxwE)If;A#Tw2K^uX7)*fkP
zl1n39lf<CiN6|c<k6WJgm!~+OX|_<n9TZ681Y2h`+|b>6ZF@Z0AvAT)ZmDkAsHpB@
zojL7rO-9qbJzLzLSqlPM$YmtBNNwl<Wcz~Kt-9Mh-$6ni3?d@#Ur?IvYimb;r@FV0
zPmy<D10krwp~i;_mMSFI!g-Q9vN)<LlZo^a5GLY?s=FdC;97^2X^*Ij8CqX`N0nr0
zA179lMU{P#!GtU^%mGd_M%W6Asy)^GweK3Eg5zz6Q<)_oG`5u1)wbIG)oo-=tFu<R
zUYcwAQJ~Ui9;x-RZY!&q{zWSb#H2AcveKp)!+~Vbf*KL2sxN$#$*$WEbp<~CJG7TR
zug&b|(Bu?jSyfjd*sRI3akXtk7l^WkMrLlWk|aeD1XK?ty7inP`c}&?v|`H{#WiMD
zRf@~XAF;P-$)^f;Z4kl5ar9``S);r`sHQ53!){_on=f%6M|m|yO>KwiMz&0OsM6gR
zXsz6OM1+$S_g;0BE+nMTKKLB9VBAtRg@rNtm!>_CVj4kk6wnWI;!wo-p>TFmYpr+W
zx8Pt>f!Er`Z=^8NiZbVU<wjIjbwoua<+tBtQckQN#v{_d_<IIME=1X0gdhZHzo}F1
zJ`j}=H~CfHb?IB_dsLgwYi=WC*@HH2)6VuxSU%UbWPnjn9pI_wmjWa~-8b-?qHoh<
zD0-5%Gq$qtnPK2#yA(n<5;oNb>EN5Igs7jSQ<8E`ly~2(j6)v`*&J>1wjgwKL!G1a
zp~gzLpeynmVIvEou0{d^5>!-3@q=|wpnm@V3G?&Gda#8V&;VHyoLSAd2yY>h8Okx=
zf-c`c2=1yW<BBKuTC7Q_ljjqejx`3E>i$m)tvU`2rxSHTZ<gwS0;sC0yYf^;_~?Q>
z7A=@JsIQtgUFEcf&{whsyOIvx71LkTe;yGNsh((PsE)1+t4}j6RU1Gy)zSk5cVssa
zb|oeIB7UzQx*~a1UZKmz>Fl{Er(smMA~dKXTop@#?7Mg`Dqm$qL|y)S%7OSCM&Yw#
z?U5TnefFgit4!{m5H?NRGF3#`5mi@o_}i&WHtch5D{L%h9BC1#!}O$96T%{@r^>F|
z?7NceiQzZsLx?shxkJCORX@vv4F3SZ@_Zju@1nAZ*%#c26ZG!8uY}{i>b`pUDISpx
zI7TH_)d*ZxkxVvJUMju_$B)9I?y2L-A}?1vjM)U-J)LQ;K;fva#$G;wR9)2*{K}j8
z@Qd=jcO?LhQX6Tq-8Vm{WI<1r@Qd`Ke{@veZ;jN9mb&nWY)}?`f(}tG47rcK(LtWv
zrWuDJStgxL_90ODPb>0^zUqpKim0`knWMOUg%q2KOh`U#FX7C?eH%#9KFSKdBdIRv
zNxx{<%Al`I!HEV#eA#4G9!}^Q^KX&;%Vbp97k$(EeY~eo(y?rqb%`K`r}cd+<Tmg^
zN$^Oizn%X8Z@)}z&atkEW(Jgv(>cpSlC7pokF{p|TQv2Mmu^&NHczeQ2~kn*Dk!cA
zFELb9=ATlvshiB%k1r_7uj9{x`)cKTKFAv}+vDttiizQO<-Ys)^Sn#FCSfHQ)Xs61
zP{mjPZ<}qm<DVVZ<#$cDU#Dg8iQ}qjs8gXx8fL2IBMr;lmet}I@!L~htqh2H60aTh
zQB>TMZ-wd4b0xSbEDwsrBK<$etg>j2&7DfrV{P?pm_kEPL{E<ji@(C}_eI?|_)1)_
zOIf(eAH0(~LdQLoVFTm?%?FC9nW`d={&=Eq{e1LqQgI>HIqe>LS&}B;PLXii`jV+^
zy?A!PL>IKmqWzT2l@sG_ljEs_oFuD4rz1;1B~#-x;aM3)>18e6T%1N)P-K5(-4PJH
zC&Fx>)1o#4Ds1C(Uqevv00P=7ebE%WDs@uineyI5ktN4AFQgTGC!ex>b#Yr9pJ^K)
zLIUtWF7gy#-(~$P{r>>pp^%fQOk+mNf~}&zy;XBj9aL09eZERb^YA=SReb%w)jE|~
z35xb#X^z-B=hTEO4#ns7Y=iN?-G93EKijqq?&2vY9gAgB**|1e`Rj}7jk&?XKyee3
zMs6YlqP`S&+sF1_h3Pd3;iPE4Q_E)V4|$E-?Uw~@OMWVwF5j}J?5XF+R_gOF2LoM|
zQ}5$`sThLfN$E1R^hSudy2m6H1>58HU+LAq;q6L&CJ{J3KC%7(0J?mCw@PpoOkp%#
z8Etteubr3WS9SjYe!aE=sj>=ue|@_6sz{x+HB>~|e%*cpFCIK?_xtoGL}JUEEE^&T
z?vRBOWDei{y>PLJVg&IY{{VybPQF0Ag=*o2a+`w5Adw1x<@@ztGVZ<0FT%#f4dgXN
zZC7Pa>HYd34N$v9MVP`<hEDN9**E^(E+(prgqtVNjnk&CN<8YxNB;l{{km1mWSnvH
zMGct+GUQt-rs$qOf1i)p7pj|ZkPXOHlKE`Aeg6P`w(11pvqt01C*4%?5e*zwR6$>X
z{gZP3-g=WQ)ol4RM1&-p5^dm-Q}_P>PNv+)l{)FklF*Jk5(Jcc006p4%Zea)L?urO
zn<D=JewrF8h0XzSJhpVYHPgwln`%q;1~R5iWJp?NQ*sqew?jfj*uQS8ag56&nA5Q4
zIxg3+>{sX6O!~?!W{D75L_eg3d?yw8@}GXYM2%@50k_D)bAl3Ow;Rdr+$9rI@V_hd
zeEpMthY`6y%VSeopzMpc(Xxs^^9UOxP(}M95igHEc&|*z2ud!diJP3=Q{feojfNqt
z;ezW_Foe<0Ny!^hWL(^oRFCOvbxs0kn=e9{;>W6^rOvMz2=4?@hLNN}K5^v7byd+|
zgwa`(^$`e`;9M0Dg?3(vBh;HYn-`f|=Q+F&A4w9Pk+&&U1PWju{s5qCpJhb*uT<J+
zqxm**f=C>Oe4z}ZAZ|;IDI$wawn}eFL{!{dB3=l;blc~oHjEe1c9k~ONUUjW0o&*(
z?$T;ys_>91t1YHcwQ+c&i8yVz(x8^;BqYC5r$SfS5s}{N4C^Zh=K;53wH#Vctx1$*
zTie2TRYBixl;7umpO$zi3?Jn@YB<GZwwa9>0RI3?c9Y}%Np~gx05-|ji+lVJL#r1h
z)C=%voZ{L^kX(q%eU%$+Jni@2&yOq9W5pQFS}IO~A=rG@CWCT-Cwe)qxY4UjMluX5
zTSnRtnp+Y!BIp|ZK0K(3r=Q(AslxQ4UWDUzbQzYhK#2~yp>nRmO78P5cNI}wXvjrH
z7wHv3^TmH{y0XiCLFPKG70gdaYUClzB^G2vc@foVd~;L%Eu#GI_Wk$jx;LlXFC0X(
z*Id5CEVU%=GgBO$kfPS=N-6@q#SUE6S8)yh0IKxb;u;TX>Q`+~=`G!Z$Po=U(0<T1
zkK}`b>jq@S9;FUrb3IDUyA@z#GcEVpMePF$W~$l~O@ca{2Xkz9B}7i3YX*eR*Xt=R
zXE}CD+Pm$@feu{voG}h6<4i)WPXo5;&G{-EmzNgN6Mmd<BS^??7-tvJ7O~nU#b1pn
z>Y!=Dd{KLDlA!K9RZEDXqVBt?B5s`?QDJf3+8fgyVmz*HI57bmH;{{xg1Rfe6jfc&
zcHK7fw~m4H2#9#G@+eyqr6szBm^2^K4u)fR`<S+MrW2BLOuF3L@{p?JjzzMQqN<`w
zDw_%-ZR4j5h*la4q_S(Yrp~Y(sDb_;-I<Jj;4d}rGO8lj5SN}DNO^Nj{^u-X*0hbi
zEvivv0n%x=T6>3Wl=6qNi7x1gw&}NyhB7@wx3jNv4wt2tR*y=Wab--ao+8r-B&bB<
zn)4J<L?qZr4GZn%Iw>c9CQdEkTP`*xz}uQTiYn7wnVj1cuFI#i^a+o0IZ>RkYEU#^
z1U<%;TQ8JU`|OFjZ}7E$(>9-9=l=ll9I`8+bgm{%k0K=0lO2(i(`>#Cqk`tbV%vO?
zcM&1nL{t-_U;dVAaI=XnrzMpV1XcmIX%tcDO#rVUKxF=eUH9DfM>byv<Ez-%jv<Fd
za<a9gMr9}X!{^CV`EHIHs`A}cc2ZxT8}HPum614@-LJB#(MuyoYTZ57QPLkxI_>Gt
z)tmP88FcyBj!Sc4GBpKc$D={3USjho<W*8-Md26QH+L0Bh)EEUe6#ff)J2A@Sz76y
z6-xX`6_XY{)tm91CZj02AcE00f^MM+DIshlvTeWJPP1IY7{sfFW>;S%;d^Hsn>so#
zZN3U9D&VKoju8+Dh>q&3{ZptKi-^;;g38NlVyiY&L%TRwh%Su9PAILsCIqem2%xGe
za{3d>D57<1W$k2Z<ZpXH<IO_&pB!#vZnmexl1{E`8SB6JV?Ld`7(fU|V>0F|OvNDG
z1qqS^Qw@a3PzhC0Nl%IjFGN<*W#Ul+#)Y<<7|%nJPDhA7&SZ5X2YD-M0z{m?r4m;F
z(Y=JZ@mvq<n)2&f^<l~^lMtsF^BoviwM_8?v-aZf0?Ddrz*zDo8a%O)l|WD@T5#JQ
zD66KuD{7vZ>ZXjw!}YUE<7w55h|3nX1nDlvOE}O`re1aDql9*&%NI8MzT%hYaTjA0
z>r!}oCWkb5j%y|di3w@)M_G0+Rh`gV)mdWqcCi~2M<GP9Fm}{jQ*51Z#Sq(6@LUl@
zxV9v%tBvfTRG5A|P-t=eWXy)QE`W2OgiK3+{#1l=%_Fb?!Z?c9EOwrZ(e}t5WdnW7
z$<D9JnS|f1txUJ)UbiX~a-Cxx4XSXKh$A{vPa93R#^c1Ks&WG2B#K{Jq4g^@zS8_2
z&Z7<{+H>8=q=`O$EO8~zhS(3f_Oei0c~U9?w5IYnq+OGYsG^C`!q-SLgQ^J}B6%)E
zIX0BxexWg!v+0<8`v9}FdddU23^=xOELtap^nIAlfE;yhKpdfr=Hi{lnMFZxQ=p92
zhYZa!SdUJ{t6=2Ra!tgk!{yI*s^&XApK}!C&1LApV$(>|p&7>0VQmmp!FhB`qq#i>
zDW~I(>K36|tceqr;jESnqJs2C9c*9!02D7sFsV52G-A^V;I#M)pW(<ARID-JqOH7k
zROn35M6U#{xUQ>aP{FZOc!*wr!v<l(OLCcbB?_9i-g&O!_RK}`W@*Z7LQJPPs1_+&
zdS8p+PeP$Af`%ona;&;Mc5X=QQZQ^@Hwm_7Dpx6?I*8lqGDl_&y@z2W>5^djks~mA
z-E@72GPEGCl^$IAk67Ec+8yPxNFvMd$DD5Jyu%`V_GlY;MoOGx*nTTbb8A;!HxhcQ
zBENRl>k!L9g0D%=f;NgzxFFFY2@wEEW%UO<cR?3)w1cKsT5iiYMk|EhO{sFRu!ToH
z9Zjm;po@*Hl&UFh%#E^%A{;mSNZ08R1VKZS6iq{q*)6bC0us=4VjiI2Y{ks%Y@s!m
zPFS(4$>;89n*?W-gM!P7Et-U$PB8kYID-}A6GHBhi)1)nkJ&YmwGT)sZZKoGOj?%*
zopB;uxK>ggXkIFr5P{*ZS351wMOAPB_H`IxLDDAN9LLg@q2{rq(rRoha>42*Bg%o5
z(pc5L6s5#lZK=}PP)Md|>mQz{#R<j*#`%($Y^O<eYM(x6F*=ZX{{S8WELDpph^D`h
z+aDQoo+X#Jvy93cz-+F~BdUT3prg@e4%VXDU#~UJ&CGWZT~<ia{ZV_+@2Wh~H>#{k
zUT2X?CYX<y!^l~mAgi5U6PtBFMpDR$+vmDA=QhX}WL4`&Xiurt^_8fVI9`zHUP*Cb
z8eNIxP0MOCEWm(GD^Vwu(^6Iy2|+kD`O2t5h)L4VGW1WR-l+2on!8V~?P_IK)U^_`
zGlcYIethQJY~wAPjx+%)yqwV8XdX2LH7CebqE#=atvQa?pK4B=TWU_F=~kszx$R!R
z!|Xs6B7*lwN-@cd>!{kcW~vHcY&xVun+c|~%oE`YhyMVqXl-{Fwwx4fYoeW@)?p{A
zt$XWRD8#ZHu6~<nHow_Z#l~@St;;e@4z=r6;ZA*fM-tLidHaYB`(#Ic=%yfC+cuP3
z{&DG+ZL8jwLYBu%_3BJ39A>h8HndjeR!z4<e^n{r>^!U?BdWnikP6wi-8RU(!c7X2
zBayvJ%Ou~>9<b_08y{2g9Ia?BGRYHvmTVbuBm2a(=K!G{%om^o1fb)9rRBhI2zaQU
ztNl8;)M$E3m09F5-Ochm%3eK?T~}lEi6Yu6#WJ5{^mjp|m^(2cStmWuxsI%tFnz&A
zng$4>G0HO!pU)*>&gsLLa`3i^+38RCx@vTMo`(a}`1aQNZ2K+M-eh^;`@1@s5yd%6
z39(oOl*%iRQbST3M_B?VT35q!O_80<#T(BVsiG*BSrldkv7S!0!)EdezS<JmG{}OA
zfS3z1K$|9hl~PV9pUtmH+Fhd+xuzd?l4tntp~!laX)JQ+HxnDB%B$mSu7_+{l5WXt
zS`YD0n?0~#MNyD#TU|eqI|n@1*fVk}K!Bf(G;^iReaD$}SUB#u`#|CdDYjNDr){<n
zM97T@IBY=d6am@5prv_o>%j!Lw`Rx<Xlc)yDa&z7*f~9>J%>^PvJu;f0!(LQ#c7CS
z6P{>Wm0h%#nPx<Djoa@1BH*B^59JC}@*7NI1~Bd3Nsr6NVOU0vZP4Wpls1`2f$iId
zlH554;meURpfKd|a~9B%SvFADQZ-)x02<cpr%$toG8q=)#S?YRz>3Q;r@YOpB4kM0
zy|Qz%;<ni`4TH$04gj9&fjVuF<5|WvUrjPgZCpkOl0A%zxP$mqNbae3P#OIA+?q8Z
zD98?xNL5q?B0jHzERlzuhuLOLC0&$r^<Sd|{W6zPh}vSslV#8=Voq|49W|dZfqa52
zmYE0CmDd^un;8osO{M`*1e!!dKuk$r)jV>f*>f62X{XcqwQFo++0KyUX9`d`EMM%s
zv@wcoHt0I0-~cqDB#F}-A=AtJw<wU_RgvWfLtj{OGJDH~W#oB<Z69P>fZ<6>plnba
z2c8F{y3?ZXxJ3qp#-mNeaS63n+E!H&LcSm-O3fT(wyh%VgH3ypwFnP9d$!uTJ>J)P
zI&f%21v(c<3qdzO9zHx1BW}XndE4#A%4J4#O^sp@>-0e{<V&@$WpCxenzCd=7Y(C*
zr(x8APlUt16&p65LKJlkSyxb2$2HY>I{lzFcs7z>;&U$Wrh(S+yl+#gp<GRA$B=!?
zzlfo_VA2$kKyCQ$1CEn@f!!5ky{Xq3hErvvxA@d6teUbSjm|xDi`cPWTOp%q#~Er=
zfs$at0ink_`Jo}AbAbz}oY7kSE?uZo13%P@dwjmz9Lwrs%zoZTy)v=|lM#YUNt0{@
zjiwur(_mcOa$|e|i4~sWA{yDIqq6`37u2V;!w4-P)`!Ed1xc)Ub|Sf5o=u15v@@Oy
zw6d9xrIQe!g&tc04$an9TCuc1NNh=N8-NZIh~kO5WW2gJgWXx_^eQMmjmKPLm7K?}
zuo_%~L~Awyu@+dcX}HfY@DoPkfTBIrFp`R*3A*&%%c`=Riypku`H*q>^wXrdFfsZZ
zK_*YgQ4UBId&x2A&0DkG2HjUXO!gy!xx0;V*+VNG!tC_UuL{<^Gl_iF9h|nJQ)ZSA
z;nz&Oya?pSab@;dd8p;PF=IaZ%oJVNQ%*rZoc{nF@n{XluZTh+Y?8$>xfVVYx2IJ~
zob8CU`6QTiICIo+A;@+tD#=#TCc4NnU9<<ClAZ4AaZw<1>K-VYs%)xt=|fNEXZdBs
zsFt~Pe0qA6cFN}w#+<xLkT*6LC)dYxWj_T}c({yispF8Ss`Wvsjy?EwRYm3#CV}=_
zd1Svc8HW|=PHY4Ol4G#Z&0w1_P<6#J9$a}Z6+~rvW!6Ta>CLt`e}Kx#reKWzEsfYv
z<Fh1ORKr)cmXYjWKE#^FHz6f(Rng>sP$;5pwKS7|^xojUm%p9$^H~tGCw)MfJXHN=
z)ZI$7^#1@=28U7WwFwxJCTmuBTadC!RDQW#vvNUJ%8u0fDI%sl*siIA?U4`DvLNJ(
z9EF`vr>4zk+)8@hE>6_DqJA4-k4bu(*^_WoKR}X1Wq549O?fWpojm<l<#jsef!k-6
z))KO3a#~u5(6X1?XYmHYZ@6CUhoLgj*`z4(9*~k`i8|X)y4!|nvh;|^SgLP3$X|h1
z4m?@aSf#~Va2QsaVX2ggZU7=|hA8Ps4b=<oyp?zA926iHM=hL9eC~eBUD5`{B(V<d
zDeyk)j?q|ROtTp-w#<Ji1AlM`dp3p%_aGxf-{Cez`*klJ$Fh9$FolC+b@C_L+t>t1
z5SdNflKGbq1l@L0CD}JsPb>4(OIPNO2;5h@?KJjRUD#HuM3L1_>KZJKxweVK5m5_@
z^ZLA~?q{bypY<PC*`W;>x}lel<QZ#pEJ3%J(<@&g#@%=yl8>qiux)~nxCm+aZwU`E
zY+T)&63jbX=N%R-ICo2xqf(t3Md(gmXMs+8JI5l^%%Hulka>mO_|`|KdFZ9?sO;ju
z!en_OiQa8nX~7~8LfBWD(`p0w6;Lsk#Ib`l?2bChi+tF<T#_OClH}-Bw;k6;9^m6B
z?573Q7bNx-vkx{IpRIMGv4Mwa(3~nAC}gQ{%E`}r`7-Y!p~IVNA@o64l2dOz%}Gfd
z?KFxaO{U2F*fMGQPZL#VHzepAUd-zW7J&OtN)b^qj2yNXR6&*Pq9<`)GeuMr<C%tL
zDsTE?9YAgXRZZDPE=XHaEp=6q<yG{0sV6Yf%JwLR9jZ&Fj|NdqX1v7E#928gs$d1T
z4(BbzQ*~AI*5T1f*@m!b?N*{`2BgZyB;8uNSGgW(k3A~N(3L^!YPi`7zWkP$C0-``
zb->yJ?D41vBEeU9ouXh2XBfq7n`fomN`W4(stc1G6lwxU7tsY!jiMwmA`#e7NcY$m
zr=O$C4KUNJ=4L6IxrE$hQyXA$o2;Jy0K0}&M{%Wj$0cqE<(eV7-w3RWY{+m|n}*Wv
zqxD8bG!$?4Xz{n7T#?}WSX><HQOi_8$|cxNXGU_rPj+{e*^AD|q&D>;J-lnwZ5NmF
z^PvtT88X_BvV>No*GW!DO}1tzL>HH3Saj)Dw{B^UOzUjk3lLw0iUnRq!MMw<1CnGb
zjRd#aQD{@#LH8ZkL=D%!E%UV3oW92h!YAXitu+$$a)$tNENd;&;7a_WYf31IDfS4W
z)G|U`<E2om>=8Emj~ko_I_Z`zVW@djSXmy1=ULqxm`4jU!zr?eFWSPL9p=f2XYUp~
z)sys$h6z!*4z|l^hWeX=SP%fp%JX5R>3`o`7L@MoDHMO$>$-=d^*VW~`fovoW8R~5
zqMJFPV9nh<)m)94v`DOzy_pU{eo)!a&IZs0UxOe_yIh=Qd2Wi|P=25?takxS*ITsz
z07kVkb#_7QuPGwf9nL#e?9nBJ^gB4xeZ$V9v5g#M$pyt89mF}J^yKv=2L6i~T!%W>
z{U*rk9e7%;m+KQk-mlB?w|O|F03<gITAbGvP69~0Q8q+T6xn;}A<Z|`4IjufV%jb{
zdm|&vE$ZgR!ejO;Z&{TQN;_;d?bTwyM?s-Yn+FNkHx1RVEx|NOUojRtUyilZbwpUF
zHWtSfbl=G$y*=f6bF9|c9qwQ0`wqv>s1|(-kT5yV;-K(Hay^Az&lld1%o&j;GA>AI
zOyihFkb<3~E{$=oPk7FRW~q$njuD;MWSKQQS>cVud~#bn3mNV#hAryAo{YB4jM7&a
z0Tgw?QgOzG!)fOQ{UPGkntED}-lk$r*3{s!*vVgsomHEL#Q1-gTKnxP3+T}l&|*<A
z9NlT-5gnIg{i(YD0D!=yjYBKe2BPM%<I9l!<rw3ToNaC%V2klO>*Q8R)CX0iWgm_z
z$TZlB5=Q~)li?jEFaA~U0da5zKRTwvjSPb$^l8(N>w^2Qy32{^9hF1AoGjsDR%|j7
zBIG(FsJ7K8uC(!k!)sYBmSx6u#X&-iAQ8Yu$7kL_->V$+Nm!x&9jt0(?CTwN>o32J
zHvTRCSviXpce+H-SJtvUscyKgI`oI6ujPP>wu#G<phga;`jfQ3%`*K!w7ZvG1Z7y>
zWcNoY_Twy|Y>n5SA|*i=jm1s;qi4l8R35*hp1L&W2gfw?64GkiDTAwTQfRAb?U{BI
z`v+q;Udx?@Vr+q#7@y+X<rX(-l1G{YATnL-baDMXu|r<@Ad|*~EctN`#YpKt@+tt~
zP_W(+q&WtcGm+HlMCt{tv5678X6f38dpp~&xRTUnL>^CVJ<()$kGi-mI=sh<ms%GL
zb{!r55f?DjNcNWbMxWK)NxGX{#H%Kx&3a5SZWFR0$!#M;78z~kxS=77f(y8PKWVhr
zJC~u>UZgUXz?r+%+iM#PtME%EV^&mG#B#m#a2Ro1irddP)HYjIpEe0sw&O(EIHVdc
zry16z(Miv9%o0!Hme?dYa8mjkmJeCid&zD<jUmTu4P-EZ**0YeMsZyxyQ8?Okxek4
zx(^U}l(w+N-=!%+6uCLIoxYt;(|q#=vbwCM&0}7sUvW*4)7M6BY`Ea-Qe;`QGN!!a
zt(=BtMP<?-0K-Z|q?E48m#unA-jVu&)r{jvv_}`Vd5p5c`%&uetL$yse3c_WXc$-F
zpPu{C+ef=#VrtV%y05K1Ty6~}OMu+ta~f{th&B+b?P+CS#GKqG22xCPt=v``ZahPC
zgcwdLtI`*fVvLC)jcx;>d6v6m+JlVg1+GJq*Hl7#38%Q4)A8w;<e-yd6p3y{uyxrj
zn|x!&SkYZ+K-m&a`pfK{0BlawAH@yMw>(wuow7*j8UFyFJvpX6pXKoAU|0H7^tWXz
zOmO$0d;D_R9-W)_cP+NcKHSEl$YoWA)sZ1d(-GOuDT|=YW|383;+Q50H%I6j8u?8N
zlVjdow(N#dO@zB8C1zE#Y)Ek?SvCzCgvZ@JDovO)t|MG7@4Y!@aB82kxU5zoYGr$H
z?BHZG#^5a^x@2iCWR?Y#vT%TSt7?cOZKt>*VV)vQr8)}Sm`!R;ZV!tiRNPLvxH$ov
zHL%#15>PPo#@;a`2U<f`n{CBaWmy+fbRk$|QH=HBxF)>Poh;IK0RI3LKA7oSx_eVg
zi{zO0A72L@erpx&jtVa_^K7d!WrSyix5=0$h|?=6{^Q8vm=PGR$y=i}x%Mxo_<cOg
zA{2|9cH+{;g9fbaxOgPTkX>RZ8|}9pmxbAeEXh{fedI=gw*XVa4)-c|O=ZN>omtf^
zfUl)tlU-{U#aeP)$;iq$+?E<ABeqYn^NK)@7i^pc3Bh!fIS}5BRO<~zBrPJ&vv7cP
z_lpIbZ%;ASB*+-CjNWCN3C=ca$<T2OO_oT<jAs#CEtLlHciltdzgw<UwB;7?LwbSg
zhMNh@(@QbRv&^nCi)5_IA;6q5WZ2kD87Ajthe=XlvCb>bzK!;|wn#fFhf^{^oeNf?
zTIU*;%W~HtcFLATQ_o(WK+R-++1L`2ckJey#N1}<+HE332OlQI)mO<)HB%d@$S9g;
zU-Y8i6|bU|3A+1g_`zy+Z7U+;cR8ucZDYH*BBSbLK-=7QC22wL^p>i&>bi?7$g<1q
ziUL?W7dXZ$p(Tp|y!(tvM#ZO*`3U@Y>QPi$kWd<I*$(@=^u8mN!l2WV=wri6P1h|V
zjb)eV6m07ZdVV0~oY`;UGxE(j37Hl~$F?~z(WVGwGg)5KZFWG2O-O`*QH~-#cExcB
zL4ac~`d){NKPl{z9n1CbVty-VbKu0;>#0ISjMqBTrU?2vpxU9Ji*34sifKO@#V$0r
zBXZt`M3^!xXH2$%iQ5clFqNKeN0RdWBuwu25sI!9Wq4j?5d>AE2f{5e$yj^3PlwRd
z*|lqsJh|1pY<;?#+qn+LDTy)O!pD^?z51_aFf3+UB>)9p2usSn?IaEN)A#58boOB1
zap(Fy6d8)=7Z(|(OQ|ruKEsDaPH?h|NEyuMtP<-cauGEh+ezs0M5m7&1q=pTu5s>1
z=Gu^t7=Eg;ZC=(Z{6jihoMLEF<wufWRM&Cr=__liVz#91q6~y6t+4B$<7sha%1o6c
z2<$eB0&I;>Zlg=I;O1*(uAfxnw#5ph?6cXflv<;W7+p3ZR6|r{!#CYCa3g@b^qNUE
z2N0BhR<$yoOqUtF$>wKO8ix$x<ZM=B&}d-gk|K#DWD849ZWB%U7C11}c2Tp~!30Ts
z_6Nua+s>5n^Z4*M-`TR9dhuEVNa`NW{Y2oo1{HA@7AsqXrR1jGYD&PXu9ESrC~?rZ
zsXC(B%6GrS%>p}w3W}l`OD6s)+KXdhkyq%0Gc?mrTadDH?CzkQwaKSODFOqvrHHI?
zkm3-FF#wSP$C+z!<~!MG&ZpF9r=?t{)2@wagf+}EY^HnJq?|mAYpCdw88I4LHnYrq
z(=r7KvzY6s^NH?J0XepU2+kbNhx%5Ts9NcH69LBYI&Z`B>&7e2Exo+fr87DtdY0Hm
z8L*sD*=4ruNfcUiC2}`J7;t+WFo5SyD@!yU8rGZZZBd8FXvhhvxu-f<9|3iu^n27+
zvD=18hWZrId_zhbivh<oeO=Y;h;3~{X$c*tEab{0K_?L$bXrn$b_MN^6+-Ib@6>mr
z-%m1AS6I}H{{UR`2-2fcUh7>;L1z{Whxu(4r(Z&a4VMq;7GpQJ9l5+pybA(L%i#Y2
z65OgTDMzC8*lv?z6!#?~7t5@lF8qQaVVt7cTz8pe`3*>Hn|HY2h#`UiKioA#-$`0;
zkLaZHt@QCOw<*NkkmU}i(lp$1pOHc#b}88`B5>l(jwXVF$oqF=vBS2G87U|X17t3E
z6lmLXU;a+HzS}3siR>C9d#e8cVaN*)%Ga5ftj|#sGb!3fSgEAA{z*>?%MI1cGqZC8
zA}8PMlXe#8AN&i-?#yhg3NTIqc^*A1n$ozEwA$7;t31i8xsdEyo11DZE4w=z96rW7
z?91UH8YL;Pn~wWVNOQI^hCHUww*7s1k7K0T8HHn5TnjmrI(wQ~+GE(RKrq{#8jiqQ
zHcA8UF#1auK~Vdk{{V5vBeY7U9JXTOnKHSSHJL6(6%;p^YmS5Yga|DQvEeksqHNf#
zW|5}_lr>nAMbUCYQb1phVr~ya$XLj-!~m|O4jlEd=jF1M_=mbs=aX##{{VMh@Ju6A
zGg>=+96WL;&{$g~<h)Kwv0+n++%PKiTO4NEFpHkrQG;_LiT?o0M_p~fQ09xEG(Qzw
zPd2Ny)XhVs#%k&@$7!0EkldijlV;<9;KGm0#mAN#KHLj~ih%R)G}`eL6bhxr@O)B|
zC8l0<&W#cr#;fLVisX3`7-g7^8^{2j;!Kw~zHNwc29*><T0|@8exLEZbk=Ij>rmj$
zewPhyO=c-uEzp5oB0)LMWW!|GQj+YcPCDYZ%sXu(Jdl*p5=l&Xa#q`rE>GX_;GYwm
z_vfWf!nPfJs_k9=BA%Oc$2j~iH^(!gv5j=?J$_WRkj2xIsx66(Ru|m29m7x%bk~cY
zn1%XRckKKztaB}H)=n=3U2dr2!M9rwf;GV6^L2%cPAHliqOKv6V!TL&9OLJtM!fn)
z^xLI+QpPtEM|8=!2`{}3%j{L8sl@xLg8jU~Vb)etDZ6ch9C*0#Hawf=OV&fuzf(Cc
z@ae0Q>8n{iKjyKi<<5##G3Mj|RyEYJ(p)D*4pEbHS$11}*ubbRwhH5J0Pzzg$A^k`
zfrbaqe+@L;Djg(|6Wdb08h^Z3^s<u|l?s(^8O`KLV5j?u6Q;mzk&PFTBkjjn;$Yb$
zoW%r>kfDFg*+9_?>mSvPAEX?C>Wq5Q;(nkw^A6Kd&$*QAa>b)UK5$(m6o#Y4RMizp
z98+QPHchm}q5MeLy4Pv?{ZD&kS9hFa5o>F-+|VrQ0wiifS&z(Rms$?&`2^62$sm#~
zG^e=|G(A>M(rY}*baKsg12bd0Ras1_e^$)tYZPXZNNuooZ*_oS#TJpLQ5z*L;%<LK
zcHq95+e=x^2H<P#r^jN<F@YGl(CzNE1<&y#sMJj?)H%hbZD3hu9g)VZZTylXxfPH^
zz#fBg(hF#5DW2g7LN_*dko`&tx=zf0iH#U~f1t@?;S4paQrm)X>C0!UZb)4o<hbrd
zaFH8vwNm!(igWHcA9W!`OxabWS9r#Y<93)Fdc8#cTa?1Xg8VSB3U*#~)_=t~0xgq<
zLeQj>WYECHlzFbw0<f~Y!zRJ;Mshmq>+E*^8U$M)kqm4rg|T_DD5MtzvH;iUQZQ-Q
z`zXHOZB&6Y2h%WZvq3%WEA6Fdd=_E)jwQg<(!+04;<P58`jFGFSL{}u@2C8dvna)2
zIX#-!q)KM3lX+G=w&2M^K~Pk1RmPodQ5#bHw-uyR`<e~@aiy!P8fOnA#&gUvnfX-}
zc@>>|BYBKC@gu2Y7>PmjCgVE8t(k|`*t$)jmi+_zc9WmWvHoDx3X15{?x|a9b%Z-M
z?8@P>l&18Dt6;h?gSi}={{RpTljpOF=<l}Y&*L>weLz)Z^-VPoAIlh*Ks3{An|>9Y
zbgo2F;JBu!=r-sfoH8&JLo-$kkyUc!f;eS4MF7xhIgNBa3fS=vk}mP7Hm;t2T#{Qj
z%3bw;{68S%mBU)*O{13WH$AAVt4P%Y(fGCqMoY|vrHtx^>#{PwcP}FN&T}KwAER4s
zAIhMEnI4iy8+>L<YF*c=6~PIS$rW}~Z<x5B(LNJpRX@>OK8r+sQ`PB)7jO*HWVpP{
zYSJam99Ctex-xFImd&G^SQLjz!fnuLV-#Kuw&`(H9QB9lRbHNJ8(BSeoK{ppj@+mg
z*z*s`mmHaWw;7TN?%Z+20_LhMsi=n$LD>;H+`xe-ErqrRJ9%*)clB8~vSM&D9Y#~n
zf%riP$h1b;ni48}@ln}V{WtjQP~tkDs&F*&i!8+tPv|V|oG1g4$Fi@dcB(NOO-PXE
zCi%nI5j(Ql7fktsK!Q$nm(|YFlCUeqS7h9mbx-yC^vKZ+e)l<teTLQQO+7fwh|_W^
zFRdMm66iUm&5<KcHe@QhptzqZiat|x)B21JmH=Euxm9Q3Br(fs`lfU_EaNpfHaDaA
zc#93Rv2q;RaWdSS#z4F^+-#M&aU3#HNUn-L?*MsCNR@#vsHlOb)wMXLqP>pexy;Ja
zlDO^7tCMBPb6_<Y4YeE=J7gy6q(nwHX|g#6AY4>m7R0qDL~+?HTIE%^WwUk&<9P#(
zL9qx;zF{0CHD?L;&KBN4$m1!ux{xTA>WoYZdktCI=|+Q0Sf13$oYzsUAUy;m2(NL$
z7tdve)1kA8+ec+gU5$Q)RUe+2;EG0jymvfmbf<++0JdUj7jVA~hnMEuO7{x-C8l1r
z>{PjvOo=R9$EVoX#d5Yei8gXABeoxyA}x@|?!0ZbowX4b&>9yjEFfWdG(xtuefd@w
z4==Qu4>H8LOap+>{t(9{_Nqz+AmkCMwxrR#LJBRUYAmA<)aGt<`%CrSJhX*!QRP-u
zOFF!g#Jeb*oIw};kn&Vij_V5#fT5B$XhuT1*XnMA1jt#^#_-ICGP|{ek#VYrV<5d^
z>bKkPl(uBJ-Fs}SjXEaMv`*|u&^O&f>y0k1Rt~!BffnW$RhgEWXs%?C@#~mOH8R<W
zPB|U;VI}CYP-Bp|4Mpug-x(^Z;k;nehVy99Y)DB<N9msnhn!d6f5SnmgOEhGg(jAC
zWV#HZreXG!fS7z=RB?HBTqj&<)IwBM7R-_*H54s9n`f@t$&^RRbBA#jYqJXbdCmii
z0j>;)*ZW1-Vu7Hxj1yAANw%B`93|vp)a>6<s_Z0C*krZ8kJhL2HdQX&xbjW{_Jx}n
z@2EI&Axdaa4jgF=I*pS^p!&EX+ubCMG->g!l}in6idEI=zGbB`A>BJw_=R<{IgVsD
zvS&zi-GIoeaaoD(nkbXqSm+4j>^!b^L;)Q~0bM2iR!NXzGM69Baru@lQq>J4NYm)Z
zT^A%sGhpMzHV~25*#UVWG-&Cl3OY)JyK8-4%W=Gp6L%SPEz;60Y|hn~V=(A%tg2aU
zhTV-+#D-04@#RMd-;`<u1Ib)B2|*iN>y`(icfOnhSMFd<t_;DVW*sIrjm4*g+i|<m
z8DhcY?Z<=)t|}v~cc;lDLLHD*<HKVGGRWH0`}NQ^U6T)))^>yaN=uJZy1k}1(Dk0W
zng!C**qiVv&mN0iVp#-{ZG)KnVR;)D;sYq?016p5CBEW*dO9oouJ(Sf%cIlGPd!*T
z%<DPU+LFb3JtN#lZ2~j5CmEKF*si(`5~KzdPAL<PxTtQtZX8p3Ynd+m(;lBgTP7ok
zM$6sOhZb{@qs3*YR*d%_ZW$+Kux(#;{!S?`U|bFzC3QCHuQ92($MnG@(pdg<t9jQm
zVnnScB7;#Rq}QacyK*<WZPvjF-Vyd~#2(r&3Y`-wU0aV}oeYHcST(nrY5H!!wD!wS
z-^8i1?6Ss+lFjS<iq;LNofm0Tn+HN5fCOiZod8x`HGByF06_|(F2|(x5pNSna}12-
zOPuZtfV(M*n+UQipe>wujw?_kOGOtL7YG~efNtp$C=bT{e=#)jsk|F1$uZqg(t97~
ztb#jfNhZ4?2uUWYF*Ph2fmdJzGS{0fvIp*gw?&l*&T?O`Qs}n7=_ayNQ0CeK^{q_>
zMP^Hkxf<HxwV2eIv?Fk?zY*|#hFNX;snCg~=Grpuz~U0Bq*#noUl(RUuEv&6{sZB}
z_P~PO_}5g)^*ySX_Or~c)ywmhjmg9GdnKO&J#D0?Y~ZsxngUuy?4*Xn-8LTN1~aY!
zA_}+*xB~P!l;aqcrWtvr%c>all>^o<wP|x6%0zTvTx5nbGP|JMxQJkFib^qkp_<a8
zqCZNIewb0^*e0Dff|cbQ6Q|Q-a;`<o^M~+=@iH@MqIu>C#}d3-W$x>2gNOnQCgcv2
zeOl*wfvc?I+P#<O8nt0z629Js`w|-_N-J>4`{6AprCP-}#8TpukzTEFfMDAoQ%|Wy
zKsDHU_I#>6xK(iE#Sk8JsRsIZY@S(l3f}t2(>h$66(=Ut<ki+Twv*zlTPuj$3n0vx
z$OR5ecU%K-T}cRSK1gxfZ4nTH{YB(woaQ+WO%E%OmALIs;TZHhv_a|3&W~U+E-3xq
zb;6e=zWXv;dw+!xQa&iXE&Wkv`6jJje=zAzX;qHa$HHxHad+sgBwU4`w#UxETa6W?
zW$L)k0KMHt(ddBdZ3u{(qNJTt)9mj)qP1|bYdDzX-AZ~jc42hOlM0T))uK<tW4?#o
zn;BK;Y^s^_L}8*8bFf>C3>~I#{Qx=j<hedzzzMM@trt&D(O_qJ_EnZ#H`)wu)P|d6
zRt?H*iKgoE3Ww>e8dOd@k7{#3=f{SZ?upY2R4{h4eS5L=?W$3*?(7XKn;RItYNVW3
zs;N=rh}EL7E?7f)ARwcQ44x4oiu;>)yGMDW7|`45wWWn!ypm>F#jn4|YHLf4sl_vS
zJ=ABF^adfxH58BpGDBus0sNv>1JoEcd97Ags=80=-XodRlcK(xYYq%5%S^hNx87yQ
zuwR-H)<loYNTz7$4B-H2=6kL1DW3zOna>7<`&NpkVxz=0v5{7b3-C+a-&dewnsr&F
zc?NG;lj+_wQ(r$$pv6cxQSs8RC~!Nqvl$m1is%wODpw}}4PF)%w#`&JXjK0I4Gg<O
zeMyFOl`;7JWj1vNMC&Ymx$7~=!m>o`DGwBN2Er7wi8Ywx6ShF(jq+%?8V6r&F#OWX
zP$uc@ird_SI>~4)a+cdPW}SmM5#T!Ydn`jfGTCVxWu$ps7e&|(p`wxsEv7Z<n=8Dv
zdq-BsC1U6C5o9S~WWf>G@(t0D*(_@%YA0|J(>}~XXxiNnQPL1|s)ilrAYvd5#-3_d
zV<{mHsX7C%lD72CQ;%rP=1GIl*#Ln+e!o`BuFUeWw1sz?*tta@UYg);+wQW-%asxS
z%ZSi5Dfs^200rbj;5OGeUaLZ;$RSv>3lYX%bgB;i1_2_*Ffh!KX%$_vl;n~Zp72|j
z7J(4J&``N}&UB|Cz^x!b(oBJxs57mbViq}E3haroRgp)c$28fQ4<q6)F<|^R4CENJ
z=>noE((0Y=u}I2nvJB5a^L*b@YOj|Ru*nNh=Y#PYelotv3^>n6i&)uqKmkr@8^ZqT
z<GheMLmJl6z;(uk-aiY@FP5#%dUPwQu)$u=F%M2Qw-?@=8Ow4FA<7$lsl!<wnrGp%
z+5Z6L7b3OYGzW$UHq}8z@Ncl=Oe*f@Pe=79HPxGS$0KGp*6gzuG>e>Ri$~5$M-zMU
zOR*guRb>Pb^Jz>ZY(2C=5pbz#==A~Z6{^N{3lN7_XDTx`(rV~uILmRYT9C1tlHYCO
zM`OCtw572ch&Zb2h=t~-AG5}E`w`0DiJ0ZdGF65@3iiwnVa9Q`h}|bm(0SL*rI9Gb
zUu;bSh=ZbljqERBbBusg*V@<lC`0nnGr?0}IyqB`6pG9q>iv}beVZtEl5M2Qb*U{k
zCuv=|&9n)?{mBb05etCRM$qy#9*pZTT)#_~AEMK}Ue1}uqt}UK&E%5Q#^~P_VY?@s
zR=LD^eZ+T#=*Alibp;MeoI?Fj<N8BK=}y;BwI@|t(<pWm0aj*JF{u+}Rxuz2sqE7V
z^0Jzw(MOCf3%e`m;XU-BBG=KssT>Q|Rs(;X>Ao?PVp+T#?r7>YyvQjbnC?hnwQ5W|
zrv1EzLy$6o4AoV%GHF>ML39E0wnLELZ9UUt!%W!Bw4!`sc|LhjHoCtby^{`Gc<R|T
zh1D&6qjoH@DZn*w1;HmkhqKM_H71EviA6c}V~1&Ws#{z`tfI$aO~&4ob@g`Fe~3QI
zO^oksN8M|7qzi6yKHI6gqAIH6XxBA`Tddm664@~=I@FvO8frXu%8s`v$ERJ-l^S<*
zyplU^HpxOME~f$%MII}=j&g811H!O;O2<rZ^9(9b<c<w`M76f3gYQBrx{VxlT1XE{
z2=RgDT~=Qbd01XV=sCH9dB#Tq(g6GXa;B+GY+{5Gc>8s-@#{l0%e13HT0BOV1<iF&
z7R$;$O^D=}>%|&fBd?PYVv#i9Hx_Hcah!@E`tENaAbmuA4&u4SrDB&*^Bpzxu@_NJ
z)vH3sH5M*txQn#)l4UEcLMI+q(B+yr6pWjWE&_LxbXNCDokaCP>4Q!64zo=Y1j+JD
zihe-cnw)!1G3c(>)XDa&#cn{xmo2rLL_+a`z;F=J!f=obIEsHe^@ZvK0imxwP|-|J
zP$=R}v6kKOWz#Wxs{44hLk4tLq|;3&Wyl!{jYp91{%cCo@>1rV7h>Yvmn71l+iO!#
zl}jr8qy~z4*T-9}0>t=jvuBFrzKHWoAzY4eZErDcbgh{oHekg~g_;a<-N}U7o360o
zIUwCdR77*B*p@Bnms$$bO7!Q}O<q96vSGRUc`n=`*n@4lgW7ZzMO^;?l!!vtHk~0y
zIdRyEhtrSob@WL-@wob~c@L-Tm8jLOoQRhbt)W;rUFcQ~N{USr2<%ymI@y!Vs+c(0
zsd8Pq*zs!^)*4t+^2oYLsPy*HKNH6$Wm;m<HkEDy95>cv6>+u!=J^v!t)q&fLa2&}
zok(%=z~Ts}Bgpfw$W$MvG_;oi<)!^T3P$7}jCI6npknYO(G5&^5^AC`KQ@mIs;CoX
ztCO9H5-=DGuSX+g4Z?S~$rM{oD5F#BM?tl2c9B_P)Y5Q*pdytTh88>TpSfatkzW{7
z0QLy)ki4y{fI`<UDx$oV1f9-k#+c&6?j-3{j4t7XQDLn=)r$m%poE+i$WJE#RY4RX
zah=CyL|-e?>(zC|twxnckwud^O8)@!HFJq#BzratlafqHz!g?`g9<A56-M{vvUOG#
zX>k$)O)Jsd`lzRh3^QyhM_d*m(G6$Eqhc$sT9YmN`SUKQuJOA60Ol}^-09ZX-EB35
z=}*XQSF;frvX0<8^o)rOAu0+hom~F_50~^$0?0Kd5Y!Ddx1-E3I*ev3)InZvwOInX
zag&qdI~+R@rAn2+Uw8}}?E8r-WQ6ASx^-7!VHRGa%+cu4r^1;A;zmt*F&%{LdCH2g
zU7HacZZwvhHj$uhpmIY89Hb`h?5izq(|ngsbryH1KTh&ns?JK9vP_?Sc@<np(&jS6
zSyAK3MwuXa*Cep~cJ@Xae0dXH=Rv#OhKcOT4fQ1Pwu{l?rF4WiP&iO>3wUQ9r}e*7
z@=GZi0j|}J-O;leO^+*BmJy~m8K=fvShT6T<|Jm@pkf3e!M-jbcq`p1^}Su1$Fyba
zx&}uc$}D25SnZv32S|+(#~6-V$re+7+7p0;gq+kB6;(f+`X7kmw%PMIo)18{)LGas
zyZj>*61<YOkIN0BFzs~3aafQ_BkkWtk})vbKjIaJi>Fj}@@e)m^$#%9YaC*#m9N3*
zsNaVBv*pe+j%z%KdyhWgJZ?x=9_6|Sve%usgm?@y+D1?Zg~#W~Pl(0hVU$tTKR<=H
zWM#8+60)Cx+r)P!wy%lqtFL&p>yd@D9x>%I4H-Vti8yS$C)@{JHn|Uk9k{%+(+m}c
zvqmdyUY6s`PslBu5i@P%UE{V9(GUQSh&C$b`#Pn;NI3Mk!nJa*NHQbGZ(&Z!Dke1B
zPc3yDt=}7E2-Ih`2Ccf;q=k_9psA6JhftNXLJpReI{E3{#-rmpr>$CnQ5t?oc~my?
zN{Qtz)%IEu>^$st97dXYShC|$&0X2$KuysR5_s^L3Ac8~L{7wZpi}!@9^@KnkyBt%
zblvLucd481HwzZHjtL^b)JOo@GVO!XLDkq58t^Xd%{d^g{wb#zJ`r_P-bIJTvb?Qf
z*la<`E+1+FISrzIGmoLRt~gN|X%Q9GBJP`NK!?H6W#RE`p+vp2)C@uTDu~kK*In4k
zws_<vaUmReDiMJdmWRB;nul!LZBZRh4XPut4EpL$s%f@Ok=ReLhHzy=%9v)-LzVT}
zEp4K-9l{|qj)LQa_a{NckkI{HN0A}+-MMo>&>c5A_2QNy>}cxhnRz~}<gMcETw$+I
z&95>jjXd3DqJ@+0INR-!OKqtSvg{@zDey;wnxmj9@6v)jc7dCgoYvIV)mZ67Iqcj4
z;}kSjQu2GKLaDom%S=5QJCa2ACmnp%rBfm|3&VX{#L^Kwb*vSMlE!3~LL6M3*$x3+
zGTAvH#j+-x7fr^L+(i*}1ly3)&Gxo5>bEm<F{YnCA;_m%WD@J^A{Lw0<P#ZU8!$<M
zC63hSiLtbtfF&Ex?J+^HZ;B}?W`;1Ftk9o6T)lrv{O<!hwd<=YZ1XzS%-2&QWpCiW
z%~LF@CFAVZSxjGRkhCV-(aBp)n>WGWk}KIB(@jbQaFb=)gCNrV6}--)#l6g$(+x@~
zvFdVa%_GWeAjga<`jmK)<wJ)Jrsj;*Hvss!5_fsGQPkp17($y0B<HO0e4?eOR&k*J
z05xZq6CRIqWGapmUeVSiGQ@ZQLM@|Bh%nMNV%u&hBa7;p$<%JSqB!PLB6HHBw-%QQ
ze%aG%L~aJ#mKLut%Tj%=&M#^!j-02Q008#m-7dIkkOwzShhE<6vAxZCaCJ%DB{feH
z%W@|xr`>wZp~><JsH^yteL`TcY_yv06HZ543W6q;dyR78It+p2Dr#aRi`CbrT#o58
zJHJo4j%A+<p)Hw(hiaajw@+roC3VAf__ONwg>4bV?4iHiO^FoLHgPz-TCK_Sw#vqz
z6{N{wek6%$BPU|s6bT^dwh`Z%HeASNHGnL(E%$k;qkD@@xx}7Y_w|oXu#7q;TbApr
zD0LU|9B!sO6uPxcieDw<Ow62J+W<|uDMX9gQ}fHpZf(R!$#OUP+TCc3wX(!Z$9vQL
zQfRQ3D=6Neg#Du<V{S9vn*ahM?>o2Z=E4hH(Xl`jb*-Hc;C#2_mskWV>ghICkmt1;
zE4L4<O4!hwW;ww{L`eh)D2DPcE!{Nb&zI@~9=YSs<ry#q)kc!#G3lO;<L+cP^+8a=
zwx6VwCYy4e<>3WImGGnXO_J_x*O?>sud2s+2@z406eQUbihk%Qh=@z)Z`-O1!>rOO
zr|jI?5)iz+%CsWY!lZ<??YU;Kq_InF?OtK9Ltg2yAWGi*r#{G`v|zlxpR1@*8qcX<
z%Y#`8NLT_)iqc5QxVd2Q7j?4|e2uUaR|G_)2`2j@Dk61vk~w^mp-RAQ78-=N7D`S5
zaNP%5;Jdmah52NH;3xk8W-Grh5hy6&P}q|-VDw~qD=fPqrq$KiwBV#@zbdGy$wfEf
zpLIm(%^)(VF3+1)>M`3`#e-pJ@O~mth$NvxMq6Qff@&@{%gO}$?nB)~CEXX`cIskr
zMDU7<zl2V_HYxy}!391(NH^PmzT5fRe~tY0=uiBK`zGkSs`MtLF0O#S6+U<Uy85c9
zqA025dh^^BUJ9w_<Ii8WL{C4ro`HFN<U~p5ebe^eZ~eOczm)!+eorW<i}v~J;-Mz$
zn|S%_%ggfYo>4w}{ks1EqW!;az7lSqDZlQi*X_6Po3GpFqo7`2gvh>IB-`VEzh8IR
zK6?4w+ipm^`A?3%ub+*&;Q@Jl`jK`LO}~BD&tDNycTYQ}+oxZXf0f&>#=dtX-BbGY
z&=;4L<@59XKc`<)b=`LO`!9~aDt$;r{r1~${*PScJnL-}jR={deIntiBKh;>5qAFo
zZo0g>lJ1D8pWA-CAQ_h;L>-BIDsGF{;$4gBUHo|6I`Sl_e2q8QSFbNG3H1v6r`6}}
z*OV^TlG#`8N#Q(yPQMrFRRZ#h_xRthK)i`dZ@PKef7h=e6*{j#N`tYN^<BF5?09n6
zD0VR0d6PsJ8gMrk1s8pn$}gYk*D>9E@lA<-{{TI84?ceB@SFMT$d|U-ff=EPRROrM
z!ArLtq}UrpUHFQ9lly+_;X2`c0~x!ib_P$0#;}GF%-oL5XstOR#8e?Cq&(m%Hs1s!
z08~;TPDR6XUUt{j6g95h+)VcI8EH+|`zA;NiN5Q^S8dnAZ?bv$=rSI;={98JCxhz)
zs^AhMzlF((Adye7EUH9$D}<rllF$*MhY~|Y{R^-<H#{7owCiL-K*wC`*6E8=s5aJ9
zAIUE<9L6j5&yY!tlSZ3Q8pu$Q5@<fkIt~&C6m7IoXoqFpJSqcb^wMr}lB}CP*21Zk
zN883i6>R5nr6CfK@B}8@?F?{HFi8%ldEeG54VL!Oas5-r?4(#^`r%nIS#$h5_F88$
zH1?fylA<=SWf{0YyRSaT@>CVvSIQ6FQ(4Qy%Qe?KtCuLJmu{YxDb9lB>t5W2wulh9
z#fqc|W->?}k;xI$M)y*gkp{anO*sI4s-F1^n?ft-t5;sMx4P_VoT4TQ^Y_000P!tO
zWQ}r(2E%Qv_hmLf{CS9|EtFJ6;tiv0uh0Y4O&+dSOvw?vVe6{-(<d7Xmdt(is=gr~
z%Wb)_P)b9bPq3^y3IN+GfUbQ`DGp;YWhOHpK9Q<z#27}=-&|xB@+8&5VH;#s#ft^Q
zVYE_0QxP6X#6=AOQA82iJG@FON2YEhW>JQpXsf8rhJ_MJza6lb73ivJM10j62FsCg
z*}>g<t_Wa|QMK!xKPoAun=mg5;_lB-^%>V+#Bvx@EF-eih%>4y1s`>n0z`KN-F7)~
zBT#RHpy?*xN^#@VI^1G|DqtO^cQ3J*Z%+=c#(Oudw%nL)h&GTUgRZNMsjT?Z8+ny>
zOG(@`QYM5@TRvkN&1<c2YdkrQ^@d|jBM){|XUW+EBrJalv~k7@xhO`>xZAobx~+k?
zu>M+g2D$0=y2CE1GDy3flb7yRY4A<%)6MKk32-6Gd{jHp+j=>(AjO_?prloA^8ks?
zAomz9FQ<Z7ZG+vR;-U8c0OIFwGSh6{9gA}5t7Toxw#J$lB()v&dbT*rjv(uDBR3)g
zfZ>55in<P~;tHrsai%U<V6_a%jgH=XxmDHjTCkZVs+h$#!BS;!wutfrZ1Hi_Mx=6S
zhfS1x2uT&YC>l4AdTh~mbwdf%%G{o+-l@sfIfY$8m=QGdg;z7$vPyu<V=_b;aY#?L
zCd0(ii$sG*2P)1pYU?K;<8Ip9W9~w>{$85#6zrONNUp}Nc4T5l0#bk)wBw*mxK1?5
z5)y);hqT1!G}s+?L`GTI+Fb0KkZN#Pbollkjr+BZ{y7~+HwbYWs))!72_2%2Dlk{F
zoX}AbHYEDQH{I8QO1p)DK#r7-h`(Mb3R>Eu&Bg|SvMCZ}Y^=NFfIz@VpLI=kR87l1
zu1$(j>y9~e(8Pg9{E2eKLo%`ZU&QPmVoW()&1N*@sX~!mMqF1M-M3Usd?GJT%_?T1
z@&t;ut87vYOjb<+rk-{17fHny1G*rhJX<4iK?!yhL{U{S>n{=-=z$9SK4#28Tr70w
z7PCsY814-YT*wM(S3b(Gxa$TaFSv1tg#EZ9j_m8Irs|RQ(M`ubfn2voXz=>Uc9k*h
z4VyJ1y{x7QkGE!H#UnUPI_B<!9tmU<tt$)$$V4Ee(?;_okldMg^fGFu6JW{BfXs%}
z-ep9>I=V`YlMRWYDl*w3mg~B4B_!`AHYFmYpxw!VD%Q$B_>g)xFh<%@+)=kwne49=
z<^}Y5<XfsP^0Csg<H=O$qImG@WuNW`I<>vJ&-DifZz-mus&YO8>}uqFgpcioS(1(i
zE&(at_`2Y@4U=)1X*UEeQtP5%nO)QRnV8v6v$nr-AfaM_(^(VEHpeo8>yrhh>nj`G
z1X}?WH4`r9k?7Yom6qjI((_rd;bfA(6?R@dC>?#!uKEF{ofa5u)@<ZHY&O((+xk>o
zKFKzZbSoOP@|eqr>sB)2Lw+A)DW2}nJ?%kNeTYSc+#2?F5EM5i$Z&Z5V&kTyGznVr
z7~w<z0OPNsk<mT1a5g+rqaVR;ay?R9*DKb$i5D%^NtItK8p9(L_L+I78!vK=KIdi6
z)``GDRU7asoP}#~%(ExSot;A_ZHt*y8d$+z*g~3Bvm-MVc__(_DcF0p+gDCYY?u)z
z1mI+9?55K9wF-5x*jTeRs=6~FSzB#k?QE*!O(b}jbb+y0N!u=MgHE*ZeJ0~#gqzdb
zX{H|C+<WavkykKlYaNf3WXu!ah)Rme3PeR07<A>jEdmLerp_UdmmVU6r5-7UyV{oP
zbpx>SGy_Uq0bzG=Gc1BON2u7E!jE^2tvwB`jRfo4cH_K_4+fl@EJ>EhzDhC`q&4P>
z(4eZSisTq%oDP--rRmS%?pxu}U&nGxm-#))Niqcu6oKgis!cG^C<wn06~=e+^E<c&
zRa2T|V|gK8$#PQsAqFl>8jB(9xnBjL*c}(yB?g-zaZic~kgG^Z$Wc^ub}NSEIbN33
zg{DCB(e1(cY+0c>Fd{K2lrsql23b7o$c9LYAkw3|I-p^=q2dSeWC#BMCYD@)nb>%W
z-DF*Drn|hK9yC09vAXFJWZ63|#?`&bMCi!FO*jtoaR6ilW%okjgCQmK?<ly0Ik<3K
zUmncv@msAmsjbRfxs4{W6S=#!@(__47HJ=KTx9`=#Xg4(30!!<6<g!uWaT<@nCaCN
zipTxNMUFs2v^*-)7<lo>+}uee9zPb9wuD+kB~WR<E-1bRi_)o&NO>k(rg0`+Vy;_9
zn{g;7RKlE(JwCj+6N=o{jm6o*Q+Km2JCVOBc{(E7WIAw6-om!zrlDluA2glP&rrUo
zsj){av7Jquo3i}UjUEk^%hRf8W;`#r>{(6S*OQT5i1-3X?bvW@n*@qLs%T-VUcU32
z*64E#lMc6&i{r7UR!x(E$zly<=0fAq&7XTXB&x*r;@gTS!nxg0QbbPf$YY3lQoFvw
zVy>Rx7S84Eu`<T`9n7X)cHJ6r8e&X#(~-(1q3+U2W%PTt+l{<Rt)aOB>(L%#D<rqh
z8_^3X!t>FqUd-zt6M-4Q6hD0-xUiI;XdFgN9N>i7n`EG94jLtqMUZB24hLN~R>_Hp
z^O6`#Pnt#LP^m1f?X_N-+a;iZl;5OzlQF8MVa&^;w1Xic)jZR#M|wMw1YYhu%LNe&
zV(vS*seR58{p|}GJ-SrF%`(Gb>#FNoxsRXWjufRP>%<6Jb;MWPazwOsfg=M{V}47~
zZX4)5bnhsP-m>Kn;}&*q$f~5SyP;?z*+vNDdqrCI-X(AljmH$6Z@h{mP7!a#@uu2$
zA3z4j8qBoen#dLkQgPc1dmn05MDQmYahP%%lPQN=kR&E%*E4Yy7DQPo#KWR8VQ}L!
zd(Jxz(%(GuxG-6xbNgARPBc1Rb(mFW`Gyyl<rqQ4VirXnlKrObUa)uQVl(a;3z1uK
zO;Q|?6-P(~rrs0egzJ-|ct$~tSG5yNit?@iG|nrkl=xhDQmT>!rw#0K&>Aywi439u
zw)+g6med?p!5eq74IIBvs>>#YsI}Sj3P<e8W7|>XbnVZJlvkrk-HeRGeBKpZg+@vn
zWPB6652|uX{Ch#LT$@vt_QyzXabd_<M2jZT(tX?IWD%AK9C3trV(yE{x7<e!5ws;F
z*pg!_<dix~Q=Z&4x#+J49?vUHe>`~vBG#Kv^$&M-Hm4o6u8jFfu$?ZuBDIX=@gkzV
z?cfm;YU8RRZn#8f&cvwLb2RDkPoR}pMRit5sG4UQmFad2R>5DwV9u_Brb?o+tV{)3
zW!KsOQWZ62#b`*kKH0FD()}mHbirCYCcb4Q#B>JWOR{bZDWcxUt+1x9yhXuC7qkx&
zc@uO6HWfAAMHfvqA0ukI6j)OpyIQST^!*zVogs{(x>z<X*wIHs*_q9-;3LkoAl#&m
z4l0Qf5krW^_Rh-)pdaVo{8d4O$Uo|D(d&;jX_MIDTJKX~>6<#mucFyav{$QYawj39
z(JTX*ELI+HJB1-(r!oHkk?ta@$3+DZC0V5Z0Qh5+S!rgz&9T16Zsf*+dNnx|XmXm1
z2tlYfa3ZrC+(?%d##I&O+#?Ya86~?5%I{b*3|+cw8mz}sA!C}8j8X)eHuaYrm00DZ
z79VtDMY58_r5SThIX3HWnSN8C;JDI(n2g$XHM`W#msV8k<%TN)G{6_=GdQ^5#k{V4
z^4cN9atxu0s^Pb?3WIIB+dfyDfPF2EXkm3I(@LGeJB}m$Ud@%@6H+*Q9tBwHwux#M
zvFU^H?-su*)EY>wHv82NkW%Vx7R0cuMUj-(y^<{=$LtflJ;P+vi0e)=onyT3QFS)H
zWlpErWz|gn6B*d}a50b7ccL(=yTn-0TP9&6Dx#{}h#W|ZvfBMe(HLEN*wbA^?Azmc
zu17BpZDYrz$SP;NP@<ZBFR>j-B*uuS$hfaZ;vy{|6QAW;e^%b0G}qKl2-b67PSqxN
zCgGPeipN?Y39lq!ZDv-WsW#IFLZ>0J;_<kk>YIu5hRy~FA(gFt9@Dtmytp6I&c#gG
zSm%IP;d&kX(_Xh;^zYUN0Nx=I^3JnU=<Azes?Q>_i|(@)L9*U4KHE(Kz9dAfvE!N#
z12R<}DjFYLexNArVYhdaKRMdghBGNVcX_s(RX}Xl!4ih*Da&$AxbLzeb)4l&6cYhW
z$i5YKUxnZQ08YHIZz-fj2aD(KyZ->|*34f|iW-VlyH{%K<g=v2Nhk!^@e6a;e-Znf
z#!G+kLJN}68b;gfny=IIzTa=}(SAGYS3q8dk?riA6z8~utGa^!08YQ0uiQ>?#Z!2;
zRNX{=6aKw@Zfm4#+<iz?z7<#F{rchhZWxOScrOe@^{F*q+Mh{YpmdKn$L%evv&Lsv
zP)}j!pv;trsN$z?D`ZBy3ugMZA|DD~f6ARX@f>FwiB%%}E0w3`Gd9-A@=-@z<Vx1d
zvab<xNw{mW{aiQO&fR|+y%AWrIVG)49$RG&$=Kc0sV3TTy7nRpgV9`Q_aT$@a*pVU
z?0!ClUTOUqqP^6tswFm=;`8QLo#m@7qq2;V=#;gB5Snq_$#+*IjL9UbtG>v)s(D|K
z`oGgmQ=ZM#2jP7m(|(`~KsmLi%F=exB)wr2oSP-Z?J~)_%)vsF9F)bx1Kl^~?;c92
zzQC#DWZ%r3dWsn_Js*i4ddfDPbxo%n7mw)^6eL}?bwxaKP1Q)aqHWM~cG|m=N;fdr
za2kOwV?DNQn<A9-7DW;>2!u(*%a3^XL_<eWQ1<cB)ZDJYm@6XZ9k7pNEei}(lOl1R
zal+%=Wx*5_K-j*6PHDvx&w}gcoFo7(_C7b0QR=GcYuteBYPu$hWRZ%2Dy|&HUsYsN
zWH%9AZB^ApU(7^RL?uyG-)@)wp)<`_#<a@Lvkueymu!}`v$YEv<aFUQr`tkhzS@J2
zh=LPtn4+q;;8k~Cn6=k+!xW#om^0as;*{wup~ObjwNT_tw2Ryo*)}CnUA8Tgud-;O
z+g8HIMgou%V&r$|)FrY`AaNr_<OJs*fm7Xg`!48+Y;$9jIpU#l?Cl~gVWC)y(UM(N
zd&uwP81;@bZ*?+kxz)AqJ09<}Jh&8fA}Dj24$!zfTVz#LJ7nUb^zFa&_k-JnP}3T8
zz0C3WK?>1=x{S=KIMzJfDQrc3dr!Vix%4ZBowY7XB%p|m2XK2#HaO7ij!&N0ejy;N
z6=uF6<eqd$TL{Q4iW2t-mvr!mi{|qlyt%|`XD&+;U$>bky}fkOCrMLe+2bcA9_T`e
zvI{MzpO3oHip4%-Sglj16+Ryf*ntxN0EjMjy4reg#%i?k+XoPFBSs8zt-CRoBFb7I
zwF(S04VCa=SHCJ!h_~D&5JFN_Lzb%ae-fpYoV9~Zn`MtAYS=fOwHGHoMy?xh$8_CE
z*HK9Pb8vwSi?+LX$1$uXHJR#;O;HQK4`!&Id7*IHLK5yHYM`VlsrhTR$b-ve`}8fT
zaAf6J)0xo28L!YwZR~oT=aCurXoQXNMP0yK6(UWx{a-4(br{2kzJU0id=<U3*%&8<
zf{&>9c9glCMAfT|Rz+3aJSCM8h^`@8PM(AUTumGSd_fyl`>&x6>+~+mw^dNJ_gtjs
zQ0?<90t|dvr$yN*caSUY#b5xDNX*eu9aSzwpeU+>ASx-o>nx8`YUyGzglZ;hSQ!(j
z4_Uog7=gAFw;^lCgyK9=6MqPazf!Q+xGt__4(Z-=sZ!XkdJ@Qo79k3|G?V^W2@)zH
zBK=4u`o1<^wOjP~nI35`Zgw2MYd86FJ@jq9{wez-Q}Mr4I2H9aCme#lBL=M{-FI-T
z!L8S}$u{tBw-NG$CMu|l;a7h8GpxB5J*5;>5->&*(dgVMqq2rBy3hyw)ouPem;M;)
zeZmA%McGkQvr2S_7t^gitf$7}_hLtEIh3MCmSc(jXSPM#%KRcO`=WUtk=FF1Q7Uyh
z!p-^!PDYae3@==sa!-h=kVc%si2IF+RU0tan)AfLKAy1N_y}}u9npKO#x`-4?*7Kc
zh{lH3Be9so+{B|txROfcH6fWgDoC3n;kb#1g(cwXDz)cgR9=qb!i5KR1?JUURQJz|
zzgoDdvL~P2eiQBUw@B#vd#M=SpvJMEsxlY8$uuD*<sCK{RYf-6SA=_wqNtD%@qAHG
z54ebmg}S4y*shlyWNXKte!6M6D`3N7@TrKRsJ<U1$rt2&qHXi>)Xs&{5E!avA&hA+
zM~>ITuwYw&;v8m8T1cRzozf2+6<7R-zdjdr>#RzN($D-{v*I3oyMl<0AK6VsRX7j+
z6jViDvUHSPey*aJ{N>0hqG9evMyqPr9#UqXFRjr<`rB!=UAX+3rop$B=!Z%DLg`HU
z_t>hxH(Zfmh_I}M7<Cl3K~P=xP(|>bRFPN8{rcmu(|~N4%uFtDOx`VvzRSK&Iwj4=
zT_HkJ-}P<3!lLYgh=_^z>%?g-M6*zJo(+j1cM$lfFVFgl@AJ1odH!_UW+RS+)>8bq
z4_GR#eQ=_nqmK~(0L&y+`dJOl!r3|?wVyIxEfUUrhr7)%(#UxjKyejOKQUWHR2`Lf
zAr(~=Ew^2lq=uH76yDGqjgbZFMkH<|cjL0#;6U4@x9a&$E56J7?5dqq#D$Gh!*<Ik
zuR@XvzgfpZH6Q84HZMPYxBmYCJ$kRGzGrscRujBD#puF>(W-nAHeMB1$CTo~->xt&
zY+SW|E<)5|1rkAiJBm#>yZAzHZO5(#kzi3cismC#KCRkI7!6%g#CegDKTx0QR7LWN
zKPj?r*OjV@`F9w3#S{G`ttyJ|_eK4>>fSd^GAOwlgAD?2uo|KQ{{T_n$NF{dwzz85
zz>eX#$fq%64SepOvia+w)D|nWJB40V$q<O;SCimgK$>vVZ}v{CW85$xjs6xvzTfBa
zNQ?JXP1pT;=Q3q`<Y44gY>YMpZ*Wmx`Y!!Pb0u|<2!q@r9g#?lRY`j7Gu?C$!lYbf
z5GkV!nR5xg;c;k{rCrzm012Xgr2hctCts;<R{p$a6mU4^tGi;n)fGNfH}kjl>!rOA
z<nh`YW|{^?!7&3*3cu<90GIXZR9Goj93w_&i!G1P+h~X({We|Ie}A3&S9dQoLpdwM
zQH4oAFiDYL0;%LbvhBX#>%aHva}s4oBL|2H6p;ZCRXC^h{=IN+Ln7a}7485Z)+j#+
zsq_BcckATGk((56k_ee17X|s>ek#Ae$NhQ}a*P^ir#A9FX|j0R?!A5YEH>)4r{{D}
z2){r2by_lrTKwVIkja@u0*I-<!TA3GMeCpoi0U}uDj^34duzIQ@`}H{`|rP8BFKZP
zbVH6^S>eRhIX2lEInCu{lXXS^058YST<S4^dUD>#SHt{C6F}mo{{X)0w^lCU&@AO8
zjH!;3qDZd;Xo!l5_w)Tf^6Jh}#O$_Eo<k2Q%?o|{Wk$#}x~#uKO80#3s4KVobibgP
z20g3wwva*AECaUY;)}AX_(WaPj{C0b{{T*pGD36k#}qdGEA!Hc>*IlBG98Kzi%+4b
zZ^cOkcjL)Cr%q?|x>X5sC$iJn{^6IZ0H0|~nlS3CZjh$rpXFX(<@nf@5qx|vK~L05
zn*8}9z{en#0x-vNU5}U0EAX2lefC|q=(?vMoOP{9meRj2#m8jBi`!n)E%H%QHTmF&
z@Cct$s(INwPPlFcUg%d?$By%knKs0RRX1_K6-PU0zw-n);zWC*lBy=#Z_^t3CA=G@
z`aqduRTiK|3+&fGa%9veSHhO!f_rSLs72usJb3f6_$H^qVA@+pv3ZvU1yls=AQCA9
zn~9d(hnH{XW%I;|c3-zw)mW^kla9tp4Aw=~oN3MXFlDh+7Q>e4DZkwnQB&{dt7tQn
zS&dO}9G$V4W`^o=<HdOrAgUtm@w)sXb=OE~WURNks*gtwlNxFz^q~i?CX@4(<Rk7n
z=IAZ#K3B+q{{Z+K{{3H0%&Rb5a=7a2T$~2z!;Ep2NE&Q6M;$UmULYzfy6xx3@6hbb
z^_;lcZN{5OqT+;eRp3#iA**fk<f+J1SGX#ize;bnP-w5KtmR0_s{!XK*{@-WfZYf-
z193ZQ0;$V#4(jfksJ1?ONnv;yg6MdS)oDdHd88^_Rot>nISt1M{p1+W3A-fK5ka8y
z=XD|5ZyWshPb&P^M5p?VzOKr(5!rPRA;D8d1>o+BD!YqE%YN4Ao2l%otG>zc(V|ku
zzsRcQ-9l)>GcOv~3K|STE-FOg?e(cDrpBB_Hr#n^y%T~HfUbx(EjH?z%$K(WbAQ%J
z{&V{PCxJvw{P^gD%p<$672?w|zMm*}8p5${FvQx!u~K%Ly~cJ2W3M|~4cE$|5-AS*
z?aOXS^Yrc2#cc(p440&0cnxGzJ_1DXkvi}SF6w5VDxV0OmgTyt{rb15j~)z@kc^aP
zBq|a<@bj4|KXOG+p%>v3?fWNEr%AAGI!ajq1)eIq%U(uHw}ez*3FGAx&ySvwoz8z0
z@f%v&=!R^pa}|7xAy?ar9kqM40wR}p_8%y_s($6;#{PPWxwSPdB&k;SDFw)p%3l`U
zBiO%E4{=dY&u;~?FY5U4n^xyq&o-VTt~mbyyoT9ukhSd#O)8S`5hvX=*m)`;5U0|M
z^U~Kd&V5Enr)}I91Z9{KUO#(bSt*!qFu*pP1&5^)HOWy|>fHA2mfxv5v6y!~z2E>)
zNr-D*Mv_V$uGb9qith7LvwcRgv4-o+l<LroPu9|a8n#Icc_+J5<{J_g#j-BSOTip^
z2aQLt$gQ;s-xjffBGO>9Ff3g_M`SSAw2y;AM1Y0@0=$(8RlWG8>(ZM}^jlGE?HP-i
zU{wJEWU_bxE&@_E!J?OMlWn#}LgBbcy8U9|g8U}zN=;3u(yZ#ILUO3izb579g1MD4
zC!_!(DM(aRB_Q+lFXe-2vI-I}RboRO9$2-d=%vFtQ7C-cR^BO=TE&7UK_eBU$Y4vb
zf+|xZvn)wi6jen+MBR5yl{ozFokG9MD)Rhw+V~RFg^(e(ZL(aQYkidg5fG7gMf)#=
zRrpS`?l~7mG>=y@dVNcn%@dhrqb)O4@B6N%&LIQ8qkbq#f_!-ZClxZ^!aA%mQJ}1_
zzqNobxdv}EeOngLkrQrUD5Qu;s=ujx{>Z&d_#uVjmD-%uZN*|IVJ@H-s*QPtSk_@f
z8Zxmh_vXf)kq>nbb_9pPNQE~8K~zp?pH~!KDYn7d$&%YyX-D9B%!u&pEM8=sX3CAn
zqkdth<j7VW?TD|^Jh_PTQTmZLRHLf(FKH)MQ%ir~ozzLPA1B(Ec{AE9wn4t*lN)VR
zyND_%*sE$>lsu?yv0YqQKb^la?iJJq+h$oLC`U#{tjX+yF9|u_1u<20M3GQ7`A-}4
z_C)qP7x>jlB=N}7BRr_E&#E6z&SJFmSwjw9HBEm_B(E?WbrqJ1SqM7Z<BaM^eYnh<
zOpK%__6Oo@n-a9*Qu<ianIVl>>TEiD3tU?j_eWCZJ&ls?+_s%{WD^9Y+fAw)oD@5}
z6NdY79=3^M4&!$VGAPwPv29LcQJJxoT->P-8@$o)`JpAJ2fWDxh=7hXWL$|=ddWJ=
z=+8*74N%2(ze)2u>^1tRmGzaF<}EDQdfHMDM@Qj{M&wt-TPBaT97|>icG=Gxm^@Rm
z_G5kiMLz2j69Y$i)&p;YRNR}N%hT#QMsb|3J<T*o!%=O9WQ*^bv#V-DZ8;vkM3eU&
z*Bf{o7f9U~MFkWP_@Xa0Ur_0;YFW?YUtU#IRM1DTotR`az3Fu=sY!4J)}3*~dQ(b4
z3C2yo%-EC%kP!4u>L)6dV=jjF7GICt%@!s}i)C(1$Aw=SPjWME$X7*L0S86a`G{;z
zAcL);h#yI)FTmCrIQ}7A(7F{dV%}drF4-xpvWocg0k<9~a$t`RBud*)gT(mn+%*w#
zdVEZZASI>#{duXL`6O{>$+v*F7G8^ElzL?rMHGw*3l(`yJJ84^MtRuB7rxMtcU=KQ
z69XhrakOosHg;4=?woudOx&QdlyEOrrDS_riewR18GN60?`n;=9k6?M9VpTyHeybr
zV&5)1-DXm5BHh{QPDhp6<T9!tI}V!S20D{%UKi)IO~O`G1Y=H&;e#?rg&LI;w(h`f
zlJyyzDOXdw_d3O%(#v+yvyynsxG^J3WFIqnDaT>dd9+mBqjgy`O~BhR+o`*9;hL1|
z-BH;L)Yi%~QZejJ)^o<3%VEQZPBK>7`wc(C;i0guAbW_i6pgb-8We0?BNal}2$4sr
zv^d3XKbS_nOb*6YPccv-1GA<_VmlJrQxK5rt)yn*_E_hzk95#^s&_eUTV1Fy;JC-P
z%XDtxU{68CW@>F^y&ghJ+<+HYS@K1YnoKsTLidw#0R+)}xz(!{Gpnkb9bTIk9DdPW
zb}nOFs4|^-_FQRRZcnv+TXflI)eP0;;?Dtnv?5hdlAzo2e(R<-vXm>9q-9a88=qsB
zV}WN`Sq1p7)Pb}?VPM&ay&z%>$S<QVyg+c#=Nypp%fQXX&=5-m^%rxc_@uhsOVc>E
zxMnOgjNibcx0fPzI#NLisSu=3X}6^#Tzh|q6Ryf-K)X(t5@c9eRxg%7xQ_!0tB@A4
z9cperCc3HD>T=p*b&q)pZ*&}PBj`dBhD3!TS4|#e#YJ_s;di83S&lm!PxY4m6t`q#
ziDyX<A+wJWo2y><$QRrY+p{cRMp{>&MH2?aBe==9LcPxsV5qRthW!3~yoxZ{8fp#q
z>#v0p=TBEru?yV$(f*^>-q&gXvm|o}Ma^ra17+>XNo??{GqiaB0EM?5vQPzAm-QD|
z&5v0gxV<21#oR4i!KfX$$SI-NlsUA+B^8d!B0Cd``<6CF-fW?g@Dftlr4=39+3ilh
zdRw!}Jw<6_p+5REj|R6==9TMHQJO3A7Gtf$W$xNJA`@m?I?^=ZvTcZ~rkqqmIQ1v!
z8`aJ+FIVWMO47Yur>KzoL4R!I%6ruWLU3D}f=I*WfS@iA0+;D=970u1EDIVQOsvlt
zu^?2A72cj4v{B-2%CXrWtqG^6@5u{8{v)25;p>Z<g{N8q3_!}DN^4Om&U{0kD#A-&
zQn5JNBp(ec-Ln92w{%zX(FAH)^<KJzM?s_*KAO|wvMX$*)wPsmd2-o|I=crQ7i(Q|
z%sXP+g8OU_e2`HEq)r6A&bVoI7ozEeei<RVY;1D7IOg-Nxedv7%Uj4Iws2ZReN+s-
zweGNpEw)I!QFqyzI>sNAg>BBEY1W)f%<<NwwB}mL%BnMp>&ixoG1xzPgxMo*BZ!2A
z;_?>}NXpzm!r_4pjJS&ml1DA+O}rE_I$7KXa0b0lRc3!o8a1W<kaZp3Pv?kg<p*ZU
zL^|p<3bL-8t+;PEeSnm&xWWLqp(WIHzI;Qt>hWn^StYKTVtR*_X>OloRjpZNnr&qs
zxy#tHUk7aDNNQ_A-ZMm5NDM1(L~ue&g3|_HrBNH#c_LwWoXsnjaRf0osh?q(w$(Ng
z-;yNPbzw(!>oGYElS<-)Xex?`LL#0=s}aXy<#jOSmNpi%E*>Z2J9&;v5@JLaPAfzt
z>uQbJ$41;0c!^y!dDKH*BE4k06C>S6Hr;ajtNR85NFuwRA3w7GZ2HiBjL#>!%r7q<
z39h`+*h|DOmFcZbj*}})5T7ONlDZL)4bRlu%@c{-5-zWF;)^w$P;$(MwZ*n>`rV4@
zGU}tEJt7koe*B5H_K?GlBZB!Dxy2f7;Xx#KU}5^F^lzNrwKp>K<rf^VnKE4aT)O8X
zuzC9WsutsJk*-#Ajymw#NrI#;v<M8nvKIZcC0xhO@$Bn2wbYC+6qNGiR<2sqMaXH=
zrp<^^*<q&Ib-9XtmG=QDhMs7Llgi)Jf=C1OIDA}FFg2Qud_LcWm59R219Lv$qa2#e
zaolF&*5=x^ibbz>&C42j?OC|87BU2Poo0KiJ!v2e<_arrI^Wb?w}Dv{>Kf(ObyUkX
z+fOqKYdfn+G??XXH9CZ;XIe2IzEEW{Qw~E0kwo26Zd;sNY`G}zi`3?->ZmeXYa1<1
z%yF!;Th2wMTO7(3I?MJU+A@VGUwyuB1FC>g**45lD<~VZ@*-Q~^?7rdg>&hLUf5d9
zYHh`Q?{f9soqUMSy6Y03lCveVSu?lE)DlG=%8M$?;$}TTh;ehMC`YG{`l-V;qAbrB
zK5Dl~HAh<W7a+YZr~Vn!E=_HWrBiyRD%v!8PgI1NfD+w9DZ=VUB#sO^KH2Ec37Rx6
zZnn*Ba|%r<$?fr~YWC|VVb8ei7mj?GQ5}aZ*V0pV5R@5KfErOoV)l7=c$`8+b=AAo
zeJ{vlJ6EhY>o+rU`Yf@7O+bGfehj>U$BsmYBE|-sX}Gb<C)5qG9R?yW?8g<gkVDry
z{Ce*$(J8unsZ(tzr(Zh}CfWr|dvIxn-Fd?8?20xd=eZ?U8YbW1(26Q4n@&C!f9u-4
z5|=aEm|orswq23jX1IMWt;y1?dUXy@h<`A<hudVAHiITmI*cnZrd07*2HUQ-8=(x4
zAR&^b+V>a6qsNz_?&P$Zvy@Mk%_q95Y3iGcr(L)*Y9o*$0bR8|FoYxSARg|U+wx@4
z3+ZCQ%q#MLP}4O(F~{Q@IQ4ufc!P0Uk0_ov(Mi#AWDt2?Y1q!F$>klEoNUFxeZ9D!
zL-koy+&XqieU{>Q9W&7#X5LeAr3bzCP#TKi%Wd~;oHiCqjKGK`9Ds}3zUZ~YolcbK
z&ZWCkUMH?-#I<b!-m5?BWo&$UH9j|It5dD7E9&F9ZHZmP_HyZ5b%xw{g`p8`)=9(i
z^JBLp6jl2p7tsE%m1RAyoc<gSy49du)i}3dPwa_!FzSViO&q9%e49l^iJ?7_4Z%;O
zqxz=&Uj@b*)B6ZG<OeUCV#%5#$!A8kiz&iam6ESnCkk4VBriCkg#2@LM3F_oB#-Fc
z40FKkt};C}s=lVI%V4`>F3u1M&^k?%O-@&zjQeF7IXKhopsAud(U2G_sA^}9Z>79C
z;5huK9~<JvG0m|cd?n|tJEqT3Wy-h8?Pfrmn=Dt~wrU)J_YLrZZM`BOw1%z&@=2*^
z+eqj(+inWDW{R7;k!HCIEL*<G%S<Yo3&4h4dzJ1<ifOqKDk7nQZk&Hs=sTjSv^8Oz
zKRtgd#^u-Js5au|0bS#nNZBzKM24P~U&$3rm}PC_*Cy&q*l?6LRC|c5Y%Y%QzY=&1
z23FEIx(Us-aS(_X_Sn8t<8kV&6m5LwpZTE&?3s#tqQN%5`pr@1D1DRDE7Hl-I37JC
z2+9HM3ezyhbKD-<`Z^D^MkP62cV94eR^4(RxQyhK1VED+mYqQp6-0^Y(#lOVoF85>
z8Ih8QHOb}J#)(A*Cr!odp@gWG)$w7xy~o*%PlN0s5d)Ddn@3T_jpFaq{pJg<exL6>
zA7?nUySWjDUO|Yz8pNSD3C7AJuA)4MO4G`$nuDeW*r{<rRebgp)SNCJp4>Z`rcHG+
z`XjJ%$gr_&7vIN-)v5xNS#g*#VzJkfD{reV83cn_BFeZgh>kSz%ZJ3C(Z-cNVAw4@
zERbTbnOX*52bC9z7)2hH>ZO*fe<&RKicE>yiyC#0A|q}#^oPF_MqL#D0Oa{mA90zj
zM|+!R4dz@&OjS8Uv}mnEEA+Elrg<(=K5nK&nTEr~GPwT6b*$EkY-S!8{{ShHdO4YQ
zqkw>MQgt}GiWgbSIpiFx9MR1($!VkATx3=C*lGSZ$+lwhb%9onQ$pmrv2DpMF(u(i
zRqZ6&x!~hnwLu+K)%`cqhjI-O^!=uza+U42&Q+Dv)Hz;xldL?AxmRA}rmJ04jqw)6
zjt^|pj<}{Qh^L{&$YKENw;(j@Qk?7~487a_d8bZek*0xY-9EXorTGQcV*O0)cOGj`
zu&Y}8I%lM-4#<~a{kltSi7HLL$jFG>i1-lzr)}>Ut?XA)wTmp1Ey&kWteB3<&u1{V
zZTW2@ZJ@Oj-Bz1ylt6o8(g5)gQQPU;t=i6(=v-|xq`k#-zZ}RM%bc39zn8T#91rFM
ziY=>>9*GF!qq3o=CS)-n(EyRhn{$$F)>ibdooPNRpXHb~Qq62yoRO!bvyx`n9g`sv
zOm`f0p>X1~`_crPByW$BGHaJ1QtH2^NYKe80J!n7vd#L1XxOPjv@VkBzo-~FT<CZv
zX>XFz&0-{&wT@Or#R1rd4A?5SJ-cW%&PO%ik{IOMocD1zLF=EaJxuijhplh_07~^U
z7V&dBWV>T4kkpy?wC#iB!;Hz3arrR?w}H_^R23H4GC>s;C5@o^kLku#N=-_#*L*7&
zlOE<=X)ekM<sFGb7~O>+HgUHINZaCp!Qv7{ZO;eRfxyPYIm6`PRu-p{WRmQjcPdDf
zlNe@W@<piA;;{VpQO2I_8^PGzgq#!l8*^k;PS|6ZQI!LYN9xHizHFI}r>_<Ku*suq
z22YP!-s+yF<X3Fd-$SjIQ*!5Q*oPuiX%Dj?(O!3xYAiU2^IU-yHdRgf(0+wt;n>Cp
zSXmw|F2chqyl>mifyvh))k1s--4>M>aDG{%NKOwQ%O%`Xp3jJyd!OVQv#YcZ%DuX?
zn~vC3$&8FZh?N!S+n`o5ow0eZp(7(rFv)mnrd)7A2dwq{J}}Ao6IBn*j53q)HXm(+
z0Fvp#WR131Y#l`gz~sK1O?+-DsEfCqD5Pw$Ii{AOw*scbQh~y?DZ}btMRc>&JbZ?m
zQ+-N?mrIa^b*3)o&8$jE4!aPRNcR>xN_sfD4+1i3BH3)M1B4tG`Mq-rD^uS}`^eT&
zl0vrCge7p9lsm5%no|)qY|~;MLM5>#=!?2_{YB64cWrgI4oYms-lg2v7ctBqXyTMh
znDFEpwO+1DkSvo<1FGwSoY0V2RBM4LnjiRue-4dW^!Y_I)TT|HP`?uDOlE9<60?ZK
zgu4k!WYch=!em%hk|+rpB7%yx>4+m_Db#p8RB>XmIreoZIjdgRzYGX%#;2DAxAdQ+
zx`C4DK67cM^fwbMG7EY-VQn!7W<q>@^9r!smeZhcoH;JWP;mgzg|k9I9oMhu{{X4{
zFHtiL>l1HHtnDlrrLW4ba@)2I_Uh%r7|9Xwa2tH3Hv5i>x6GPCApvn5U6ne{9-Oq_
z4Z8juT0)X4u4~$ztnpmAxusy9ksaqO(UN^iIU~qVG6@J9RZ&53TvSCRRAzdQ(pfs2
zu9^O6ipHG=>rb?h0gNJ!fz*AQtC<SIZ8|$-?9>q1rrkv_Xv~A@Y#bi5@w1oX1Dt6>
zb@cg8ft7%?Z%@jo^w&c#IQ||MxUQf}vB^b?h&Aj}EsK>hvD&vzJJG=HomLTBY#wp*
zZKj?x_bPq2NcRCd7qw>s)CV<kc9v$j4zFd7JB!$4lW_uL9FdR3X~v&}LfkT0FRYh$
zBAVlTfx<^j5lmFwo}jXMm>mXbMN3P63VYeCSk>i#+!rcn2~7{UvR-Azj9L(dJGOE}
z{ll%s;((lbg{E3_Yip|aaWoS)$ub(}YuXp8ammk@WtDBUDnpp-k=e0SZ5a0tAvY*n
z*+Iot%c=W8oXkKCtwnqVt<5(pn%sh<(uRpSGfqnz%`t5*)VR2&9DwjKW1YJd`!UC&
z+)fyQS0mcE4KpDh1rf9t8hu!G3y2`9gC8%^T-QCV#@*Ix%llk{CG56lNXqF_9#RGp
z-I*$-w^BQu#^khxAzcD>r@MWmQFR;S;q_0aI7FQv$*LC{#VDT3F)I4X=v4O3zOL0q
zaYcrV&&O>$(t);sltjq(aErIKMyTpWo_c-t4CaRVpLY6_9LeS+D4Ar8k^WUPPCIEH
zYJ$DUV97R2+I^)3g<%oyejHAO;^dPnnkq=B6sfNxuc6rx!!@nRUG8)gJ$t1ms66`(
z)BMVc%C5st=xOo?Wrd|(L}nyXDz&^)Y9xk%mfd-iZ2QqY%V;i`8Z^DaaT{2ULxkhm
zbzVKFUZN&kRoU4@SlG@9U+gNWm^Ktp;J+NmjTIYTsY%IXT$M$$LLmp#ObQ+qkXLDL
zx#04xEU}9zw>EhLG6t%n+(w||U3VDb0Y^ldoRE$9rcFr)IVk&nZVk$di{ZF+G)+5?
ze}3LLaPd0&OFPl!4<nm7ADR%H?UNFm2roOy^A}+naZ_<bI(uClu>pGASbN<i(a98q
zjW?-If9L%v&UHR~uS$5PDUsv&toG(fu%A9lEKI#7gqmhKM;E1BG|MZ=_Z19CRT^l8
z6-%mG_!@_&lW|=y&oT-1b|nS*(e%>*$3nI(orIwF=OxDlP2pvi-!meR@Wlp+w#TxF
zg1vMAj6ie0uhjmYIa6^Sj{X~wD)Oa_+~(=ud2vK;DjUks#$>yYnk6A0YKqtCL?LaV
z<UgW$mb`k7y_ZRk`gW(G)2Y@1wV5RhnN=1!HCRdQ)YmMzy~kkzlh4UFTLf{?B36V*
zd31w^d`-J-(WyV1RS=X)>H~AYbW`g=F%`tIHgKs~1{n(OKq)m70ht=gn;C6Dooq-`
zv_!75(+S-^=IA`Wl~rDXbsoDmhet)MxlV4@RTjE)WnFnMB9zNO<h5=)u;$dZ(~Umx
zs<=(|-DLM@2V&*1{c4`GKhpbJeJQJbmhq*G<~?nT#*1BuR^CH=94Jh89tE8C%!3jo
zKI5($Dj=dLxF|tsOO#S!t!DH!8D=pWOH8{@37O{Kaa=bXIEx$%ULpZk)W8X)B^6P1
zK*h0`W^=1rI=Wl(sc~o&rKpj*nU$mpvUecU)X56VGPSP3C)_@m{wa<~i4+Cmc06-%
zS%(xmU!2i7$?-oRpu0lV%!6JmvusaIX?;{d#j=dcETe^R<Iukii0igcoN?OtOrjxH
zq)}zZ&O(2Sbmt3P(ZC@~@~zQZtxGC;33$udl`b@+Lm;G-cOW=VMF*o!rIdo~h-&$@
zB!%u$WIhVs&U=QH2yArAMeB7cK0m5-E1uV5mMi>^7bK`o{B&x<HuBk<7{64D=Onc2
z-J>!PR3sKf6smNsXaIBlTdmaXjJEFUt|?QG=*~N%nzx%<Plr!7glOKPcDfcs6QWY5
zv^jkCa86ZhmtSoYwBv5P@+rJelcbys@r^0dCNnrtYn`)@b7C`#%t&?W&=jbVV?K@9
zNr=j{<Zz5V;dt8ZE5BC6dnq5}nf@h?W|jJ12O_q<)H_!huga<zwERS|pqK`p_$1gz
zSm!9^iw*3;i(sPYDz;7Y6eeA(UbHjaHpDeI(skI3)yJ5PXBG|RJ<#P$Rm<Tu<gs)%
zVq?d_HgJgKK`tn}f+6v<N!f$BuD13>Vq@h1>DK7;E7ea;-j?oZ;QFkpYU?m|iHp2{
zPN7I<Rir5Fc7$88pDEF0r<<ECdqv^lYC0KlY@R{QnS`%Zf5g8yqCZwR9B7!PKG_}t
zr<g%Hl~)rSVoO#MT$ft(r`U0#*`{Tea5%?%lS+W-qY9VPY@x`n^IdVwFw9aDSzOt+
zR{1pR%Icz*HbmBk-9IDRFXD4zOI96Zhj%@rCaTgJa$jq&t=v;7hm>fipbWkPx{)fT
z3m18F*>g~9v5QE%wKMs7_xnOh<8bA?^_+(Z*I72(5>ZtifB^Rbd(QNymfs~^AN<*t
zAwi)!`>Q=K(>!Ml)au<Wr1cFY;Hjf2mzswY9BSttnPkSoYdSN^g#1PUS#CiCkE6t-
z__m0><Zj<%*Epk7FZ8QOv3z>QuGt#a9UCYy+=Bq-Dian}&lsV*M__11%c!8<<guO-
zCE2lkKDw>b9A6yLZCAxdBE$1Zb&V!vfz(eY;5LNwEs(P5BTGIqi=zJk7Tl7;HscNh
z?6{j0N}<&3jH=~X-N(ANq{+XQ=xng+_Srd=)?~b?s$`Q&4${hL*3je20$SM&qH`c|
z6(1v}ej$%xw)N1CJ~i7>w*#KQ!3*0csW${_2>VlYB9-RpsxGc6X<}p8q{_r^P${jg
z5$Fyw;|J{A8vqq0pAk{Pk1<+T+>A~`vH@0Gc$;rmH-TVPvkc?cW0i1gG90zb`Q;3#
zaaQ&aY48MfROLS&A)^W0Hw}pmAq!}Vqnas>=@uP}=4E|nKDQmKuPc0-y}Lt_6Dc6d
zZPug!p2Fc+&J=<K;Tx|-fQU=yf+4IuP5OlOcY+lirXQALi*2hnc@}k?Vf8J{u66}f
zbYij)G-usEV2;9h$Z5djCg#zR^Vt$KRl*_NsHwjXTF_g`HXvmI(mM3FTr01d-<Fzb
zd8=a&D$E+24;YUqE-$3DWU!u{U~G$VTUi~}n})<_gpSBHEsj*B0TMR+EH(cC_`3RB
z(F0=>^yOJ6RI?b6r!+Pciuln*C|r_EbdbB8w;K5t8{JFn=Pt9nJvE`u@h0-^bJi^O
z`y15^vesm(?L(O=h623kHyzs-=_WAyP6KWfO9o=1uu87%L~VnLDSRhSs`G4n5!9TP
z*qX|pwUd=o3vnP-*SU5Myv?m#*BayP5!a&0ZG&FxYqKKIAfFOO8wC`Sf8F_-HWjC?
zr`cB~C$W$IZKICnmGu7rR+DE?wTsjxUOTKh`)2*ky~M6Ky%hTgtD-%1CSWlVwYXa&
zjmC;BB-dK~YJl0gsxGRCMthuNy0>JSdU?Hi;`cT(D2lqmx=gk*iG8^fV#&QoEju(D
zmfyMN5nXIsZA6`Mr6P`ZT1V)&)=M9QYX1PHoZiO`#HYGT0tRc2I#o55^BN|WV8fBy
zl2XPhHjfA(w9$7+Um<KcFD>=Pem8TA=pKyfRuz>|FvHdM865>{)fG3g<{2cbIFp`~
zM#JPs!N=8AgB4Ij7Sx3AYh%PpSp_UM{{YC}&yn=9fSF)tYbo{Aow^A_>c9A2T;tka
zdb@zoO?n*z^P*i=g;Bd_Wms(lmqt8iJM2FRu_xP&DW}arvFG1(h*<{if!0)K`g*Ba
z-E7={C#d%|`K&ie7C}0?wljX&W*g6PZpDX689m)3L?sYM9%<H-rgp06W|HbQHK)@s
zJvzf)yT&p$KbEiXJgu6y+>-*a_ePbQsG%IE$Tyn+a2f{NX@yrA9^fY+xEhP8*km}D
zmtKIgZA`)PRvoO8b(y+E7((j}vfC_FrzQmu9DQ4us7ox32~-qC1F_F8aA|!xk?NZ(
zMEG$TI$q|%PqnMf^nRNL)ZI0oP|C!SEF)KH3m)v^&IZ(Eux`gd?Zc9aEgy7I8c83T
z*6a$c?f#ubv%O;lq>Yc<RZ6p!BMr1?G<1rxQ|rbZGC0|)I3X#<n0;Gy8y9;8!JX9{
zrocT$`gX@7WHdOhrtMP3>!wVJ2I}7~mrmK7*4rY9?;e_NH0+{b)e&w<$5V>(D7b2Z
zr~`_6**!R<w9`yG5y2#583pLr<M{M^k(r-^$}w%m)CRHhUgA8AE0Nt&19_nZ{RoLv
zf5@6b=*M_*rTlNQ%$1CZp|Ad@fYbC=j>IZsXr4J^m(|n8p{fw9Zr%GUw0Ib_2Mi@o
zLE;G^l4Z`?cE80cBZI{s9@^YtdZD6v(X6diXp?rZU8<^^X=5s+oR3uOfDmYSLLvqX
zi94KRs5E3wHh)PXr&YS&CmzEvoYFq0H9CEKTUfzp+!;NUX5Hwmx=jRdeHJK_k1ur?
zae-|VR0Q1T$aB#)8!t}uVa-E+jkd!rpWHhKL8NRe+9CsGP4xr<H6`Lks?u${i?Z*~
zhB48ZU0lM$h5k_omb@{#Z^aPm)@eUQt44lsc)n9o%(en9C1}?<(4;H9<Ch9+Qc^@G
zw*@j*nFh#*nFl3OEQOWZ!?(*PSk*+49f=an<{6bWA9PTclA$}qdxg5L<;6Eu_)eZa
zu)R^(=FA?A*E>l%1ytk^yoDXWdB&O)M&b~khSjoD-C9*`d2AaBCt2bPPsxyx*=Wf~
zw?G8>{gFD>`eqbE9(M{8){8G6i0vfG(@+(INSsvExUY?qZ;p#}iteW!%p*;=_Td>!
zf=kkA#=*AQQ6VK*<Uo%SZ@MQT*-;f0Hr)l~)ZJ7X9sN|8EfZ`Mc{2yLGCQlqIH4jh
zgW?~3$k7v`eLmB2)vC;z980OSUxhyKKVlJyO%fD_ib{t8KMEpXilMTPB~>2^w@g{t
znwu$OYs<v~Yh;??fMp~&axINMGcLfT*p)Q|7Hyr7(kMlJxd=#&IM{e;Q8>g>E(q@H
z)w$#nG7P65!)~0Z#M#H{7DgLOluMY;at7P0%uXg9Lv)CFl+y<|kryQf_<*OeoH5+0
z&fXm@{94KEHe_$V4as2%$9Rh*<4rFjRaY8O4+u(Qx}q<aoIO#d#%XIXhAmvVn-;)E
zHXkYJqg6>L0UJp|#OFNCaJ#&aNtn^q#4&8ld}88YWF!b1Q}JE+SD9KcO!+}Fx`V5J
zkv691Hqx;;Ii`E3)YaCO>=k@huBm?-Iwqf0_S39h18!5*V(5szjy=uOF*IyrsdT@A
zQ0zL%dWDfxFwOm&&BC~D!O~_!^V5^9Rz-Gbipel=-}d3mJ5ZK5$Q1^dRk)^yo7vab
zYX(;@P}z!8iWOtC>=38qAOrf9*V|KV6J<fQcZmu#qQh^gDRl(l<2l}>z|ZV(^MfVI
zrCctrDT^xBp6a?n5Fl5ZXe(6n$H4ojPAr#+(0Ig!NOPlWV|7N`>^OnP$JJ>WT=wNQ
zuc`6;As2A`(&nPpztl}-hq|o4YTFpZX&RIe>nDMzM|j={t0n0VF!=!4f;h>x;EO1Z
z#6VIU!tUAxy1g8O9}aslxMtcN9wc)lxeB&hwekuhwn8KRI(w4A#zmO`st$I5(T;62
za6Ln6&_rdOKB>*GDl!QZW6F({T;vHS{uawAki}5i9i9bk$#w3?eT8rWJj8Jo^b<5m
zXm_W~pZT(alQ*0=#$j!q*;alus`%BONWm-2BD)brLv2WQEQqG_JDXGBL2<s~p9S;e
zW<v5nHR090{Iz^IXUO0l4q75?e#;}(?F7TM3sAGne5$fErk8D;%5}t%D$m}&+b-VB
zG<9P%PqeH+oB3=-k=%_Y8nk`DWk<wu-2=rkY%>wKskX{5B}Al}Qtj0tN|@73Jl#^f
z;xy3B_M5*E_gfG!XvQ;-qe`L`q^-H7A(YeSxYkW)Cm<=~s#tzVk?$#W2ON{mPvTYX
z2kE(F(tMPU#1e8vpV@7<%vld~*XyO%>!vszf@)iHfMR2J)|m?vp|KKMKIw>7kH~L(
ztay-`nI1?ZE=O?WimMU>a+W!!bgpZ7)}3ssn-3de4m|JH=msXGS>I_IdUy31RQYFT
zJ;${F03d;nIcm;n8rzdmi2ndNzjF<q+?eJ^-B+4cO%xww`6~6lN380zh;c4xE8!hq
z;x=ryIP(p`Bv~#zvKw|%A2n^_CJD(1q9Dk(ERm;zK<MW2Oq&wcEPpk;X4=C%tg5t^
zkKRj1rDF0ONX|IrWZSt2%0D5dnR{t58&Fb!(mt*|yn_YQTzXRBRT|%k<`?#ZE>klv
z^4W(@#iP=rGrzluG9o<ek&OI;Wn{G-fpM@1&LN|20c&C214{;{j~!Hwepy57Zd>i5
z7}Grula;_+KSpqNTg$P^Dep}5`J2+L;k{u6x161Z%6-9lzC!I8*PsK)<0-R@9FbAx
z{q(mxM*U&w%R0NISXBIJE2T3ZCc@|>GMCgcLAgxHgEgp-;{<loyz#K>tU9g?hfxv7
zRar$AC8OFCtYwK%+3H?Dh30KsGbaK#_oYQ$k-Dz&8Q6W#ZPKHe-BcH<9T)4lx&+cP
zCG<CP-9oLZ))}~8t!n&J2-WJ!=Bpy+c{NKI+`UkO@}rDLX4TgHt5R7pMrCn%*xkkE
z*EY>s92oHuMTntxQO}<ZycX6n2=N$R=q`6Iy?0PD4^COmm(<_s^bJOJ)}uyNXW(Z#
zOowSIP@&CmrW7)9<^|;tjC`9EZA~8SFisLEL@hehOip}eTa%UB(7UEFF+719y(yKk
zol4<@4#rXft4uah;#YHg(We^*UNv<^lu~wSwJyBSYyL-wW3lZ7a9E7Nr^2scO_>5a
zfgUx5CERH&G6Nz+gZHrH8H<SP&8eazXb2b8Hsr*w=ZO%jp2>pHWu8Hm*UdQ<ke+z^
z&WcwuYTJyjHl1yf0WR8^bNY>R`+n9O?iHqoe?^8wm{|h>vDs!x-lH<Cn+{D=)Qloc
zy_6d1xc*dZ%xQ;VO|fan4^M>!=_eQ4J019h+C(UgDv=R#R)JSjdTz(C+wV?RwM^;C
z&xs!|v3dFfkn^rR7j}Xa#sJC2<8$4o2_vE~4tGsN42?Rf*KG^A)NAO~)UH__RrL1V
zp~Uj2s~XbxvPB>`Nkax;gNNIAVajq_yipto?E{31Lv5eu`d5lc#w>7$Vp`JK6uN2A
zo?-yUlOjxZnr)}pA&POFe7&(U4>F`kXe@2IbZqS9jkz@!OO{8npp8|=mTFVDXQ=w@
zTZTM;&AD~jJ9dh}y=^gv5Dm8415d&Bcu}^bs5XPT8k61RR7zjMJA3Uofvq`ANZB1_
zue{W$jX4>%rO2Cb;6poh*SNz|J0%8F<iIrgD7(q7Mh>a1@21^a*F9eU0E+SR%u^Gx
zxQ^RZu;fItrm&A`90^J0T#*^iZ#9E|VHW`1>@p}0AgFC&hv+t(Y2KjZH9Eg)-JWY@
za+x&BoJTNuwL0a5`){Q2m$M-Bmyq0OQ;|4xO%b+~_X3c_*@Tt7G#zkWiSBF#fO_@S
zP*p{yL!r7%?oD-uR<2QlUs=e9Ylr7f#|v6ZcoJP;9es}Mx1*GhB4}f}kF?(c;Ek(<
zK5YFDWt#D%*w(V>?l{$D4cyBsM4O#vcKH;!aQL+=@gqn|3XQrOkG4|eB61KA$hvc2
zI&k)Vq4d|67nS!U^}(GTmYCp{bb$N_rQRqqBeL%(F10(nNU+~NYRM9zG;X3x(cEJ*
ziA9%EO7!K8u}P86D@iai3Ww)Pw_-b>*x4_#Hls!4t`mORBU}Xy6co2t5k_~n{*ekE
ztxt5&zy?Pe_-L;*(Tx<>{W!t!EXzNImPdrpM{=&>T!+HFNw6kdhhj`L<4n2Qj^ifo
z?*w+mKT>m8n8meoStRI@Yw4DX;>HxI%ujH^x0K^BODV|B8^9*7_KBw*L}c3*$7CcU
z>cT!Rjp=R~V>PO3*|pGV(kyC2qj2kGb_^JdsN1F9ZAD&WT@@z?8stRcD)^E7nMFlq
zWeTPzu(G0xQL-pBEKiK&Mo)<{#3<3ok(DRO*&gAd6j9iWQ3+Le*04IeBstD-Q_`MZ
zJC{E)bopM<=Act8EiIu(nI7ELSg&zN-zGtX6J;cE=A@*60QV9_qsrc_$Z>ho>?*5V
zcD9~W7C#SRyEw4b2fD1939yPLOe*qL#Szv;vq2`67Uh^%9?qt#PTKrM%QUZ_4Yx&x
zN&3l_h$!NuCW+GsfLytvHt@PA;THoVNwLOlR#!Df`6*$@k^xy_mJCcLkYp=!UNw%W
z+?O~JDKz3L832~Z>x3oNyS<oSlJl5LKqyxp(!Ca^)oaaNq&l`HBsdY}T}^CVm3rdx
zNVbduyo|+VvyiPc5ye0djJ6RM2(KmL&qtk#*gzN(0{!qav&ga6V8(uGDI~XN3<sGv
z9o?}7dEu7Z%0Pf(qPxIwukz+$<F^`xljBpbTWi}wu!{;sON})T-3c^-9S%B+ZJMNJ
z-u$KJs%qniOFJcMqdTLz$8`?#D4mZ%YGULR(KE@mGTe<UV!q<aS0yR51jCB+5LFoM
zG)kyOWQvG(a6sFZsf{&hsq5^jayxa*u0W`zPW(?CtF)aKrQJJ8GiAt*ae<_n5;C+h
zs~hCpgk`<tBB`GcaiedepGw(8`Px+;(mPls<gB+Zv6+h2Ifb(cx^^Z>S<+imWzI~R
z3y;6;gv^-}X<g*&iYc3QA3<{s70!oQ^k>(;qhom6lM)jdeZFMV?m@40mG&{>RIm=U
zV8D|x+9GArb>^H`IF}bU-Z<K^rRZ6XPVH*sxn+A{Kv84xLo#KT?DyMoc*0V+ZS0#g
z*@&jX3cX2*?3@}JGgnSN2HtwD2pc0SdQ)G|*?%oRh?c49N2DKHrI1<M(UnU9j9Ont
zyTsvSv1~E+-WU_kLkAg`6kxbfmM;Nhg&chVxhWAby)<IDmbm0v=b%%us~I^)F|D^5
z6-pf>C7O7(!MO~iHsq(-4$-2%XUJacJ0Yi;1#uL5k^E_NVr0ENruA)z<Luu*rn6md
zQE6-I*>Y`$GbyicU=Kayzy+e+IqraDE&?K|l4E>Y{{T{b3i`&V^^<Yxm8-mFp((2E
z;@?@xD-4qfvrtH`$6?0H-Npz=j;Nuc$B_}nkvC~N>+2XK8;XAZ>p~VY69^3eR=&G^
zy?G(eSNbnsq#BD;66Z5!1^qTi<ogF8Nkk~k%NEomLVd#rCx{$p9VfdDp}uOOO537C
zqd$b-tt{ixgE-HpPf?bn)|Bc^?5R3glncnP@cXos0VcLzExS;iIWgRA#ZC>BfN(c$
z#|aJb>s&+Eo{n4Sjr@!{qgXWWEqfBqD=BMOSy?j5HwHdKQ6597AB>2|;kgnRBk%6-
zZ_2bPt<;=0>krf2Wc2?4>K8JwRD=y=)Dv^a%N}W0_@<i?{@(y$_aZkML}((Wh9b*K
zKtdfg&W9ZfOKkDiqVr!S9<a>Yb)n?Hs?%GU7E_U|8*!&W(ihu#HX(5r>OxQ7f1m5p
z?_KIfJp3b9juuAreLBfsyqp+}w!+26iXk$rvJM+)?{K?qC<%8798hgJ9_gPyhZn3|
z!B-LVPwLv<IA+$E$XMwnRCZ%2yxN#ln+QiCJROX5X+SsnpJYJ`XNP0b`o&#&ZHY&y
z!5^rNl+C({8xFO*W#eM5$-+??pOgo{+G$=ealue*&`EYtMNTo+Ejo)8m571S8fp!}
z;<2VdU7!-E^PICVueEC;&1X3L%CEvsB|UANy5^$T>~FQhffPvY8$5*LI~h<+g%FR1
zyXelh<5~-j>XvPZ;g(S|Z1Pq&j$zd{F{4MijX!2&iw{EsVk5&DrwhE<D32Kr1ADe4
zt*h#+OC{6`hbytVdYY%LWyQxT9%ab3nHw$|I;zXB$M*4NOpvBdq=yIGGV;1e0OD?;
z%e4xVSF-GTLbYoJu%Qf77LQPP4dyzwaGPbyzh;g`N0E|7)x><9d9^VWF7pnUKB5|N
z(ZQ{Rb2Z^kw5o}(cyW?@fnd4%V5h!|mtwa%+^tqWSq+D0UC6I2X5Plpy90^rB}$Ro
zZbJ?+5vPU42<IiQtF_I;+f2%W5_Lx;qiCdicB<>5SHp!V0k&s9-gCLhvE2l=M)ws?
zJ+fb=cIDx}M%o4K+Pl&!mm#8rXis)$%2IpVIE<k>Zt``~1P1#qa#bGMD5l$W;jK+}
zpltDsuMM8;n*63r=)lb9ov>-+bsKB36!(yfH_0TEL(7<%AgLp&9T<_lm@T~p4#`pg
z`3`GT)NY5eR&R9DxH62yC1f?<gZ56wEi-~_KI`1VBhkndRb1o14dXWlu%zjts*g)7
zGUqxv$=a=**-ei@3e~UW+6-O=X{@$|#^%<>_U<zBLXPsd<fkM^<IMwhz!Y3Gzs&4%
z7BIVI!z?cuwXKsSVZyk`7=T3u<?gjC++kE;LS@rtORTitGZE}K*6xUOw3)9Oo>nq-
zM#m+aJ<Cj@#s)o8L61(yr?|b-kj>k}3=Dy{B%!q*xS!%0B}D*1R7SDxlm23rKB--q
zV@!uZ@|szcJx<hZDzVUPs`h?8iCDPZCD`OS0<$*N7C<=`LAZ^$B2n8|aU5-5aY>fq
zxI(-Qwf%;Aw9oxH<*Z}*wwBW6M@LaAGN?z95<HP{<#23_$+b7llP_qbNZKCiNTjE~
zP_(B@vS~VYy1bXNqoyN@+|Y(9(X&2^-dm0_E$Ge*rjI=Hu67?GP#)36Cfp-a73ilR
z!*qu;(C0EYvFqu$?TltJYD%aNw!Y4mT$s!prX$5eP$-EZm3AT+xa3kp`dmSAxzF(-
zYoc)O*JSVh=29eSspgruud1wXFv-}`O)0=K%WP5UQ!Auo(ry{ACL)t8H67&yMfa=(
zX>GKe4IENUoE}56%c0gR4^T6DZ5F)CgoQ3<Rb(<k9Jt_PTOsK0G@XSN_UE)v2aFqR
z9|p)(#ZIzC^m`pXV)IIERU*BSP`w$<ixsbZ_Ufym%N2dtkx|1JVa9o==#pG?B{1ti
z+l`7Kku!B0*M3Q6+ZH-{7;VFJ_zS+<Q|bNGbE(M+IzjF_YAR^lsY20qU2k_3!8vRk
z(Gy@;FAHm3>%BGWf@FA?IDgR7@R<O5l^YC+p6XM%+^II_44@Ra2`$?SR}Ih_%RoUE
z<;Y?{_B;F%LUtKK<`4A8$+9~t7hTf)#@4l_C1a9@99qfV;m9uo?Kn)lqO36I1a;qR
zjjB8%E&(Z+5*jwUS6j!i&0fwkYD~)VDa)kKF!dKwwtT#h>xG$BFe9TaD@_o_Ku&F&
zPq;3ZA|mOXb?U=MvYNWAn%^o6I-Rqk$grG|>0bS$udswl!}gEJZPbbjC?>-*QC`d4
zvK_Zwv&&u`M>dqN=yVm?T5i`?v{5~lo6=c3kJ;T?-D5LsD%-rYmqPTqn(5ESNl>P_
z6~;;7gp0^c=S}9L$`nVM?WmGp;F;vyHhbB&nBQY%mES-3G3MEQ;}R?#c*(Zd<1m%N
zlH0t*m|{A`isB$P+A5(ac+~c8k63bAoY{$wQzhMOTuU>vj`P+NWZ6cS1?u7^1X~gr
zK+J)7fdB>5Rs9LLmbPjJ6@=)Pmgl*a89ybawu6t?>dZ)tn_()VI*Y3{Tx9{czlYp9
z+`=*7q=f5XvTleEW1aycF+F+pVX9<yeo*RDpHv8#vpo9dMW#iVYW#WDRdL>SY`GWo
zt*a4*!D-oPT*QKDum=S|R%Dlm3w2g}baPP_)a+koZcj4NiDt`{Fe{_9km9!I<%6W)
z2XWLjZN=_5O(#A;ETX4Xk#wR)oYd+Te$@GvxlNV5>Q>xK2+f2j@(sxY4Uh!nKqm9R
zyZLZWb3|S%)vP$UlsBN{6qJyimNd<>)u&}q-VQH)!TH#cTs_rQH&q?eiuBep);)d_
zUPyHc_WLH$s5m4FpCUr2ss4-S{rcjmx~h`=_}x)F_0mJ`$alDAOS*X?E!ThR`}GaG
zICCszR>mb)V3R{AIU;daTkZlXZ@$VteC@ybbn#kUB(8$m0;=q(_g&Ziy?az$zqiKS
zc^$lQ9ry67w*7h+5Yad<pYPXKm!Tj6Pp9X`-F`$dUD0>*;eT$vCnQ8gC0{;#b@^3z
z{C~e(rPr6>A~D=WQ+4u&ik*E$9sZ?V)B1e%`AcQ_`+RlrIPbsvZP$pZ^85Z|-G8rN
z5jXk!b>$awLKXS>>(_)u-BDBLuCFhI0;+_I^(Tb$@z?HKBDwIWyDy!(`YMPiu=)M=
z>){sTzl2}u*8#fn{ANhIB7CQm{krnJ)0WBS$COR?>*}Y<^4)gv=dTK5zlGg?S9R;F
z%kLCL<cg@jx5r-)Pi^<zQ^Ib$Z`ai%R8Q^af4YACdE9sANWZtoUS3|)bVNlRm#->f
zL$N1>`+e81glMI)DxxpW>9=1Ok@!uwUyi)IzaHo+iNBBE!Y2KB0&NL+uH2D67w50W
z4jQU)Pd~YQr|;K-P+=9<l?4Qok#JQ+{{Up`$ZA)1)m1kij~lP=*HjfnLRC-qUb(U;
z-@xp@(K_m?gW(JR0HfD8M7&9#a~2zp&_G)U)wEEqOHXO;_90#z)i`bUR5d~Ix1IW0
z=9U;<V))kUAEet$2WA-y))1;9-$#aoW%=&8Rz)Qm6xnzR3ZXcNyYbmgGK$D{ZM6x^
zrtYcr<Z<OxShE?XkP!&nk>70EHh^~`6Gc_o5JZ)BKr5S%QWdcw#IMQWUsl_k5Q7@W
z8XCKKkr{Oi$Qxu7O_h!>uLVfzspM2ue6frUBvziG3*11hJ*uN=jzj487Ldhu38+uv
zHa_5jWmZdZHnuAc^HevE6~amqL}O)aRYl`PU->AUQsX<HrB#;KIYuDeY#T^Of&9@_
z+EzT!@kfoqda>B;yoAwlK`|sXLPRA`D=t>IXB1E*)Mk25Hjc`-+ef#my=uDBxzbj6
zwAFiOAk*_pXA}rQ;!TBAM|0>7&oHubn(9VB7ZH_ViPJ7e4u-0xBvu$0c5i#AOvPwL
zx9mhCNG>Q!EOBW8TrxL0P>2U+b!p>Ywu{D2?pD&i6#J`fPR%dsAmo{NT;x>IXj}JI
z2VXH}I}$3elA{2F%?pm%zJt4Qq-@+EF7xe|<cU?-W^`;{#+f7;b|ZPqRO~wv@ZFI2
zxF=(^CS$UV!1pKKWgcN2SKAi^%d{i_wz{LDurpmZv$n*hu_{Zo77}pjR#qWa%vkc{
z6qxHR^=$pg43`z-GC)_zfgdFn)1VtHHa-5CO3~UW@!%YY1xr#m@J1N4uB>L|FyoS%
z9?&%0-qVakhvnl3CCPOAXh3Wom<6{rzXUH0eVk~Q*!+0bFJsyEBT)Udh@Fb$70kBH
zf8f!Xx?v)zltCw!OA~6CGa_vJfF-i;vXS0Hd9Iatwr!{wuA6BcqzmWRL8+IK+OZ<k
zxESzNF3LV49mf^78$d)<MBT&@>Zc*o%FRi|;p)?vRkf`&``4$rkIS^KdK5c36P$X{
zkc>nnAU_fBpfYH!?%}GcAtzOuzb?ZRp2fWemE!gH@+C6ZQAxzwjaZdpVDE9)8+pf*
zlgeN&B8Z40@e>xfrle5^xDC#|RYv(sK>*lk;FvM>yDZLdMU7Q>EdDfWS!s1%;u2b^
zG;I^@IXxO>)&aHcoV5@qi3LyVS6k?kix0=B<YAb!td(oB`dp?=ip+@P$DLhi#Z6y_
zSz!Q0ww)%Ff!f!}q$Wv7TjmYCE1yeKu63pNFW(D^R(S!Rv$(4WwQLlieZy^-Og7TA
z*ov>^k&29fGA=(>{b`!qI^L$VgH>Tt-^Y?nv=U8#hjQ7m+fXN)h+fo@vOqS?TVcQ^
zm9l6=l@~u7mInx$G`Rs$g%6Y&9e!ystP`;8CG0M?mDvwdL$JQ5cDe;+w1rq!a2#%E
zq-$AjOJzWi3w_13`pK~^(NUr4A5=q8v_}Z9$+K4EN^1p$aQMbD?l<3QsIEHOM$#C#
zZ>MMr=}vCAgeoDrqrG`MYm4K!@>=?xyVN-+p3}jkD_giJdsy_jVIC{yG2*a=T8@%5
z^E^z`z9Nq7N{H;ytfsfqt`B3P_^taimX-I9B|WwIJr=xTKIGXe5!rE(!j9WWP6{K4
zikwi#!lJ4RSo{W7-Q8bBSnVUlW_j+N4<8GsMps#h<JjeWPO#<<<MQTOMUdz6xVr0=
zE5%K>oN&3g$fJ$24nF8{b98OQP;l3%gLhe{u_WPIyPVz6$mFm$c?H!487fz#ha5P~
zDS&q3LTLe(TIQsLDDQiU8W%~b>*B$*j>l1H<wwk~CRIsnnun0fuuGO+RTWpCp2JPc
z0E{jpNI;|71#Ns1?<-I8Y`S(cE_LoF3gz&*{0uB<$@k@B?2@4{!y^p|&~Vu>WR<gY
z8#a*$QKaNK#|I!8$u#uq?yUY?V9)_yUcSn1U+NZQ_>`EHH5|=9W~TYr4nwc4J9p$x
z<f1{{KvD{a8+*)yMt~bM{LoPmS`6mPQt0&qACHX9!P^^J7wfG?Aq{g;+-VWkAyvLy
z+!sxebkXo-^l4ND&(tm`^xad7f#b9B_wt(x$#Sgijx&>F7rkZ0ao*&|0T5Z3$O?bU
zCR#yvh!@zF!vMvWd-a;0=Bqn>eJc~U{6_6#MvFP;A7U$D+(``(qXJS8UL+QjjAQa5
z6+}hQ{wpJnw6>l;Y6FNbcE6?OZme13)=+V0Fl&rfhAqu&m6SMS5wa<PW-gq06Kobz
zxKdw~)6F>Hk2G+@p6abCs-kNuSkAeFjZVm_q}SHCSHqE24SUBU^Ep6b7$G`pEpXhO
zaFozh!|kg=oiuaY0-9B&-baODFYPNIN=Bv409N5Tv-_zoIY=i(Ryz$i)KfM|dy)sc
zx)85Jnf<<sW7W-DVV1UalI$*>emzOHHgF-iIUb!MrrL3Pt~{`u7vEONTX2b}?GGhX
z8nDHTkT)f|*HtzmuWfT*tu#v;D<<&ll1+V#X&9xHxG0e-Eo#aG6J1WqFhMLE6q4$w
zkOPujKz$t{G)>cf7J5C9-cduaVqwvvh|J-~LTm7&SHxt18ex5sH8G)HQcq@))C5pX
z*MRb8Vps-A61shECiMRR!<u3X>nbdicwJ%kK^luJ#1Z(CMI2KAX|)E?cQI0J0Y!5P
zT|mLL5w^1Wmt{q`vvx%!%z*eyk0hlEoGGR4ob8Ws^>|)wp%<J!J;L2L&|}*2MM94w
z+e39Joh8rjX3%A9&dgl4u)2CwD%#y!l{!^@U@1peS#!Ga%VgV7edc9GbkPY#4YENL
zy-Yg#_$!PYogLY<&odIPqV6+tsfd{-*?rWSBJn=qpue+DGDymRn{9V^C?*4O_>{OA
z218Y*x6>g>VZ5grj?>i#7?^m~p>e4lgNI<*s45_cqk<%gDkO*utV>X|(=d}i4WiW=
z+ecl*-~i%R>hxugYTIT&@BpK$DP1Q!N@E}l5K#p=>_a=+_Oh)O<3#$0xaP92sKF>L
zw~?LY*#gquPcAnS>g-}ltu{e|klRgHte9~~iae6retSCNsH18kg}5e@L)9QkjT_Ff
zJeE~iNAI(b=JR4nU^#%c<6_(5<bAdyY{8J(c_!d4aq2xjU8rG?*DHDT?HsE2WjlX$
zX#pTrGa2I+(mADrO2fd8ydvKh6~zK|N#Z0@E4@GpZDCwW7HM2^n5z(KC`X3dkGUb%
z0pyn&d^bChnIr^6K_UY}Xj63#q%M`tpgy<z50y(>6I)UZd0X<RS4XvWMgwPv#Pwm8
zNQPMh4O~>^6z^or))=`Z!HoQAQAt1(X8!=h5h9a9ZVC_>7hND}AFJ#)PV95o@94gw
zY23PI#mHFpAsQ_(vW}~dIFHPbCn7MQD64#p7iA>vaM@s3YZkWYf3TCFS;Y(Tj#Qed
zFfv&2Zh`_e$@cxU)OWh{5)?xyroGq?5+V=-!rIxttlGh@Srw&yraN6pmqMEn*tpD1
z3TDn3GNcOZ=ImcLS(MSXYuj~(#l$t@<6>P*Mk%);w5{#su&D8^6%GD2Q*&Bc{(IQ?
zA*~j!g92TyIfi3eZ4Nm{6KV!Mi(?ls03S8{fFFA`@OkG=t}Q3!4%_fVRa9r`?kkXB
z*Z%;3;<{liy2}uKxzll6DTq(EAozBjj}9*=<=AnxY~(2bDG7E}<r73+CPi;SP}Znr
zd96J|v^h#Zvvq7>K~a>+nl#|e7OVK8f6EBd6NoybsER5mvf=7Bi{_ex4sCJbxfR`w
zV^J8ptJSD!WOI>Jn+6_Rg(g~P1Bti5QAt%5!X1E$LPfyTYCkqhjEYd30yX_rJab})
znBk=&wWcIg!FA+@{WRFlPMIMYR}LVysL;cC3xkB}w)VhWksI(xzoNzQjU>SAAXv38
z6UH5WE4NVeqWiTXz}^1<49trgsnWt!=1s*I=;#}8!9am|?24CJmByoKjOdS8S7P~I
zWhB|0%n8Wj7nvnHQUwLIl+Xk*dOPkmX!`T!1==v+YO00xC5Obb)gpze^0N#Ql%6^G
zwkfT)ZpW*aK47cUq1InSIZ+t=<QD;nZIFqYh@iK!BymO@;M&kuylYMa?@x*=Uh)`R
zKeZ`)Q_rneEjQ8JR>Li_XH&GsP6LpPk+83}!|{S?z!sYT_NyWUsZlMXNOeK7W=Cn$
zan&$+2oOc>pH}4<E+Kw-G#lt~t%0eR*$g^H=2k~@#?akt*_Z8G2HOUa3K=rsiZ0@4
zq_nzqib%n9s+xloqHdY1IRyED;-GBGvR3<%JEsOmW=OPxj<2^OY1KA}8%>N;?rUwP
zQ1WOw<~L=1L3Iufv}WfVSu9;u#R24Iw2wApb6h5-s~Akhmeh$GZ{w;badW6H51yPg
zpgwA7X-@Ts-}A*#<vC5hBd0H4Vz}NDcaGjydpPvD1&h^nwvD)gvKVH<z4NYV2@p_P
za4X$Y{XnQZdO+$2q)$#7p^*k1r;kg~och{0yG^IslYR+7F%Z+6m6lC3=*tsTKonP1
z1$JHk0Lr?CzCEOPBd9uCX^P-k9!WSq0@Pf5+<ytn44eTdb}8FeAwEc|*Rq%>4ZK^&
zFeKtZy4&f7zh5yoF<R{gnWOo&FSv~Z1H1e@@w@AFMvPgC{{S;VM;h(}CM~qCazs;8
zX+ar*#I_kIAD5W>jR^4bqV6gKBQDzVKV!F@768{jN;>=LzaV0RTlC7yA9{0Z?9JB#
zL`epV=dmfR+JA35@l+)Hj^26&pN-35k)A9PvP<CAJTA+!qI_@v0JmGi5cOrBdP<r;
zj(vFPEPR(uCc<eRuA2Ln4_CBf$VrkuDDbpuqD>~o!+>bhgY=@t^;!HgV_f0&+VAM5
z#;YXLxzNPpwN-3#q_rtc2ZAb!_db+Y9C_yfK}3X*RRmY*p!%zr;T|LbU+UrgUHCkf
zEVvxNx*fG?)PA|F9_=i%;E~6gxSNUsdHLIYzi+a1-_tKbTG^gA4rBDI5<JD-rFnK$
zP5xKziT!$QXgBclm#GqK>hk*+>zb7<qjl(rif95`s&2n;9XmZpY965adG!N=HBEfW
z_$fznEx^HsCV*qQFEa8&{#8Wr@V`6tMA*_~?BTnpRI$VV04~w>0bP1L{vEX136xgq
zPIHp9>y7gnahr|~5Qh~ZAR<qs(9m`y{{ZN|wEqASgQijJ?PI}h$yU|Q#bQyr$e2eL
zbK;(UMMzN-WKK)h^Y_<ptjldyzJsTj_Ca$^j6xug^}SG@@{9EBh$@?+F57OY<$Bau
z->jcY`az~RTe&W@$dcvVP(KQEy7ygFXhjiC&4qZD{x<pFtQ=++86;uy8kcMW*1}>i
z%yk$j2IXv=awVi%2r)s3{{Tw?8Z(SZa8rjK>#hp%Qc^A~fVZ-y;zFsi`KoGISV)rw
z1&mmWImbnp*qbC+mMhD02EnE5$Oi>QK~)6_c&aAoJ!HDy<7tFN^#M(%)$~DshmA9E
z66jqRhV`4KsIKyKkXvJqZN5jh5=A9c6!1)bxbX$a?B;21P{19fqY-Nxw2Y40qn+Ui
z9p=I~J-l~&LaO7A5vqX#x&#~i>H1zZlJ}WHZnysc`j!#V46djaA#2EV_cJznJMAJy
z;xU_g54a{&P<C_-0aO%GK9KO6s-p5w9S-JM7H5gcSZkfVG4pf2+ZFVVy*5drZYYVt
zw%crcmdKk5?5n!;DWN{8ZS|J~tDlGG@hId*9#+)OV}0q-%vWTO7>RptI7{*%jwq>d
z-*n%ml-*B}o3zCiDU{=dWw`s-Y-_>!4GJPJ=P|geUnsjS+ism^$jKp?hcsKR3r(+r
zXuG8K=8@We>ZX~T>hn$Nv1vh)$A7Uhb*sQ_Y`eIK$|CGasr4Bde%=>ui3&xf(<_k8
zd0ut$<WH&YMoahK?z`>LUa0DPJZ2;`%zZ-BW6(*)*W4{SFv_c(m95K{6z9OW{{Z$r
zep97BsrtduTuR^hJ22G8=3A<=<R=ajy|F`Gw_gg4kAz*<<vi`yge`oo%^N9SA8S!T
zE1M84d-UT^u_*fP*3x`fl~P$K@#4h>+lZ&Q?uq380J^I0{W`7&g|Q`1A4>T}RqMW2
znB#V_%1nF6&r4_k6{s$wpi9LU!4HK^l{y}4BY9f$6?atg{W@f9c1{Q+k-4?10o5N#
z*v_J5E@jbe<ieLJ*4ArisBIb|q7f&J(Nt5%_2{y*N%X53))*Pp4k=~Z24cg3MGjIn
z+Po-<-EhfKNLPsNKO63=zsFaQ?Vgs(s_(Kc+ajm^@7Gvz&0cNhoFIG+39}UPpVy|n
z^0~AnEv#U5KwTwkjeeo#(rB~2U6X|cRHoQ&w8^w#;sV{lN4O&FzomW=Q*HeD>D2C1
z3d)%+aa+jEMQKxW7r7h4pSPX%{=H_5w?T2t#_8;)>?F#Pjw65|;y1{?RSR#_of6=d
z&rv-hj4<YgY>{XZQ?Bl;fUfF;_S@xl>PfJ$xuCOcmC$0PVIkY@j<Ky<#<j;Pu*BWL
z9R}%KL@P%@JAC)slJDhw^;51oH76~f8dXbx=|n{sErOx}lK$!O)l->OrWtj4btxf3
z18hBryx@nqKk6y+ioIFlUaqi73lc70hfR@cQWPE<sJnnFctsQ?-=y|(#Ng;ff^#1n
z&C4OVL%9d1>pV%yoXT?!$-3q**}#3FakJSxY>D&Z_xb2!AfJRWefYHe752}PDn$eK
z?W(W&ly>p+@SAn2AV+e+q_&w@>mm%JsI!eZqI~VQ_UUP<npah-mPIaY_ijQMt8(JD
ziXtCz+u?kD{{VFBkz(9Q4@`a=AO)ME9UsUs1I8d?bDIK4F85%NswziSMcu_D-|G66
zIe8@C#>?lXB~5(^lcxyxX?YB(G8F|J<e#B8{{S!FWZQM}yY#-raExmRWtwOXaA1I2
zDL>~VMe?itdb<bfs!B&`Tz_N#00`=y+;;x}H(B#W*SwZ1p^?pK4hYt@+0^Wtaos1G
z1wj#b{EB|)yLI`x=r(Vw&BIol65PaB!u|K#ZNJy=(Bs+RJ5Uwi!lTMNIO4DB{{ZJN
z?!9%!FDAPAn~{z3ZLiDY`aym-FW;%%5df27suM7fHAK>5O>zUH4OvbJ<b!`d({6?4
zOrI><StNTm;1gv}8}-_{efB#Uy6IU1b|twglC{J~b=?R0?bquIsrK)TL1~wfpi(q!
zc3uAfx^>1i!17#sgNC$InYdAe%g;D!Vrm8@vZ(^6*%dse$5SFV9b>aJVKN5qkW(~I
zJAA5tzf{*Ye50}6Hbew=;@Wvn=&SeZtSpVD7}(eoE=Z_Gp9%ds?n6q1LE^Vlq)wRh
zat6nU`Q+x?Z~Z#+4(5CB2$=~Wni6m0%5T5>{{ZLJWu8Fv<L#rOf{W#_@wZj3T3Swd
zSgB;gwoA;F6Uu$IRqNRT_G{T0Mx5Ky+=i-3BqV~V@~En-{)(Hg@4r$l8#0DSYP`@9
zcH3`{h3Ha|+b5(bS+;EgFOvY+m-;84`t(X-5vmY-3L<H+pqlQAsrOa#U)TPfCEx;{
z$5bwnO`9bo<+pK>?uwS^ii`99$=902L^b0i(Nw&Mwu*|M>b*jY(Xi;c2eP6s{Zpxx
z=!_SK(X?Nc?ebOrpVOgoAXkSnT6W{K%dnmUmfDJ^4<f7M&sFqva&g$c$@h%+K1ifH
zB7bhXSJhJ7NqWW{hub*LD3e6K6u!&XQkgbMaFFKe*MwdAAwi-C6S|9fNL7v@?w?Be
z=^u9Q8Lp_W`PXIX;h9;unERZ>b`bEWpFJS#T_SzYlvOq8>O&VAJH)Guc694Hb;GfU
zPNeH6_)U~bn|Ah5Mw{6=2<)n)yQl5(zf5YJX=2Js*oNGaM%iL?q#c180rJ42Y=R2D
zRR{X+tLLgcI>i#MnY(!^p!14Kh`XYQ?eqKWyY+o-k+V}uFohZxTqhCY0#qeb+rs|I
z{l0eTnN4UCT=80~h;}hhM58!K962I6$76W6@*(yV{gF0Jw%tDc1Z1z<+}JSdF%gN8
zz`Kn?R5xO<>g~k&c>1>Dii##*QivKaRJVDyZE2QL$;W#v!{sBm%Sw(bDA@0_ocsV1
zZc1K%@<l7hW8O(e=7d0i*>IB<RMiqi6K~9e+hj+Glkd8Kq9FL|*?Tku=LknTrL|(T
zDx<@HabCk_4j62w^r)h$CzRb&w0;PebWgHc(&GgNswOWONz_L_`A%G5Y`1@itAV)q
zRZcBO-BbSn8mh0JiDITFkTB`Oazv9tR=wGd{7;U^A}Qg{UtvU5`BhZvx~B}ZtepGe
z;tNhR4Z6uXsBNn9-3Q8wZODtZs=E>I%#}9i`%J=y#3YswZE#o0N3Pkne;;h0{61Kz
z$C|0hSalrVkcuzT!5S!tFO@`9MA>>FdnIBva}ODZMJiOD$vG-WujD`t{uN1oTCT{O
zCg_Xy->V7&h}**aMFSSx5g6^NFB3uHgTC9Uh@hfx<vy-}bselnDZYh%SzLgFTRrw#
zqKu|Lh*+{nyOIL#^G%|XaYRKzUP!)rN&f(&=|txL0LhgFGh~yn&B-Jr&;Y5r^NOlO
z2%kUGZ|I7?e|~{7Y=D}tdMt=VA?KsIPtTGDDA1zuL=+X>OOlHGrsMv-OvrQFc~Dd(
z5W+}JA>B@nB;%2Ykw_y)6&2?4q9-II@xI$C^gDsyTV-#H84fta79TZqh$JhDF-&<6
zGBjS}gsO$G?1F`|r|eM1X_$={CzKPE9ak$nLVit1&M7hhywkDxPnj(Qy9k7eKn%8t
z^{S@)l?#e^RQcXRI&=KM+=)5Ufo5dtAXG5O$ZSA1?d%9h0ExGa_WSrwu5x;&E2`v0
zqk}2;)Jef&Gr}aODd9e?`4at;ey=pOw&7uM?4wk=E>Cqx`+|*`3a-hzZ{x@Letvpu
z<Zxw26o}z#rOJ3AT+X{ay1|^Q(!5?wdlDd1v#_!_u7M)%ggixgq9~#eauifmP5kfG
zPO)V3>vXZrO3H7dBlUFT)$L_NL(L>?D11y%oK7w-{C*HsS7KC7jA*b}T7JW|aB|xl
zYX;Dsmp3D`a!bxK^U8=Ss=EjZ?t`)-Ck?jpy(KQR{{Yl>BkI52V=>qHYSy6S%q9h=
zs@rS}wrrRmY?_d0s6=VYm=U0_AoJWgYu#FbOW%G=n1EQzf@@>TfkPgiJwEC0sh4N!
zeosMgHSbPs`+RcVG^SX3>3{_H4g>wOl-h@E#2o}}T}5+cQdL*|z1(%jqhooQ!;Z`H
zTp03JN+WEmNQ5ZqnvXI;^UHKi(|wf_euDib-`if`RxM?C)GSRRT}TKx#bGBVBa^72
zPNE7aE1UBd5Wb-?U!D4k>fW}aD8u98mKOmXvAl~qD{b0#$-_rGOtklf{{Rm2#?)fs
zs6tMP@3!iVkh)w>R~uH`l37TwncJ@X&@ZVxi$(N58_l(M-qJag#i(v1mY=>><<64(
zXmMC<L0vI71a=Z_u1dd{NT?*e1$txk3qHo*8`Hf*3I(J($DTVnr%kV7E;eiwM@`2a
z3I0*VC)y@Sq>M(OjgX>bDLKGX>aAXHU4p>5c4j!V)tLOaGu>B`Gmn!_xj(zyfh~zc
zA~c58-bUy&+dFbZUU(*JbCbBZgv`b)LV<qE@?>LlXxw_4J-}G!6{$~y{iOtWBq##B
z(yEt~G(`Fcundv{*PlKM5?oA-m_2}aEkWu#)V5J!mCn=cI!pL7AwqPCDk2Mw%ujGp
zWX)1&URki2b++9gZ3S9&;`b;5TlH6_-k~pZTxE(3=7%83DWlY<eqpf!0@2N7rBZc*
zj_Nk!ZmKeD15TlGSAa+n7hp>bS*Lf@vsf>voNn4SomOL?g44sVulH}I^r<Z=O_B}q
zl+<!$+$98X0QVAf95=S<U#%D}xad3Cg>I7NG!~YcjZ6iLLpn0KlQ3F+@O8v;OH0|B
zEd;RH@NrQU8Z<*}2}&3k8QJByxaZEP61~rOerp>M!;uP3xqrp08(G!(j<VKQQC3Bk
zc^fq7HE-BXd7~9=haWP0;-I+WuE*jC4w4sex8JLc41YbXtBalESuROE>^k}mNj2Kc
zh1cussns2?oZ2xZw$+!;D!AGMC}t!rnt}><3fDsIsjP8a0^ZX`GR3dU;yEuOn|XH<
zJ(Uxzynyr>Q<M?s;=B>uM<F`fY$%gtToB1opQ73!gz7w7JhJjmK@G)_<h*J{-?NY~
zAjnsQr8Nz?DoF2T8d3uVM)?UgrXZ=+51F6EaCoJ6)lMRiOb8&6RYDrWqV@WZ6G-ZF
zI%XA%Cn%yc<cO6Nb}u^x-Vs=J*=XytOqvGO_fZv8928ORb0%0-S5(p_E2wqz<2ckN
zr`*_KFIZT{j|Dbu&v^pEbD(0;i6J`|-U&7)Xo0s`SJj+dPxOzKwSv8j(tEdUk0i(K
zKMQ&EZUC^{G$WZkl4a?fgK>2?ag}(*0T73M2mCm-Vm5Ae8dF1uSwyK?mn@i+0DnM$
zzcv7CTVg8ba!YEeV9#|N5KhX8BaJC43Kq#eBM9?{{zOiz2S@x*!^{N285`a`1a*$m
zX7zNdmwI~D4J@|DEnyvNQe#uXvtmr8bP2Yd80#IVtc-K~#BujrPC}w0gsrV?3auuA
znLCAK7(6PxkQApwnS@~SU8<iIJHn{-d_))P-X`N3_L1dB+9gmY5S64M$*S(O>gK~$
za7>z0cXtTeb17YjUc%7hi(<gP31b+x_Yful_LZj|NlUR3v$ssmHoujvbS*!T;^k3o
z>?1#GLlP|a8(~MAYCYE>2)Io+4zz>{yi`|iD5#5+=Q=T%>BKDtwXzbyuLE?ks&*x<
zmDXve*I4_~UI-E6+_v;&fAHej?{MceYuZO)r%8s{eWEo`?{OqDBp%dzDAn3yl*+%P
zn~`NHNnlqMQ=rCb;rfs^!L}l}$~@E)CfyDpA*V&sBxsZn1wpNnY3)4%OOlxED(9v;
z)3W8p7b8o1U?$t-_^>V@3MeP&UBo*|3Iv3dkts8{Oi#_6xTm4XF9e!;OCw~g#1$7t
z2tUb$0a)$4L~S4<zU!&Wz#^eF;+c}%)0&Avf#v#`#chUwdak4mNU+43BZZT>Mc=lG
zRw4+JEbEn!jcn9qeE_7wabHwJa9I-`OO*X-`c&0#Pu{EPbxTGv;elPMk==HJ>Wo>1
z6Y)2rin$IvrWgo-%*MzaWH|g8^CBcuO~@Dbewi_=3ANDSUgnafFwALn)iGF(^vNpG
zcF0;5K9P7{blYuJ8g0i6Ik+k(ma^?i*PlsRRT~o5>TFY5G&?lO<iVAvmzF~0iboCP
zHh&A2pa$bY>A2HRHYz;C2obO}KD9oc`C*^5i~<d^pZ#&B-1rqHC$o}1&O<}ThYF!T
zNYyN0HuZV7r0IsG#hrI#rw)dENU=bs$z_<0%Y|hxgoN%J4z^K&!QI6LHyILDC$^gE
z-ZhtLnq@UPN!M4|-YBqh;y+U+41j;MEJ1Cy9AaP_$l~sV;E9BTN1jDg97~K|>6=>Z
zkzv|-m0sH7afWlLH#d^pdm2XgIoWT%r0F{N$#7WU(~S(3;%Bm=?XYp&u=IaJZgm4H
zsItdwn~y2W^==a<W0L_ku7z|4`)KRUY|)EsZiT`-s7<09j&-k%iOv52ps_T!+sR}=
z;OFGnZ`ZPPQA;WMQvO@1xg7YcVx=+LVym1E)lOv>x-N1AbwNZ`kyBlewq4q7c#==U
z@m)TFj|&*4o64iIa^`c<E2P#tSt02hm9do441(_x@In(4=DomiK@oW_H1zqXmLJNs
zmO2sYA0L598dFm1rR3EV6fV}ulz{&LJ=t~H5nli|5zhOk+-tG|CCw2wJ}s!4N2$7U
z?p1|q4ma)O*100lG24N$uBw!T<4z>@2)Ml+xd1JZn6j!Szfh;nP9_&bYp5#t9@hhF
zgbA)#HkN92RgN){Gest~FC$NxX=Kx(BEEXM)6BVH8ZsbS#5ZNK)1+-D1u_!_Bkv|o
z*DTs(+~+I9w9h}aauzq1M`C=2X_51+ku^ou*4EwE-#G@v*p8^ghAlD-#X%Oqp;ApT
zonu#8O_8%neHNBxFs{ZnEmra@5Qf~KZVTStTVMrYT=Q?T+w8sBelu;42OS?BC9+L6
z&M`k%4A(uGNq!h*hlfswS3@RE=A*2d^5PR+QCQ7`Eu?mvu;L2Lc`q<-sgi=a2R1hc
zjRzi&R6`&#=3(Ej%AIXpd!4l(CdQW}&cx{};%2q;aBF0e1nX`9o23S>Q;nOTq>5t6
zGNQ<e_fdBmOk@5SL(XR%@25z0b1BR!=4Z>6!558rjENn_Y^q{9E+WZqxiUyHO%Nc0
zupgP#zp2cd3&*nhYJ9!CR!#MtOlVMb0uD7QYWu;KPRd7Ehy?smdCuW7@Vv_|t7?hl
z6&6M$?5jMJ@vIls4do5s&@F~LS5+F!Y_94A+$gQiZtUg1AUo)!0ML&xG6e!`_^T$7
z?sZK=PMVK^N4JU?SjNOOuM>Z2g(4Es#M7FLijPw@IjXDno{r2bII|}+e*p~LejDD}
zU7{NY+IM#%xfx#Ehqz*>JyFB;OQe|o5D+yd6wE27%55NAU3zlTD>i5=9c`A~8LqV<
zxbAy^W;1H+7Z`PdVOms00C@T>!S$QeK37jD>@O%^gGW})sNbF&GJ&kE*$k2`Rf;g%
zV`A8o5($SZl?6LZY$C0zXX4A$o*@O#=IiVe1iPkq#>(p;#TdA&pG-4_)M<!J_I<sO
z$Tt81#E?itkAt0#EvieBKu>hkpZx3a0;oPJQPd!D@E&`p8gY}BsoGa#xHC<|88%6I
z69}!Pe)e8H4Tn?NIb!NQO4HWH_z9av$b@xQNs&#}KH?Y-pxxKw)8)fzttHvZi<m^x
zsP#EqRvqrV&^kc<bhWQXTmb};x<(N*<}C;zko?Uv{u=t9k7Tvlck1Hf7L8K$3rv9V
zoB24xw&=utVzl*4`0fpqv27hfMQsrpQEQr;yYxe<#hYSS+`UfJHOcecJG_xobr&zH
zriV*;i!UaUyxgm0J(JbO+NvyZPTYba2g$cXqhsWGETN&&qvE=sJ(ArFP>}51;jKRX
zZkZZGr+D^LaORro&MksvH8)s<iz^HcJ|*3=u6PNgk7GU@Ig+c{X?xEBJzm>V2_0?0
z6>pfeopl@2=4I)VT3nH)cntc=%ZmB6wGo`LnK(pyZt_%=^oIMceo|}?5D*D=(Wj4b
zA^lF!PgL3|e4ev3$5LuC+WC`8)~7wdt6m43_axx+kx)_9Swlp53>#PD4+9lcL_}Rd
zp*gmle-Vua$+UA@wBHtuWI_$)7|k)vYT?HjZKVsC@OZYy{pQ5TfY2M_g67Dor9@x-
zgADPU>~#aUgTRi8Ou6x7Lh(m8L#RFn?7y4ZfX1SZBwD$ZWL1?^Ig3}A<l+{qU`95b
zay;hyTSkq$tXang3{*wrNo=}+Et-;sUcr_!U9htiY55P6hQV%zyuPF~MNcBCyKlOu
zj=!Ng+d-}R5tB^Kv1kx;Y+C-!xtEwORZz^FPU-d;Z5)*XJamxtYmKtl0yyd*wt`59
z!@^Z-=b+C{+Q)=I){jbb_4qzK^?$aI#y%}gsEuR~s5uIJSSK(ePWr(`*vi{)2L4cy
z1$6MARF4ZMeZAM45PgVKVsP%o!YFRdsqbZgam<=#7nE1#Rq^7!^*r_`GahqF;|?1x
z3xW=hj%})nArFnkRXW(vFuQ84Rvhu%4ytVQt%mIPs;(nOkzh7B_{e6qYPv$-cm@d&
zF}tiX!<&;sxer-qP;`?f!Y923V=>=G+)yWLWjQU5NNNg-eUK*Cbo~y1m-p&-rd-~3
zoNMMWk}S#bLM^v#^o;YM;`f_4>VlxWz|>t)LmkKwcTM)$b}^8DC7IZESy*|F9r;e_
zr|OR;g^T8y7Ja9eaq**#PZp`#h&XvR{hV7@8285WD35*+LXHD&yB=x-$mckMAn9zU
z#`H@X)bqO0jAH))8p13mve1n-pk051$|xl~qb=C#<6^{nI{Ox$WL;~t_=}_)J+P^;
zy=~%}wFYb#@<=f=izxBit<C1WRyOYv*RbL^+__CWfiQ)q*)jI+i>@-ly6bGb3&lO0
z=g{-*Ev(f@*;HwTid{z;R#T^Uq%2u2q)yzYNd%mEK>?=ak|9iLD{Z=iG693%HzZl3
zjeyV^RF(CZDF|ea7jUf+=1=KgK{Nvg$~3D~eKKk^Jhu~W#sjtThN{Jwj!SeMc1qgE
zd5JE|HajHCe%uwf!fGO1-*`r}0*BMaF*4&H%yRt03y}h~gTduLUUHr9sTw&RVs~0L
zJIG_Ri^v)UK3k5;w#Vyt)^<5jTZ_T<BbLN!nb7Q`Hk=;rG~ts<>*y%!{1k}+9Wy}^
zQBS3K^fUhe2z8%S^7@Q}Et4uw^LuG&FD<f`a++c%x){<W%XtvHV#$&toV<b%Cxj$k
zws3eUFtC=qfOaEaarszS%y7m$9k?AU$Hi~WDAD?AeAZ?Mkw(X|jD3uT0?M_jiCh6C
z)?5bxxh^qYXF1RL!Y#JpDFdjh@=Md}AiJ;4AAd^EB2lG(0vjZUOKu?{m@4W=2|o1<
z+Hpuerz8TajI^70KH4T(%yk1&JuE?EM5gKk8U6uvjWu0Me*-hGY*}bujE)qj<nl1z
z0a9RQwDOsYf`}c)kBgfOro61h?Qn|xzS7pZru}7BOuD&h)%exq_c>A9md_s85;WiV
zWbStnI061=6wIBXXJ@xtuCSO{kfna5>Q0+_o1(DO496G8;ANP#e1OG**AF{5b4(zQ
zD!#&-NGBbcF<oLq>WU6NO>MF$u4d3ITNr~|h3N8RQKnwp<>zmhGh<TZipDY6k)3g=
za!Ak;Q!X~#i6SkbHmtCP%?Ws>h1HE8wbDOQG<uJxl#^J$g6sJdc`@wJ>}`TadPRv6
zA2LT;apqfcLWs7*MHQA%p5&=nt$7|*r?^egF{2k3)GSxAi&HyP#d=p&R%8|}$)6Bi
zZMI~Tr@$PmWYk>&6mZ0W6$F|jFt8Yh_UGh0t3yN?1dqz|rPE6f%k2LE;BJ`e)<uoo
zSKGX|6DXLcm1|uVEJ-3G8nwWrWaYL5KFTk+J(^z2A+r32UG?3k9<=pmESD1`)2kYs
zT9zD}tWKHrnI5%IwHPeY9E)cW>4e#Wskq{gfnLZ9W++>XaqV!)=RuVMP+eYQIdou>
z6>T5`h=BZeqBN@WERZbL<Z%Z}v@v2bC<I5pSr^uxXJf4P4ql(A3+&$*vDBZz>!#nw
zh!4iCj0p3rBsN7BD?Z>|CeZ~6#B4~FQ;PJA5Dv!&GMW?N!ku_0;wa212ax=&DWdec
zeT~+7P0(x}iq^)a4UAjq850y}-BhPNqtf4cL*_#90ltXqd!h)eR+ZI3*jMkUT#_kb
z*?W48omt&LrN(HPt;1nb*j*@2kv>Z#`9yj$BxNOR+W<#hRWdUY0^_i*g5w&sgwgtT
z&DhqM*46IhH+Yd_HgV@7S;CaBbM|b!+JTD=$8bdh>XN7cDvQ4vTHBaldFG(q=}oR<
zGRC%{+5*k!s$n%$#D8U3I#fX(%YEdK{eUqM<w9~qX5+pl<6`il#UmOq9p3dTUtVK%
zOCIA59ct2?G*y@s1<N!1t6O9tMTeJWXGc|x+c;GG;y`7VV~EO*g&JGxuL(zlK<cce
zU>-Fhb9U~C$kgb%dtZ>-V7YXf%L#AaIQ~D5Oks-EKqunbMulw4@he7KF2y-96r#G^
zw<Ve{0R&lkWvY>Kt4DE$tMLgFAE=)mpB%<nsf^Uhp^yVG8A}-qJigLOD{n?|nC>?C
z3T~!==R!WOTf4B(DfYU3q_zu3l3al2T8Aq#t41jW(-SC6K&zbQ;`EdPB5@DEuINT8
zYb2G$;u{{sfHeG#JT9nXMj8h?m!UiD<ZPJ!p|hxwv?@lZN1bObw(kY9t%)X`sP7x|
zAFh$vXWIfI08KXgZnl7cmJv~Q9!g7{y<Yl!%72MQX{30@k-LmBHn&gYOUWkBc_Oh}
z2^J%(*?ILx9v22cIBX!eEbNAao2naz-&nIvJJVcuEXnagYSOC?l<k1g9C=Mnn$u*n
zBeo7N6ptxAq{o^eY{VUL#QH>ta|O1TV%mpSkFl#5eayTgN#HjpE|;a$?oF2t9Js;T
zM`Au*_oKAiK*OrfagNM>NV_76U4w|>+GMD1TF{YRRHpu_S!NQvGKA)(eG~F-nc8V(
z-WTcbAk`Nq#M277PPH=n{{Z=N#=Zl9jf~dqXOpDtVs%|$7#NN2A>53Kz#KImp=Y{P
zqyGTRI)~}sTx&8I(P+`TkjAp>YgpE=Jis^ZTzbLDDa4vy%ZLdG9Ch}~!nPyT?vP-9
zlB+Fc>b8ViXsfpQ6-#w^QsuL(^$#(VJsMX?+k+xRcB60x*cQi-BLIY?^727Se3w!5
zFH?O%L(+d(`qB8@TFZ!V1_KqvMN4mMF~&jWW=Unv(h~>7n*rDm33qtOt-1^_km55*
zT&=A|Da_kT_@-h5I~<JF)Tf8ayra}?;~K^AzeYM^hGCkF^l+?&om1mm#iVVaZDjIx
zTSlsrTqH!6Y2R$cpi)3rJ7`am-}=<mjQTWRQd*Z&r_@g4(;`@6dT|wEOR{J<vdc|6
z(!U{ER8mzGMgg%Q6j4(xt#e&Lv6o+(Y4r`ntV0>YAV9CXi(6h)xRrddGiFJYhE*P(
z0T{+IL2VV;QbkNQK~fbCL980tm})aRLFk6w21#dKK*}+yRyDF(cOGtY2#F22smWmw
zyTO9(cZ^9?jX4X>B~cc*mlgm<{3-?NY&{gN%ndUdAAA0j+flNuI?+npW7EzXVQVhp
zG<GIaU0EzQ+r)7gQudcQrBQLns8QG1vb~jZSw4&T$FVCBCPCI{uiIuLY?m;FX)AF$
zsg5^f$eAnX+wx=pvNIG|L4D9s?RE*ZC2&kt6QsVKalcMkeoc~PIlPJ4n=$I$&9j_=
zi55@d?y@a+p~G?XGM9NM$i0j$%vfO>eA9Am75SyOoI)F0+0^v)c|F||ZpNaClO$MB
zD*mBivtidHb2Vgvi6n@vE5Pc2p{Y1|t}(UsVXZgkznA;Ct)M?B4&QD60N?Y9&brZm
z=|4js$Nf=yfz3{jDbs_60=puv&X|{I+b=wkN)?0_;)lPA91NW{z>8*(z`;}$PqIn1
zpUbrxpm8ak#i!zR4`R7!(j#nAM`e-)ax_42<s;L<(P}hcCGNZ&#q}Ws0RI3}xaPKJ
z(JU+IwZGHMtKo7Q(&JCMpisyiZaM(CF0#aCk+*w5ZgV6vL{k)bddykYoBEaXA55OB
z^m8Jv%&|C^kn8nR(^d~M%2ZnUKyEnvh*B9Rk^;11jx3ftY7RW8h=@)Cb?y;2we{uY
zPttS|w-f|L)H`$K^SameS!EWPXBhsD(_o1K`$lcqXxyCam`v5wM0!P)6+F{zEdA7x
z;t!!Vf{vWz=1-~dw5AteVr*9Db~QJ4*@YZxxRmc!IuMzh<mR};l@*3s7Ev3P)Om6Q
zcy}U3a5ghQZa=4ue8v4_P?oUzW5tEsb%2DDX`+M}R+SC5Cmz0l#pe<FlJ`F1Y>8VO
zcQ!+0%}mp&w3e4yKC5H4`f-1THC2jdFrLfY$SY1W7PF&QOMW~WrDvENXko$Om~NXS
z^NperFCtWjHN!E`Yy0#3rM@X6kj6z1<FB$@-{aU`W2<p8Elj{aon_O=nlq-|J1RCd
zP|v!jC@beP35J?tE3yCx4o4(?#|^|a?=DNnbYjYEH*majOF_4?YNxCtV^FmG5-{Dl
zEKW6xwp@-QalxiU`z$n&UuYGxj!Pk4P3wE7Sw6ASCTtiz{z+ufEumxf)vnpSMJ_pZ
z<V1*%Ix*RK5<dfu;2THnTVxf~e7FwZL9|S|{{T*Ok4>1$-P7B7jKaCaDaj?svqob$
z#9k=itfYOVwN-c@6%S-giA7co4z^1J95Z>}<pW)a4R%d@5=RiF)|fVrXnqNkR~)#K
z9sE|mP+2zTOqcH1@1=DeYi>6ZLvPEBj<~~s;Y2o+woYr)^E<TDuTHK}=Q@Y4)fml$
zMp3Lr_I;Fg+r6?$%|)MO4l9bTxg6w9oh4C}Kt`fPCWUtJk^cbcn)I0A!Hb_}^%-S`
zNf6}EtHAEcaMM79?4oii3}j)txbh!U-NKacHVlu~AP^B-T6=A&zNEAh9@Tq%VzH=q
zRWQQ=jb9#ITIjB_$9<|d*xknKXRqfp)R#~hkj&QAhk*F9r-^wWKl-+`G~dtHZ&WbF
zatI~VuZHzRtVG3ivjE7l*}8tidQ)?iM|wSGGM|UbnFbOpO7^Eb`|XJcI7KUqLHUk8
zo2jZIC{9&Pj>gPxuzX7po0iq$4>u<!myPPvaOyB#Og8HfrbV*aBaz*Xa%Gsd+Q~8$
z0Wm>R>4`Trwx+_0msC#aynZ^za{6XoCRT1#5fkzS_dyJS)Q*S+5K$#60IPxkOS00z
zyv>ZS9@CnTv3xTbQ*54(Q-;N|u8l&&jwEt|)rmaVKE(52jw-j_b`!57PN@Q#E?YuF
zEId!nwf!$)#bypSH0#Umh2U!bX**J8V454Hba^cnZ3L^V?{PNc)y-V3$mboquWs}1
zwhX@%`E5J4+OsXQj6>Ytquo52mSH(9o0xS*H*n<|M3Zl22_TecOdM8OdLs(qJo}PB
zgSLu*reFZ3=j5x4_6`x3=)Rv(!u0upWN%EVuB@+vc;$TiO2rsQF~N%DhO49mmfH6+
z(TAKtRuQH|dF-7H=29>$!ew4Rqxy@JN0#u1zk(8CWHQ>2<gWYjT&JFEH5^el8vzD6
zsUvPHP3_5i!p8R-=f7S^r4N62?WW3JsaE2Cq32}6QDI~kawodj2%CcKDXOR|%}bFU
zdqpLLQFLL9_+V<vAq!p2x)HndQR&Y>vW3hwcM^>zxweSnNXRa2vFfI!sv}*9?N`P_
zx_uTwM-gMNg4#4HuPCd@s4H~qSg7&5Epa86-Es4Qv|yi&STz|1#~qLizg)5yO^sE@
z8Fi-HSAn&3xgm5Hj(UB$)93DWUegzm@5%Sx%5yxgE{`5miDrV4pak0!iu7S~aV?`d
zEqU1-A|%~xk-1J+P<{Au2*{8SGSsAwp8C$R#4*^_+V`Q^K<V>#(4D4qowa2#ig1?G
zEwvfB+)(59(Wd>&#^%l&Y0Vdcj2Ql_v{whzyF5D^#Bxlp8nndSq0D7Fa_Csxi&9Nv
zST-{plI%AlxO?z2+uUwsze{42ShkqzCc5SsE`KLEk0G3bnc7^!`!BP7Y2J>dAekot
z^Kn}DHPb7_1k-0+VdQKT_62%7k)uADwAia_vkFZ=%`)4iNzF{lZ!N6ddRfOtyUk-X
zk(KvBP#Z&XQ>u@XVq~P??l%cAk+!d8O+Tn7*8c!+9d4#{a%Q7lP3lE>S$fkSQaVwq
zIOa*FIi*!jEjr5(jRwifEQ}#VzL)RG^5yvk%Or^5I4a<pg1F|!AiO$V{{ZyE<C;%;
z#0@>DtI8n7mmSF07gTK5+PN8}+@Q!<i`h0+#6wMmc=o{C?U63twHre<i!#X(EOcI@
zO>k^}B1VsQb&j=z)37_DsKtQky*61N)ToFqyr_f81AZuvl*<t$xWreRd;ph&$b>wF
z6@IQHh@y&~c3qV>^Ro4`fWzS>sbQ^!MQQ=@`z(B8@iEb^6ySJ|1+OygZKu_LPr3cJ
z8*wAw%VH$ExD%r8NKLwg;ciG>#8CP~l~ZJAZP2)?s5HyfzPRbO9Oea%W+(VpE>Ppl
zX&*=`s$Im6j&6+!^Dan<vac0Ql@WSb!aHWg9giX2%dH3z0k0DRP0=?+*->}!i@yH=
zZTjySt&lb^mD_bsKllAQ(2olX8d*w;)k68?CpB)T8;2nc;a&D$)=Iv2{ndVYvc{Z=
z2HG^~^^vDC4<fw|aH+ERc-^-IR7pis!tqgG*-?C?SZ2~hCY)=TBJPGpskeni`~Lv+
zI+GPz5nl=`<8?&;0548(1++<SwNGq!(Z!adV9~S89(3m@Rv}KN$1Cg`ob_aeoKgli
zm_^7z#U3gIPH=U5f-W{BR9P;k7M{^$blE-)UxVJpl^R`>4_Z15l-HUly~v>9s<=p^
z^Ul12d=bDDbrIgmoO)2z3tC+%$*C^$nQ&-nrNMSPEvh;(BubWm<hJ5&p7p>4GDb-i
zHx$`Zbm`rwSpF5M^fndjRh%iVm_27ySnJZ{Q%IZUFsYiOp7KO-Wwq_08+*IORCu&s
zHHgGwF!+p;jLinehW&ol>@Y<%8KX2LT`Tk(3;YiZeu5S_-a~GgB~!MQ%~dc-H<CLk
zftfJTfsw)2ql4`?-2A4TQ4#=73VRWGtm)f)QTjPe!*$8iT!Lz>M-_d>V<RlSq^>q@
zwBYbHG7uEsm(|t$Yy$rPMKtR%k6oH%){!l*Vb{{v%&`k8pNEr+8P-RfZS5LmhZ}eu
zVNg}Z$v~PmNLHG&RBkmlLvqW^D^I1xxUsd7GJ_CRZY0ld3JFGs7rI2tthWvuNZ<nq
z=QDhlbmF_V2_4!#Kq?J6a6u$PAYrixnw_0f*Zh^@uwx*|rW~|o+Y0-J;W-Hy6jYuw
zNqcOw48=DS6$9-YejJE5yK_|a1*%)RjU3NlH=pC+<88@z5@sY!jpB~f<OnT^l2%5s
zkKK&20g-Z3k^$eyAvRD(T^m#vaP;!CBBiIXZlVjWDl+p-PP3ZoGu$^Hbx(t2vL(AT
zhiL%7@IpfFb<OJCLvHIIcLS9obERO!mhG|^8>W=yQv>cCp4%p*t*gQL?2qZ#_uP5!
z(8~-smw##sSW@0K`vur#lMhbqO?CS&dKsbkCRKrfRMODO!)G-n>~p1ns^ko6Tt``j
z3UoHiU37ak6QE6Putyj~b<kcdw2jf8io1&?_Ks)v?PK{R?0<QQ>S$bhw6L&_ZJXVJ
zZ3Er=fo7h?5FKge?4myK0TaT+hIR>6QAM0oXE3T=Y1i^1u*H)X+A&48nDLa#Iid%+
zN0{OJrWAKa9p)&}8%Wc%^C9E86^481cOR|><w|bBF`Qc8AquAM<M2lsiW26lk=qDT
zOOS&mGKH=PiNFm5Iq}Bl662s1>!I?sTZ@{5v(VfQNlmNw+KH>0YB`OK`O;fkSGEn_
z#Bd#x_|x;_OqE^kphXaW+)6~B032zVF&<$Jr?|ePlPEQROz?TnXm(wvba66T+<I(V
zhVZAW=j2hTo->yCtfr^87D7yxtL_>@Nig}TgQQCFwHne!YySWhW3{L6)mLP(WxDoN
zpG1<)Bz#6Igb`-Jta2lO^a!F363CR}vZJf~-R4Hgx{z?}Cl4$lJ^ujW&}%WwgEj_p
zjZnJBETbfw2V6j8V@p`eTkTe8?sHWbc^r_29@!s9NvE=oKJ}YwQ&Z!~cm9%FQ|uR<
z4c#lx=<%A&qad4Ir;)C!;?99rDfzCn<f&?GcO|&l#E#&Zx85{B_Q$hslT9mvZf$ba
zihSn?v1Q6E3mt)PX*s5`th*<PTaa7WH0m*8)aF}xu!|?KMJ6v5Xc{<R+8e1Q6<5T@
zuuaugu-8^|)!A+|k~3(MV9W|^e!esA88XC{UWZ>Pg^rJi$@&?5B_W|aM4U*pQJhk4
zsXJw+T2*PDT3pL+ry|q=%9)W=#ZwNrXEr>?&`x1B1@?J1@~E^7a932!T~|n2PiPLB
zQ}4k_$^nq2ZGL@)-AR*%Mbb!lmOXgf)}>QLiOx)$2VxpZn^Y4$!9&PhWu+d|jf`st
zMGO^PZ4@3F0}Iqfed%^?ku{a#9-{PDBCL}$O*J1nf_9}=Ex3vJK2cWc3ysbbB5Y)|
zXyaythH5>uO!Ml`PjvyS%PfB&)4LnW7&c{OnRrccx1zv$c)a<XnG!!Ww^dt|4yPlG
z<E)Sn81(CpuX+*a>LoK)8jC+E%W_FC+|8AWXyZ)Y*gM4<VqEERB(%khr`zEWo~~^Y
zN|C&4+(jdcAB23f#`X^DhMKKB7A>v9J*D07ZC{X$vAjPCtHY@@Rc7WTSBcZd$g6R{
z)M@TkRJ5{MZ5^v3d|&pAI(>tWCVP#xP9UI)qHe-b*Sbr1w>o*RmbMaaAbT8J7dxm2
zk3Bhp`dE-L;=E6~<Bk9?azZ|w30rrTz@wT~n`sn=o2b6i-A=HZ73)||;nld-Fcp}r
zTNwe$rqWb*9*)wYHrac3M5n1nQ&dy>7m?|9x>n&4^yaJ4E)F=<`?x`2lt*&*`mxz#
z!2*0nMI%E+FfmcEZJsSS$&<jMD1A%)Xutp+X><++?#$;@`tabau`NKsGVE2HFIR9J
zOZjfzx@*p55S{|ZsT_dsZbf-JXxPYwB&JD|E!nmVf)bBqmfSwU_3tjja@;>pt>95V
z10KfgB)sIjmj<U<G-n028Q~&XLzMpjwsC?22}Xd9J<Siei?E_k)P}!edI^nEWs<Jw
z^<N&yvbQW_>J#yymJrmati0MZ^ti3b{{R+Df;8v^XE+kG$>8oL#@?PTTFtDgGMZmY
zi$WHS%%Y}}S=~#O>fk{aBe_!Ru!h0(+}R|3zVH(t^9Yf?D9C|mGDPZ*xRk6!FEs60
zMKe&VbMH)8_9V?dGnVK0{HRrNqt3<TGR?K*mza?$LM*xKy9j98q~f?P%2Fo7c!~9N
zX^CeyR?Zb%X!TePrbS~&HF(|AhG4_&$1oYD<15{9*4b2D{mbo}q)3QL+pE_LN}Wg@
zN3GO+(gh&rZqy1`(POnx<omUEa+Kthb@w>TbrDRJfG{T6RAmIzkt{{I_}c+vme|aP
zI*;>tdxSQjtMJhVP_pBWxUxnllC%Us@oYeZh?{jlk39>uQWpk-8W)+A5v{T2YAiIy
z(%Qrh)yP&(PHsHgNS($+36+4sH6Bcd$;kn`Bfnu$c2|s6>NY_0iEbFqF)RX}DveSx
zL^bf_N^A+<^JN&HCS#j~AdWZyjmT-j*tb@~1%ptVg(kYYE`}E}YAi;F9k7}*pLLKO
znR+nAbRJS67aL_&Rm9|`X6GH3mJKRNR>;6uv6)n*VGd19T2bR7$s>cDVN7O0sTA3r
zrxTMX4ei_x9t9VGP#b8wp02+Bs)BV^Z3*i=Q%7*@PA)<1#jDEpj!Yr4aluJK^j_m?
z{M8lhFEV)*z*Qt{d?DtYf5j-b(Nexd!c~hA`E_iAj>E1+aFMiTNH)rsEyWR|<boy*
z4>469sbf~^JJ{>Cc-xHA<tI6_krAr$CZ<%dP6xG(F~Su03*Ir{Z3iMkZB&H(^pQ)B
z<?Q5j_LWwUv71*|YTc}{wr4|<q9kD=C_XMSuAmYUq;x@171@>IE_7}rw)C<Fv;rwr
z6BEU8=H|e#%dHNDnyGI^SFB;U#bgLQ)s(Na50Hc<<ifa{tDKd`5YRT@J#CpQ*%NVz
zv6iWVvuqqH>!WU6iuYAxxh6rYV)UnXXNkpZJ8Sty;EEv~x8rwV1hJ<A(;dGE#^Z9E
z2+h9>y2^`izr_f{mh<eH@pyJt3<*sTfwqo=Rq>qLD`LMJ!6prr<aS(#3fn5R{F@o=
zvLzz0Ul12ZW?2PvMkxv!2_cC#P9Opdl_r4^6poF$v`jZtu?oko^2-~ne-X#yzbdS5
zbC@m1isL9Q2WDjASqUCS<cbLX<J&F@BH*G4>fH`qqw7al#*$3Eps}@)5-8VCIF^}v
zs-XHd4@&MvD1g8#%Pw2u@;4lu6>$)w^;51{o``B@J#kg)FH>~tJ~W$C*yEYZsTFQL
zW8I9>O@uR?cDy-9W#w(is^PXE(G!T{+)}px0MkY_QZ@dbbW&6*`H--CC@eXL!(ktt
zR7d5H#4TnzKm{H`n}B>3Q4JYZ+(Br8uFOaVgL@l$s!LeL0zoIoUP!;v{;uk-v|nXf
zCr=*<i8C6cl9=se>p0Yxl#aai)2hvw)r^?L83=|pahpE#zTQF;dz(wsDtl9L{X3?E
zmr>&wv|J_yorE1Xp~_Y3bMG?O;<4c@VNq%lw)sAYZj;I1Y`_5kdJEUQzfo^2vFSdN
zHR_)(nWwcj7L_hyc<VAF*3WgYX}Z<1Ugx};ksFk3D~sM#0z)1|8#QomSM^%Ij!^0j
zUyw73=5}wxJSQr8Ivgu_jk-jTasdXtykR#*)*6<H&6PAFCeV}|SMel<KGXnPTGI6%
zRM3s}zUhY%4A00(X{V9*)N4&VElb)twUl&=L4x`*rLEKIm~U6)Swpt9)X^<q$x$7f
zNiw8AXpXSzsT+<WqNxw-`g*|nPw6B6A=>5MhP7&59sJ4Z+Rn+%D{oP&J;hdIk6alY
zGmlJUh4YCOz;Ka)HE5iY1>o8tEqd*~n7gSKw5Nm7x$W#9kwZG`1&?()3@Hc6s1-EL
z2J+>y;gntFptThcR7BB9dik8|CV}Zqsbf0BaV9P0mOCwoGHorX?9w(e4uU#%awyse
zweZ=Ku(S>@(<S~bB9SiXECNv72hDu%<?X#NO!mU!!I=42k1JcQAIrHqPoH{b(=4)+
zRj@a4jZdPqVzR-y`M@%3qL?=}vdH8MO^eFQkQsgh?MOG3)?`LD__%y@PJ`=ypMMd0
zCu^;63|ma~*CNNI)Mt*{R7Y})F_Qzn%&D<r2!gkAVC!N`JmXEeFK@|vZ76Emybn*c
zKHBb%_4X|xI`epy-Z_ym3c+I6J0-a-u!#5=17s@u?E!Mx*AS5#F<x2cKG8o)I%Sem
zY6d5(_L%_H%8S{#wf2$Z%W?>VAdWp9&Q<TLjR87OHX`CM2xl2nxK~Alb8!`^%|mhb
z8YR#5HqC~kg)S}fkT*I9g5*^CTZ!rwPH9n(*xO8Mg7%D&Eog3=o9)^BHC5L;??aZd
zMoeanwmr0HPb0{DNVhHztRAE_mrL%wFk9bZ)4fAu7L~NKGI$meVmCf4sR<c!Cg8Xc
z<%_+S7u+;VoO9-7$xz5Ze!EsZF?y=7$+0g|T6VRyI;S_;<`fXhG&$8-LIN<k12NT2
z>WNZX76DLI=+*!&5h|iQj@-rc$^QTa^)kOZv(+5V?vjO=nBBGyQ>cx@qP1>hrD4eM
zBTZ!8s&BabcS(jMepBx&Z4)e`drKsEfjeb;D0jU<PZ*3Wn0G~<yaf$GK{Iu0P_8p%
z!*Oj~%s5e-rJ5xj30fRdlIw6^Y#v_XEN7&&QCg7Pb7h9)0QMUumD87{zr*X)mW|!f
z+uz>8xqei(Y42>D)IV=!4m%Q2$nX1y;G3o~nM00ogjz%5(?j44(Y1`vt+J|#iD|Zh
z+GCMwpvj|Z>hg)CwUuSWgqU(fecgpz+ll#)gDP(x=<qNohC_GWvopLKP~c*C1tv8I
z8piRumURx2T~iiCUp7R^E*v&yjD~iW%ouV_MZj^hG8RPv(NbIcS&OK_LT$G}Wkl9x
z?~zS<;+}as&%nhb<1r<@V)@Eg@@2@BO}fxJ=Wvs{+fI~XR@?;x5>YT^K@1CR!Zj;T
zY+0ybkzp+4okVq)3muJQ;7e)84Wnh_*xopA0V1jKE(9csh$pf#W!^-rgAXGcD=PuB
zX(i)g6-EOYg=q*y*M(KJZ8!UJUMh*@2a+!`oi9gle77O4jaCs&T8J`ITaN(8KouzM
z`-E{AWKfX#DE9o4qKYRjg|5m8C-#>kYf68LzZk||(p*DRa;;C7I~vBUZV}q4xTW(D
z8g99{03})tu-bb$p5Xu<m?}je1(#bPHpo$A{)g&*xN3`e9-+yNlG(D%rfQqEM^ZF6
z1nR#D*ND)S#ElIJu>&G;)fSapQX|}3*7l>+y_Vo!fHaow`z<ib!qYRaVso8`WVZ70
zuZAKdF<MmzUURl8Ew9(bJR;~D88upb>0*~wl`vSfoUOZ@!=^8PhUP*B`z1NQ2`0GO
zKgo3k5TkMj1ebD0#?yyxfBinR<4+E&vKc?_a@LJ)E5fSYM4V2)(%r@_pwi!VmcGU-
zG7l!UdB@peE6fw1^oP_OCWbb`h=e@Dh@mQ{LRj{f<keVvg-u0;RLaKdMqNcsB}Ard
zqf)p^^+3B6oOEVKBq>myB2)J<9Oi`CuuP%unbqX@>rUj^l*m}^#a&?6>jp7VJfz2_
z-Pb*aPYye(NYhEWq?oEo9fA{1JbtQr?DryvsQK12ljBtrvD{7rEY{}OL9-AjVa^eH
z&b?E-L~!G{g*lf{cLv-g1SC$g3GF4L1%=OC?cxuTur#r~<8lQO_K!<(jP7oyQ89|x
zJ&w)1diESjOU9&J%PCV0UB6^K!_pE&W8&K+D5m+xd7^Al*7j27hn9W;jjpQYwl^bR
zV8xw&SB*ef3v(r3SkPg{;6jbEEVzbXr4*ZfNjmx=Cg}eF)r~&W+c?m$tS2CWUy0Yj
zjblsiFQdwtIx@7vw(7nT6yU*Wfp3hiLgVIbmlF_e5|0kT;bFFI;qGNns48gPZpS#N
zi4n<&D)JlXb6Ah=TXFGtfzWx<5_O<A!2mXKbRe0nVJ>#M4+R9#lJEm`)TNs04hB$T
zSmO1U80AK3RQq3u){NTwh=9~bhGp|JMp7y=GaP`+&6<;HP>|K<c_NQIvPO5P7!!|D
zW3lNm?27^l8`hPV-*JhI-Y0oY4Tl<O$LAEu0@I>Og6`l0w%r=)K9SI~R@SGM4Ac!o
zr<4*~$SLa0=!^uU2!7gHc4ajDKxNk7ZSqE$lAxvnDoe>dkH2tE+h|^4kuh(5E+y1q
zM`wh1&#MH=iAIkc$-`jStdfoy3vIOOD4RjBk}?*?`2(BBb?3dol;4usx=WN*=A}~$
zG{Eu)aw^OosmZwotB%KyDnvQ2w1Ba|hqW?1uqV67yExpP#Rz_sQ+mG0@VvTCS&CQV
z)HY7l;_oqW7K{#TxbPIw*P4)y3sqHUqOZ6ub2+jPW#O`MSQ<~3G8(CdW|)lNu&<An
zH4Zo655GN`G&v<>ZAliLP!dSc?W#%fLljWp>JIDWNj+A>tj#g}y0L1WDAYA?q<Q%y
zIc!qFo7h(q*%7Z|Q^sGE;;_oN*CHn!HQ53-M%LoArPXpf{{XkSt&?*|a)=o|oK)FW
z*t0aF0>YJG$}jkr<7~n`vXO1gpk&c^@`Q`BF6fufFK|>$mvt|skvxk2{V24zH(1(X
znB}@}8M)C$uDdU+7Fja)e)1AXmWbM~ByrV_^7&u+$l))OUE5LSL71KD>4Nh_Amc{c
zh`gI{P}^T0_<>N9`Y&B`GPslsac~u0kx>a)S5%w<PFttd=irxb9(L(%r#XOLdX3b|
zAbphxmGorTG|;LiZMT|LR|9c%ey@dIV7q}QgjHuSh)x0$qWxYGM|A%HZ@>2IH2Pqa
z&NH2AE^Co8Q6N&)zQmWsuPVbv)9t?J0w6ByXz7Y3$^_Dn`IDx?#=0kyu=}8u#jj`_
zR*pd2xgsd+n<^*AUW4^-y6ma(w_ZU+K{hlrBtk+>wp3I_O}6>@-+sQ4s_ZJCKRqIp
zvT@aVMMYh=PoF#W@d*>cF8=_&-Fet{;)}YXdGX_~ibyNPc1`~PWb4bz*^b-pzZ>=Q
zp2Uf__FlP~^G-i>UHAFx@|q6CzmK<GUSCv{Kg-EcKHYpX7R5<bQ)JzC@z;_*J1VCy
z3aXzg*OyVZRY1`cR8f4V&t5~BbXSw<MMXv5$|s(`JonauDalnluKxh<)N^rB6&q<+
z_WN)C{{U{hHzb6BUXrS&tH4A&e187`KlyY)wb6SxQqaqBRq^3GB5&8lHB{S{%f8!u
zuln`Cq#3)qev}`d*?Rm>qIeIK`+d6hM=xel9A6u6xo_~jdE8Kbq}%PqKHW#}7XC}^
z{+)d8@kK4Z$@0HFdn)#2B~VN1RozqPf4^S=LAMZ(Z=XGLZO&~Ws_n8S=$?9se{vKw
z(=Hv94J2kr#EcY?4LkxWc-<6~Q*XZLpF1M>Hm;%<IYQH%uGciCk$o|kY_gUzV>Hx$
z=$n0~RllrUPdlO^b3)?0wnXv2SL&j|p%a24i?FFGB6PgdyqWATN*3!OYGtrBlUXw$
zsVYgw5E65MZuUNtPy$p^Q60c`RTS8^XvVr?6?;urLy9t9jHN0{sT;pi?XanAh$xA-
z=}nj8_v_M(uduT0L^-|X3{-ad9o-dt5U&3K{5tAiJEHvc<fK07s=nfys%^TK{d__%
z2)zn5^of?=W?Yt)!Hpmv;G|qsfp--l75dQ?QFsy%s-kWyw%snSG6aJVF&1v-S!A{o
zRyDQ6sEv!J>*j{jYU__1owQd2=tk55Pn*1yMHPr>stVbEW&XWaOQ5KclE%yy3qd+4
z$v`IB5C;|h*KmkXc2Zu;Xp7@*w&<8z9p2FkgNUP2_avgj^(RNzxzSxe$LS?zR1SU;
z<%4Yt%*~eBHfZDMoZggfk+SQ8qE8|yswjdYO3}yhORPH_)}|UKDJ*PHDxrpqcg_qe
z5pDT!_!rPFqpKy3@`)(6rN@GoBp}2v>zrOYRPZljK#vaM&G?pZM1K*FUnTO8kztWE
zqZ!gS90Pea;M!~mN?RcIgRu(_#j=elF62mfPE{@}HM232O~R7US+eP?f}rrHx_f0*
zQT)A^<D$#mb6cRI;ih2XHC!}_td3rjrj!mw#CvQ;!c`o(V`7gP#bMs$84Vf=s*|u?
zj6hB%!e3GHK-jIE(?w$uV!F#EavgjHebJ+<fWb39OQeDBtY4Jkxj2!w*-{4`7MySq
zT-~AU^;w8OhmCrc$(f5DNW{!ATARApWK8!4>yTb@1cwNb5J1hD5KTcB!fd=p?tJ>k
zkch;n(d0CQBuq$U9BlR^ROAb~5^kRgik>{8^~bTU7U-@w`&6VhHHS5Alj>HRGa7Bw
zEPDPXRK-%nk2W#ZUPdV{Nl4wsn2_2@i6K$ujX+i7R=EPE)>tQ_t2>)$*|u*;Sq3)z
z$QCwu<^9`)Y*z!1c3Wtb^zEqk2%9F|BW<&Fr3VDj679?rD91fy&ez0<>SOs%n4K0?
zIoT~E5oA|LZcTH&z0q22T5@v=yKqmX5eJfP#avHT^)@qUi(}U?>)owFXDgD#2O^;m
zDg#XW$HfgnR9r<C-EDZQeie7?#}O=Xmbicp{cgHoh4M7AuCjxK<2bIJ)&3IRZF`YR
zHr)z}D_FqzvlvL7Bx$CUTP_@sg#nQv*tjYoDD?|InU_YWjh(rWtF78P3r_WXHXk{w
zDm%v7smyo<WO9!101A+n%16Z!MOhf`mtIu`eHF~#XynJ67Gw>uwssPlQ*aEwDU)^O
zUgs5U0RT-vRd(2Y#?y!`JkC*!V7UD2vQK99@w#rZF0`u3#t>lAQJ{gEBThQfr;$`I
zt$LN%hPBy-z6s+DT->QisrZ&dt9V^blIo0UFIH0J(DDpo(YVhG^|sZ|`-X-BD?pN?
zxag3m5f^P9Z;v(dGbG}HrPNDNUN?|uHCXIv^JgTNXEee~iz(SMMW+mkLJ^ugz8rkW
zM0RX=wpnj!150Evl4V&OoL!el8-AuN$k1ds*(-#ds4&-*u~A+7MI?)5RpPD!f{e}9
z92$tmCZ9251-4I(UCca^iaV;V8HlJkDbN^hIE0ES;47khnpNEqSJ65`PFCA~3(_^A
zpgH<zg`K*8CUSj@Z8&bub<J$1k~<CrmWlS5aD`4-cbR?v0P!s&Z7L&sx}t;OTuVXF
z3&Ez5Nvzqv9CBN(dNocux0Zt}SwjRSQWK!;mdP7!w$MXu(1<}$1-*x&Kc*8B`15I*
zWTze=rMhALLW0CICz~>9nG&m(Ng|jlgxd(vl9IW%!1daOs-A{*1#Ug3Z)3jhW02MA
zW@LLw5|leJo08+A2RVgV03z#-uXB>3A|fGmQET638dH0Ie#&6z$M?ToZo6U{iJ{V_
zS>rlUF15=E@t-Lf1#L`=o7kP=01;N_un{970XhfnURP6&&M!8%>UBhjvoB*<H+1wo
zR+4%}lVvf2wUIVkhO9fX1Z{vDaas^oU0CR%Kpad+3Yw!gl#MfKU5~+}#^YvHP%PVr
zQt&~MUu_+xqPnCXlFEeV8EIW56xm09;Sni($K%~zW!Y8jPE%bL)vTsH&OGJF_Lw$j
zv+VBaB#TcIrV~aX5=Y^)Qh;6!*Yc1a3o7Q+o$7S(>qK$?0MGzv2G&KoDCHJ$ndBJu
zQ=@Fig$^1!Ex8EPreCp>z?hIg*>ZW=4TO$e)M*(;6<3KDfn8X_G_|X$Om_^jgG&BA
zc>QKDF(o@@AZpLICd{KWb0bD=5utQmB5VpIel9C)qV#o{Vt9@^)h&IjV~++D$WbBM
zWO3oYF_t2<2O7OpVz}(52!ZDjq%&1c;tGd^Q99f+Bbk$x#F-H&(W+STJ1yTVc=Zs8
z<$bpwW%k)=_Pb3sO9|jN8D%$fbrf%|M*6(TS}#3?tP#?@(Ec5bUE{2~klRbGy0K|q
zcFx`svm_J@dorFwaM_HU+Xnvt#P&pZs<tGh^z~_-<M!HpHr~4p$~&y3Voh$I<)`P-
z@^_PJiZQ$M6@=pIn{T+R@DL<kD&Ug}j+(zJ)EP81*}K*g<)l+6@u0mh(h;-Vj_iXc
zQJ9Eijw;ASQB>k0i^WT?+Q~zxk*uLw(BlIdG*^loh%{G@Ut2+VksXaDQ^1Wygdkuh
ztg=RG*&h4uiP0QO1|h8@UnR!jU)UE7ip#e2deLQp)mcfn#r!rYh|S0BW_v`O;_TEp
zUx_xYyBvg3ruj$*8BO@13ZQiwZ8YbsD`jSwmP3usky~FJEu=;Ov5{cpvy(2pw%Fwo
z#gj5JXuG72t82w$7;Jhb`mKwbEBpqF1A#ggNsT*o0<PsI0NXV7%-K~Gv_%qfJDsy-
z^ex(L)*d1iWLKpwL8sWX#xh)boto*FZqvt&nq#>JD*Q>#H1kW@kv_acRzN&W4`#{$
zbMG%LjZlNDBE}gVz$ssb4ZgdheLhV~!ZLfRvWt^RuaMO1>bLPqf?)v{@?2$_F7$?`
zG6YECh!=6CbGVAUxb^V!;L6tC%A+F0ZfoggNp3~<EsV%#@X+nH`%SWM_D#elmC$m$
zodQA;CfwXmRDSjNGp?mq*G-~J96qWosaM%CC97Bv-FzH=SR`grLkAs($UVem@U4j(
zC9<LrVL4`Yv{GKnQqe6YzQl|+WwooXzQZO;;~;|^O(rmHH6_B4!5uYE0l>vkPj7sh
z@axiu!-XiJU{{UHg$m~up~`EqX%HpOwy?%g9A$|><BD=0j`OcP{8yTM)4s{N4LA<0
zf!V=y7CG#HN!Xo5K4F_`?h;t7)x0Pv4Vcp8tG4}?-EJ&-RnVn0jw-gQy_9RpC=Y>N
zO$}VfaUD$4dwCKuxh>+d<H)cI=Gb%`s<sr0?+B?}yr)WO(sfO!<^tOH8~XPlTqo-!
z^wO6wsmQUMdX?xiauyMZ)2E}N#glVU=Pe@FzUa7dBs$PG;e%$JK$<sNL{`bMGFfxv
zbt^<o5C<?wE%>@+YOkzG8vU<nS?T9kZs22H+uB$^O9mpe^tPlEe&e!n8gZAKLI57>
zcMFF6&{uTS-|)-SUbh8aGwOq09<awT%LZjz)x(1rkU&{h`9C5n0O-k4E=JQ&8uBmA
zM#qY|oxK@)UA2{|Cs|(12so8Z{Gyp5`Zg7*F8xk9T24aX(m5f=hk&y4ypYKe0kK}S
z+qn7OLM(KzZeg=t>n&5zSLbu#vpOJfM<vCS%S^Z>w2t2=RmOK{P{afp4uc%w31n;o
zGeyk>N1qkkIPF~bUnw>fvGE(F?H{Av8kvKpHKy|><=H%i?pID@S0c$anj=(Kj;P}>
zvK<!45m_eDNfTu-*$G(qUYX>YcI8%<Up*Y_>|siSbps%t@HaI<lzD|}3#_oP%>@^J
zCNf(+jgob?$x61zHON|Kv6xj>_7oPg6&4=5VDoPv#cOjfXxz4p(idxsWKzx5K|@t|
zTH+zm7HvMS3&kYBxYE0QI-NE%?>A?YL>#uI4bf|pk!{8IMk^t}QNM5q*n$G54UIa>
zGtV)~<4|kAMxFwS;S4Mpm?%eHeq~OW{T-~zCaiN@c#_nXEH-R%`oRk_MNt;xDxyX=
z+f!3k--_tEjskaEHAU%Pu0Edav#6FBbGB9-Ai;8UEN<p&qU9pTL*4j-D(uLPp%C$q
z!}6fEs;EHFF2XOZ7<0demNl3W&_JDFaqa8v;?={i2S}CJrt7RkHc%wCj44=0;}O|t
z0^?o1-E7YoO+vwA!o?@Xk(O!RI}R-4reZU$0Czx$zvZ}8SxthZ;8xYg-h_ruI1{TR
zx{VJe{;@>_=mrwkwcX>f)5z)Igi>NyTVd<zs<P6QpF>4Yr+T%i^fGd6^0cB&iJ8p_
zHJM?k2_;>ax7=;{AUp&mi8UZaM1^DmDj|d_9Y4siD}6rCDkn+C@wkaycaG-JlEWm^
zB5^o@_tkrrRO*Y#xnM-|3B|#2c$aGT7mnUVkFlmXa@6M7-hWc#xW-*s93idvNCk0g
zXDnqFLRo`o?0JAKgQVM=w%dY8RhnySn2t|DrCCN}F}%i>G?UUjM}3#ua>^@cg#9(k
zB+wzb!4X^(Qb&QMcoZE1<cVBmE_-b4e|}ncd4*I!M%J*Jj;-hE>{82B@v6Jv$2}AO
z01%9gi|6gJ=H+SDxIw3Jr)%YWI>AbCm8k$*0=D;YMd2auh?<G@$I@nv`j7q{I)y(^
zvslscEj`HPDNBmmJ;*bMiYK{^+)dee18(C6n=Z(O$q-AeXvTu+edY#O7JG{RA4spP
z$Fb&#9ZW)Ds-u$Yol*L$jFh(>xPlU<$SR;KER)q1nfg!EC_abv{{RNa?6KPl=3TAJ
zB3C&kJVqXITVdAB5Qv&W+<7OK%jwxgQ-48@bkP`E+|~Zg@c#hQcoDcBOVZ%G2?UOI
zT7Oq-<nAExK4>S@M!e$Qp7pa9zr}0amxJZ68!)oC0Nc^no~pgbZXlNJJ}LEZR1{R-
zkLg{%o%40NPIsyK{tfS<V`q|B%v#F}xsGhij_%0Ysz{>R8Y1kwA_}T?z4d3&jO{tL
zvC{Z;(r>h@Pz47jlH17Hv_-MSx`OA_i7GiDnvafQ$bS80-%#F~bR;sG{Rz}9Rmvge
zIORej+Z`a4ee*~?!+Ey}cTPj~3a;z+Un#d=OZ1tr*=R0luP$R^G(M{b>QT%e->|Nn
z`5ngo%F7}2+pGA;pnIJu&N3=C=GNF1!)~#(mmG-R&LmNEQ+_JDk}7@CKHXD#R?odU
zdW7_WVd-yJ@#~mZlu~2Ls>^EI2ZR|{mtj>={IyPeR8@8~UDM;I{*}FtO~Bd5s$n=)
z-o+!;l*bg6S{Bd|2|vxaqVK<jRq7<>s<f+0Y_Uu>qNa|n$lH;4498|L$R?L@+?Q@!
zeUqoUSG*P-a{>r7>%mUI*7wGgrPY=#{40GILB~%az^rl{;#7bU2v^g^h8PtesJ|fq
zl(*dz%KYuJ^yZnTxSR}*gEx;rvWb=?rF(a71jy16$mYbVMjmhp#=B$)_(O2XlOsiM
zwy1;BJ59B(Q}OHSN=#21TdK?MLNCYv0GAPaYNF{7{2~_L>C<P@Ek?J|<C5&Phb>jK
zy14e)C2Wa_E;N~fD3I+MM*&-9T>(~JZ|M?H5)~6v-xKOA#WlI4lC(T;L+rJ1azP;t
zV<}PPR5yg=x_^^E$f#*CEV|mfj#Rdejc;FOQ~}^!mf3*nqi-q_i8O}Fsw$^%iu5j-
z7NO~e6<?>`ko^VamC_{>k1UuPVCbAiiBp?zd!>@|P8P%{j!P0jAyp7fho}BQi@&6e
zOu5H&TTn9-x{%nm&LNrhk;W5}@-mkA_I6WL*bxZHKCOilVtkj=zMN!|vHa66(Y&xi
z3u17fT<YVDjBVRhRdJAbfQ!f7RX0Ul{x{2;6BlcqmG>T%3sM|3ot8?|+uns^-%$E(
z>z~vWrZ4{h7qp7PJW86DqPq2USu(_S$kkj&mDSwbY<5L0kVo`~B>I<*uX;tza-50;
ztvy7LLtfNri8^N75wzegAup0e6!M=asr`D_nU)=a#>J=Om>>f)-H)>q;M+K_w5PGD
z3Am1kuF9x{sHltKQ_ocTL#A17H$fVLMC%FeArhnZj|0*b6;(tC!M4QJH&o<+K0e+z
z>q;zpqJSC(fwvm^sU*SXn_AUR#3(80F=||P20acER@AW(<cb>$&Hy44tGaKwF6-y3
zhT(?l3JLpfx5ri%7>m$kBq*{K$AnR2BBG~km+ZUsDw`Itv9)fc&=7G$lB%zSME?Lc
z_3Jpw2&gLN#O9o|Rk7<BYh-1ekr#AMOSb<2zxV1yT8OT`jw@;l<xzU&nc380Rx#<U
z9CN(#?5Y5&g1vRBwu>Q!Rgj#A<WukcIs)ewX4x<Xhh;jeCL%D2+i;apf75=ye<{~Y
zeO`Kdj29I_ApQ1V_fP59-psboa{@*CkL}lXTq6`s_Ve-5K_O5Y(vca)o9kv}sxP^e
zy5p^g@QZ4qh{&)gy|ffh(!U9|+wQB=1JeGVWIB3Q*?v~c16eG4SkWDM9C-_t>gs;U
z<7D%?@BKPHK~rC>7j^#t#GVm8-`l9o;}K&z+w764tJ{|4<Dz`-e0ekr%#1bl)f3TO
zT~pJkx04l%ZWnRlmdEJ*+eH17uQBz{8G2MnF);LTP4RD^aT;t#eV4+g@6eWWsQE6Q
z(Y<ev)J2l)cZD7IqNLb1OSb$`Q<Cqu`Y%J+CV8njwUvF7^c5)`BoK;(VNQQL{VJ>R
z<IhunA2`fMy%l0-G*A@!%<9@|y)BrJxsf5Z!w1WM?YBt_?N8LIt0^OETG&T*;t0LQ
zb`aToaU}U&zRUac&&c(5Zl2ZGN0*EQ$1FseMQP+7$DO?RU*Gz5S(wN>sA&rguSosY
zR2+Tf<brCOs;Bk)Z_*+TXrqFnT&^_+=ywj(3(TV<O4xOxafp6P!h&t`OYyeozB)FL
z7x1l^3XFwWimdHoBB~&(^T(I()gBj115B{FGA7ut{ko|>u*A1QY)54I^1CkTy>`>d
z_LtbK<Gz|?4@=%Nd=rm^`jtPYowoj+dGsc<vg27#6=w=gU6I|(OjfK`6eic`?{CRb
zKY!hN?NxU+6$HCWhz>U}cSa+MsHWfem+!Y+nrW<Zy~&vEoR;0>gzI3aDB}Io`*dMl
zMT=!H7<yEf2^?d0n=<mNx56rPhr1}avZ6MJSZai*G8XPZxN~F=xN%f?Ag<f}y0D3i
zU4A*<kpBQE+wZy_-al=+pC1pPr?^?Q5uX7O;tj|x_^;pRt8j2Q{B*ZGf8{VV19e?H
z2CE+AiuvyIaDUJ6EB*d@?~Yc^g2{x}#l%%k3BKrvolk3Ld@1$Ww#5g+r;Yq{vPxh8
zFQN#$D5l$de@?rTvK<ivbyWv_ldplrJaPH!pa}2r(w%UaEEm9OcksP+ZM0EOA8x)P
zB6&pXt4X(y>Ch$(5cO6?VHwn|s(FNpZjd^z4<|QIl|}pYV+of9qz9cx2^D^{Pn7-o
z5_e5)&b%bGaKby?`k6#8r)ArH`Y^1FapQwdIHsT|DrBBlWZQm-5y5f7iY4r1n!v>&
z+*kD{Lq(<(qdhDgX$$JzM3=(<08WgYVPretQ^4=@_D-wq9DE^yu)&vb)d3Uy>WH2b
z`t;U3izGX8pk!AGRB;)lapfUwdkvcR6%|*&qJNn@ZMWZ{tlTVZ<g(<N*5fOU4<?#T
zkPBts@A9d|em*`I$5)f;mVJyV5uwU3X%Txyyj)%+s;Tt+ZTtTKPOT)?Hzw=dELD}k
zd3M}Sf!RJ+_xb4B=CGi19Pvacj$n09$%=$3NZfZFlrFD;Royx6pV>Sw&r`C7!tC0o
zh`p$skwG|b%)S-F`17~>ZT)(_wy$Bb{{ZCnNwFrl2=YQj1z(T%Uxn+vYzVL-m7SAY
zAUVahc&F4ww~y?qpC7U>UNQ>iC`3k?S3EZlv#x-RyEnlnCtpPRl(s=s1^)oTs3N?R
zWnH}Wer{6Z)#oB}?MH?!2$9KD0Z%)5RsHw-uT*(<t6?}qB$a)WG1~wYah5hWP)N`P
zcp~nj$#zxSWc%&VHmT^P&ZA|r^30a<u;Imur;pb-j&XBjLQiliUs&#&@g6@3=gRbe
z9V`3hfl*dM&h62Rn=C4_RO=|OJPQOBhekRO?&=DcFWA)wf3M*-Up;1gQVwk+Q)?0Y
ztoxM)kg&Q3hl^pnbnZ-b!A;yJ97I%IxDu}W>>G6B$Lue%B4BbST$tg*23oF&N`WO?
z9r-w)Er#poaz#H0$HFgAY&1G-?CPg9rpr<aQ##|03k<e^0^lMXe<k#{;e00QguI7`
z!CMKA8i(qjl)hjK1qD>v>_N<zwOeH|e*~>GAVGOd+>y_7aqkE(IHstmdu_5R?5dme
zQw*zUAR)OSsLJb#&<e7sPOkg#5Jlu`zui~&->+jnG-~x`K%$}_CnP57E-&faS7q>m
zn{KP)efkR2EX|0p<=j)xfX&1j$E3z)YWBM^!1yeM<SW6HRojxHuIQU4{{Sli(i&(N
zNo+UWGZLzbV@)i1?R(eLU>Dw0bcHukP!wMU<#t~xiTygp9;&@gSJGtm`bzdl`D0Y-
zZmha&&?|yUwjWeS2?v{p?i5<sR1;$_Btzk$rBs>zN(Zdg7;0I)ZyCX_$z_T+VEk?S
zjf>4Eh^%ZvBGREcsw%Gb(RlPJntB<pw$wP*w0SjbY-z~K^yzk#jY^pmA8_241~?i6
zOt&F6M;|`yg%aY12q;}Y3?hO;UUP8qNS)8bGzPYm*TGbJV!gW6*|>hCWtP(4yK@>T
z5xY)3E-1j3Op(P|0`rJYH0w$zFPAb0m*@iX)AKW;%9cFnQ>2MADZXv{b2f~LMNpTY
zA1ll2R8I-@e4_Xt!SHPb^x1=`XvP}~sf$Tp{YMbpSZp>98LI4ryNVf-?whF+?Yasg
zCB`$Uc(zMbD$^>-AwZO7ZN@iMW44AV%>>+4*mp!!QC|u^Hu2Fp&w1?{+i9W(wkChg
z&$+&~q8GKuvz;`E=0_tPh%BU1kj;Te?u%`RDyv2$yo`JjiKfJf$T!&sth4I(Bgu6d
z-X13(R^UdPmOM0cko~%gjs)S5%&3N{**2%{8*M;)h@$IFq9_=OtB+N!DfNRRnPZHN
z{MfBFk*2CeCn}p(&vaqek<e~Xa&MY8iY<^DuHs4OCwitBxZKMvJNzOfD0wvkB{j1b
z(IQNxyp13HJc!6n3o6^b!XOX=m?MN+yiWo3tA%SvdV-~8PU7cK6PIKiPl_{F2FD(Y
zYp6HW*~^lje(tWiy`#&B1Rt3Z!I0`Nzwbbh<6>$qEQqf0Q&-efGXv6pLt&lM*i>XO
zC)eJ@ZEMmLIVRjo*T`nG219aLa0s4&t}+VPs5t9BOjn6?)XDU}D3__$`YRJJexotJ
zrh7ic=@_XP#Z8z%ixuNIfL}x5CFD{AJ{z~)BxwcYBBNz;ePG6*WmQ$~*xKVTE3zuO
ziwtHKJ5faCYslNw%!<f;=3aFjb}LUk*b;fJXsV40C1Q7G7u#T#W1~s?qLb46FEGxY
z)7aR}vRotfmHz;PS!R*jSW{RyO%oB^aZ#6Aafe1gIt}n{Gpa(!xX$W#f@9b=V}@rm
zdW6+?CiNyX7<Hw0Z86Ct)5audDkM^0f3jaoEs?s~xN>-}6-4G)cYt9P7n-GsUQ_2(
z`7O<6b%si6^~jTPyU5X!w#w95bU8fJ<o4*m35XX56^_y(^f`*^Car5mJ545|9m#KH
zw>9T0@tIKFk3(A=W5;?)Ly+0B^Aj9(g(V;*K2N7<#}tTF>==pStBnBNOCZC;CwAoh
z)rPKWC2hWal4QXaMRnYXE-=mIT|7l-C5S1;j~H2aw^CE=EFNaPg-2Z;e33!DJbLBz
z8KaS7YCMd!t4w(;V$nm>DVB_#R3;%8F>TRs73dNXJK)2O5;Wq8ZsBa8q{)Ell^(ES
zH`xX|HHa)yy%OIbv7WTjDQVqyQ5y`=&S)d-^P~<)dG`$8akG5fWL`~$GyN6KvOK>Q
z)EBUf9}|EWZOxW8^k2)ar?_e4kg{s~a-+*Nl#RCH#NtgSx)f*}YwJclvPg2hp!I4m
zMg&i*UDoSnWnQ8EGy2Z-bCYWJ7pS&yDRH|{ZvGsZQIgJpBz+?$TM^uM+{AFZCQOnl
zn6z#Pi;eX=&^C;_g6Fd>s<m>aRzTBoS+>IDW|E`Dv<DZ7*s#yGM1DC(Mooz*B&b4P
znr*16e>b%YNVI#@esgoD+Sz$3rs`_FZB=8Z(8*xNZF^3!0Hw%vrYx2-J?>4al&Fek
z0#Zm6Q&M0aqBD&qqSO3E%`vycEi7kK)#-MtwJFOA3qNtewxpYntXJSRYV?IDjxsE`
z>6=0*hJrAbP1w2yx{WvJs!wDlY{j*3>dX2WZ%I?{rk*<z3@I!*?b<qvSkhl~1dx;H
zeU={=(G-akNyJZuLqb&PRh;8-wARh6t?e(yotqxrnKcaJvZdD8_k<o7RTd*+%$^A6
zF^uXWInBn*h|#j?hlyrdy>pM9_NwX*JvsCxHmq^_lwuQXilZgnZd0!b5xOY60l`2;
z9wa2Cy*_ISWsXYTHG23%ZhbtS#eh~JsWb|V%MQuzZFbSfucC8Raaep+Q8wE$He@6|
z>Zu$Y0cE_0!eKu)w=T!4wF4Qri8`u9a7sG{WImB)HlgJN&8Hj$-Bma#AtLT7oRNB5
z$9nbzx%Lw(q6M?kUV4-(Rp&nyjTKjm4nFvZq@)K0cqzC%9B~m-WZIJu%Ck%|eV!p}
zYg3Ry9ugU{h>>N#EZ;X<b-{WtigQOr6#@3uP@GWiIEahUg!dT9WyiOoklT*Hvv#)c
z+db}$940pwiKQL@`hk$3n6u49eEcDpiO~&gf%CF$1@{PZEXb0o##TpFCT*pCYaOhP
zyd^&vr9*#d3g8PoOYsI#v{u1>rxUusnvpKbPgMD?1qv-*C#kq<T4`28io0YQk5599
zT8~m~3n^h>vCWfM?Sz3BgSGBh4WzX15OiB;<=G>)xlAhCEBEXwB}ulU$RbH#jLpAj
z)Swm^6DLfXGDlHROq)j41qfGkSXvI5R##ejdzP%(R%7-~Ia^H^BA7DhWXP=-2^#%w
zFvNj$r7-6=Be;a{YzSn~(-RA%9C>{Bk3y$>fvq6lue!%xt}xvH0MZ7&#KW};Rgz=3
zQDR+VI*Cp(=gz)rGB!;cv)k={D2*=21nM^+QO4aeaFHA*mak;`bDe1{7p!$2CRHY)
zWCd-^dlruDYPj;*0~ml(*cRd!xIyIk6VLJeYHCQOL1BbwgbgW!=quDj{X)UC=H&v%
zNAt{$M%JGeyF?{uqS}kDBE)zdd6^I$HwCY$MaIFz?IbeaSH7(DgHfjXW%UV&;x|`R
zG|y2+pOoT_PI|O=ZMGkaDY6wdTVcd?rQm(wbrjV0PPed+mlVbdciFy~hY`<b50#aQ
zhA5opH1}V(1Hk>1`+9vA#Ov%axY~J_<aq_v+-g^7aq8r_h;`>5w9G!-rAA{&R}h$C
zeu)j6h=_tBA=SKGGUL<!U61P4oMq)~=w-?7QyU1Qe_dkeI1aZd_Cyjx24V>G2L#X+
zr<(2}@4$Y)T(uiKhnVVys?%V4i$`-NA>~(%L$F#ojIeRrWMa#&j1R+{CQ+2T%_EF2
zHwYYU!Z0$S!zm`^cQEfXn+v4FDemhf$g`)lfoD2O5|?-;%ynbU2V7sQ5w!+E9c6oJ
ztFc~Q;`%sL9e)?0_EDA=M{5<ObG*_9OQ#lC=B8qnRdD9x@tDbRiWtycdl6YKxYIT@
zvJ}-_u6fc#ej2#0#}^EDalZ<H*KEo8IGq-tjw6}o7r4F5OlIP)vH;gEU+vs>T>_kl
z%90%hBsU>~K?Y6nR>9B&+?2kPRy6B3tCfps%?+f>yk4Rt5Vy2{-9ve`jPi^%e37J-
z=n=dC+^*2LhDpH?Ht8vbIg#P|g-NWkC)PEUNVF&rEi4;0zZGe>S#hT9;WljygM>{!
z;+b*oIFZ2+h=^7^KhyFsk*Lrg4!yTbb~G7B1G;TWX185vsV$*IYKqF!Phef-c*aYb
z&8Ai%43#&=TXEwIlW`5OWDNk2TaNgnNZ$tv@>Vgbx}y*tq1IQLW%n5<<%8<mQvuaA
zPA`Mj;?%|kkP=fS1+MdN3ht!H?iYeLoF10YQ05{RRv1P$+TG-_<3=(keZ+xD@?Cap
zIZ>bBL9#mXt8IBfWe|}`qtj_6_5$SGgVS`~MvZ-A+c>p3ZH4S<VAm&`b*4(j>MJr;
z8ZiU|VBJ$z+fo+|5=Y4R$f&74ACRhJSp2{m0k}k&SEh@qDEWq+>Z7?5xqXbrkC4pF
z=SjGnG15V{GZ>RHFKdB0+hm;JPc}sult@uepm#AmKDRfyrfzLy?CpmbnRxR#RNHr{
z>;fUfZkpAThr2E`!Ha0yPqIm}5}EkelT<SARN6zPE^DrXJCftjGWaezTZd|nVK&CI
z6{&O_Zoiw;3HB@OmDan+GDIUZj;N%CMpJ9e5Y&vTHqpr$>?=BKRyLr*hVA|RR-wWg
z<`m(CVF0k2$rSgTZYe3pk}Ruo3B~5>Iu9i5#ZFG6$kW&TPktI8(r8b*SL&~)T|0iW
z1B;#O&9sTbZ^s}@4DO+ui3a?EXnWEu$;TZ?F`oA9L~zBI!IqF5?;>*2{*G~7M$wic
zdNI~*R)cGGMD*ymb+raM%SS$}<D0LiC*&%!OcHkm36oMnZ?>i=stQ~?Mm-E`Ca|-L
z`y7^KzFNyI!=${Tl`;&f(Q#TAT$3;rq!LzSu+ctGD3hq`J+m->rtCU=6H#<`1kE(!
z?p^DHDZEw%=Ag13_Ks~^lF~EM+=wA0<g!g8N!wLd)mqs>42**lA$So~fvv>=I*NOP
z?3n-ordnU*X@8KYB+%#HnspJ%%mzk9GYU8s59FF?<mq<KP8UsIDKN!fIV>4+5;OpD
zmmD_%?jWe0Dz)d*rjKJ5?D~@QeU@F~QpKZ@6|7pUphRjyx}d7C9AqAZ=(vgoph(lL
zqPF(Rg1u@RIiaq)IOJzZ*D|bn0e>>qK*a4L#j*huO@OT8sTX)$Y2<6_;OdBx5^QLy
z!$PMRrWsdLF**2koBr<321Jd;AV<@hOq5ZH$U!r+<YUckkRaT-tF4yh1|uyc-$FR}
z@#|!{Vs+yh8-v5aSz!9}gL>Z6$1&W|E-~!>rZh>HRTou*M`K$!JS3=+jYHqI<A|i9
z%BK-E1TjKV=?g0@)-Oj{&QYjQp2Zg6MbGCJU5txgkiuz%20~q<ibC9OZvm%$;WnI3
z2<oGID|;u?do3<Ze#=ViET&?vHdpjD4nlgyg!|2kH1vouf9AGAsyrKI5Z7fwY?V=c
zV)8MMSTg2gnJz064#=8|B7P-OIQ*#NVNyE};w-5HYV;y;(K2a;?x_m%+%|0~jj_VQ
z(|FzO*Rq|@e6oW|IBU<x_J-`R+-ug(3kFUBq7tF1jI*}EGK$f(v9AE&*-NRJ7`?3M
zi`{KV{l{??c%c&PJz*Vc^zA<dxcoX5eXCGS#M(|+OH#4iaMiICa%+a!HmW7{y7PN)
zvX<RzmZ<diM{TCV%yfojE=0ph6w8ajI;#d9@27F4ay5ijooQ83#~K$oxSUN82*FhU
z08^U6wc8ww_PDu<g}kD1s(om|qa$>-51<*jUt#n-{WOj!2t?wF8K)#d9z<4Q@mP<i
zyCrJVq3d6ihsTG-9Mqw%ooVp14oed)%zZ0Kn$BZUmtE=ITa1(qHnfub>eXs9?F5N3
zVJo$<(khrMFGgPEwh88(Qci2uTGQMs57M-;vSNnTbvrPoHIh?6gfe8)!BK4_Phu;`
zL6FpT)t`9)jAX?W15!>A<)+cY^g~eeI>OgMHIj<)`rh=IZp6oE7Gm2#n1~VPDnv$H
zmfJ3(I+Dw{q=HR0K!mDURqsk#-AU>R_i(JfWC%D7%$Ra=>kG%>vbOO64Vh4rvV&Ga
zFLoMNkytQgT5(hen-5IaJ~uUvtBuD354AT}{XS^nn3vh3$kcVvK)IGFKLWdli}uCZ
zn`-s2z%O81{wGzCRS(__!Vz)hV{`*y^hr#jAi2p$lIgEPIsR#b>6?=q)3~{fOV-k%
zegghQF1lNcJKAl?>^_E3kQ_HY9cg~OkyQ|olkSdx4qau`Tq4sS)B6oPyv8k^cJ9{*
ztjnM;;g+oy%VS#9X=d$Q!cVMQWSnQ};kvd+$`@%zqfLI(HiWV5cA}<ge<`$8`5rPC
zBWi9cFtP?LAd+IdTTbDFKwyLVQ4xB&EK5!d#fW$$a5wO^{T6;UDBp_haNyrsi+OeI
zoNeTkvxuM3k3>|B(`Llg;5Oc9PD-10(+`V}G{bR`sFn>7i;j0$Lv>V%qEsR@x6zD)
zHnoJ_NtZ{F3m%P49_qFFht^9H92Zf7Nh;)EZC+3(zaYq*K_AkD0$n1t{{TJAy)jVb
zL3d}T&~;KZQ<L4Tu+J>+LPJ}!*v<wbu>~WEfj;mdcb;hCcFDchs=YY%7wTU>&}{3}
zXQ-_I02|X>2B#Qef|E3;$DL`p)<-A-*;R<=H)Og^$3}o-syZg=33h)mz<@d^<L(O@
zT-WYOV8c%{s^f8657KaIrIkHp<o#{MZgLp4)r8$XQ;VgWQJ;oKBpZtCCV^Mp!fn(1
z`0jlm?1UEA$SQL6QC|-fk8!B=71)hT{8t>NyrRnPYKla<C!<^T0bw%RWD7joctNI~
zR0AY86p2uHXU|J|!-U;xM135^;zNrEQ7Wfa<MlUeGWCj4CpTNNl0<9Sw6w4kF#5Pg
zg%JtOn-Mi>Yn^T_nrMwZyoc!Whht*TF<!3L&z3L}G@AD$&5ranQE`S@<k*9XjPOG)
z;*tsx{{YTbQl^#Rw*<K(mkl5<0<=cjd7IJeY&+U~r%&ITr!(?;M(`{~a<u5(GSE2y
z7S#m%=N#N^q9g%T?lkhEI;FQ%ewgFe<hqHY_%#eEwU;=yF_c)rt7cSzhhsFJYC91E
zLd5?72^FwyOS3T^X&E+=#a`y!5mrQzjW?QN8E$)2&MNK|TP4~|YPvIXXExM%U~zb~
z;Joi`MbmOK0MWSlARC~KIIG(#$MF3#)|>!g*FuphZiO-5qo-<22(C>TjVw|zX|;8x
z!S}%%1?;x2_CewfBhX67^SQ04wY-8BIpj6Yy(qY1bEN5(6Qh|TYF29w+4ke)dWB~K
zzPy-Wh*gg8i`ky<aHNxn+bBY42i@QRh@i;I(z?vg7S-E2i>&UdHgR>5elYzlj#VBu
zK`FT%=>l)Xenfb873{SkxX3XdXydx$sz~BALDbz6!Jj88^y1>#iFHY*i5%m~u#0gn
z{@zWzyEAMSbBahp%v3=*<G>|6DyZ@b5ScX%tlJxjgE=21r-xZs!_`&ymX2CFEC_^z
zj`|xtq?{n<W<(a<?Mf7of@vZs?F6qa%+?<tRcu*J3-sFjm6niUvU50>8j+{<+3q=?
zeklB`mkLa2%0Res6NeO<ms=s%W7<h_D{jU)QRFB%kzu~3$%r^vht{{M_UUq#wC^s!
z@rP*V+ywdgJgpuaXCi?-#fF@S>|s@MKR2X)W3DN>sL^p!6HV{^ar(W{4@J0*o+!-y
zK(y4C>I&CNGI5}lUHBW397V5LpNTff%W;nDt)#XDl0-u6JlgR@T>k*+?&7c32A1kq
zrvCt4Ga9JOot+ZTPVVfK*}c9uYn^svr=&>ynGE)n<$uluHyYyDDQ&R*J|;r(G^4s~
zElct6RboT&5RlWRw?EgHH14>{^>ZkbKTb6R2$7NMMFBfSeB%-zMT2)~7*E<vC!SO%
zXR`uJq1Z$RUqoaH6kK((qtb0(g{b=LPl@Rds2kh@E0~3G%e9N84@h=ohJh8h)los9
zl7eDSGAKI<G;cJ9t$hh)Z>acO-C(K5y-DHCUo7&D+`H?^QfN*L_)Re#Y=@c;3GB%j
z=%P%J?rX@HN4HvUQ(9G!dO`I=MXt3F>|eI5yKfuJqULbqg*UYbp#67X<GkyF+sz}6
zJ+rB^WG#@m{{Xn#Vb5p+8ePKFr7Nk{qTU=9JZuy)6JT}gkJ%h$*3mTMSh8E`gO3g_
z@EtrXT2_>|MIyS!RCQ`ir{OW$RZe_BNy6?B3$2ildEY!+=f0LD>V&ULkfP{R3_kMJ
z;;_xEbRecnqhX{FaEeTbt(loBg7a-vz(wV_pzg0<Q@V!UfZNB^gwfjZb3K6LGcoC{
zMJo9A47ALa?3-XnTYb)NILIKdNKuT1!)(<N19U4i*Y93B;~ziQY=PX%7t`s`r`urB
zIWZmBZAuu=do~;3%DWG|FS@8i`HMi_&XcH}EwF(ImEZ=nQ0cb;rEBHMIkLD+Ln~Kl
zx2fo!D(5lOYzNZUr+JiG12ZbiE9f%W^$l6wUplNtm0*amWIs;xLHKyS!pH=a*@~&R
z;E=iXZRmQl)bFM27V`_!s;Zn{B+XfiCneMiHFfJMdL?1-NRXH|`!T1oVBxxtI9%3b
zVonIVf$o6%BGPX~dTlFP^^R>WS7%#XHI^AO^)4|{NfE}@B%^8rBr;tYCPsxZ*0)z4
z5<x^K9TJLvUz%}Q>EdPf52h8@`8=kcy2t7g0=-F##Ym65itT{6?Fw8d-KBA{AaKq=
z$4?@pvp#mq0ga3<X?4lm>qE#N0m(D7bW-Ncl!0##^TeTiS4d=Nq^vI=!}P_RgFMQ!
z8z->bKEh+Ffci4=Et0Fs_`c8313C7^l5raVC2<Ikqx~kr8q=vMi)mezeoZoplZCyr
za+R1FM3k7~Pi8+o(mR0v0Mg8rBW=|K6;u>N1&&oB>prK7&CW%CsF}sZy)Avs<*N_Z
zu0)MVSDLD%C}f2ZsEr{#DbPbFBsvN}qASNsVD$2>FJxI|nYCZM#@m-f>^kaDfnO9^
zbU>J4;`01vPk8?Tn5DbTI-=q4#6j}CkF1>f@Y_!t>E_1Qj^*^fTlJw>_tid{R%*UZ
z85TED?pm(Bk0xy`v>`_U=C?m%A}hR*Ty<Bps9UsXrl?9Ns)oL-v+S?Zc6@bM_oW<4
z#~p`T7S;Fkz?+Yg(SVTtU5DYuPIj8un^KGl*f+zH8)!_fgvc(aH0mARqPiz(YN8O~
zM6aCFGOJ)2cU9$iSvL_4!F1abLP0`Q6i!NsgLTU+(y6)SR-x%GIc<mCR9uvaGA%6}
zohA3t08Vb?NRRVD;#(t1zBzN{;^r~`08n#9EYa5CN!vF72(8KLmemYrI?0(Is5-A#
znm_z%bn7F>X5!@rZklTy{K(`K+qiF3PB;yTNKjQJZS-xY)VOSfTk_TZp1n+ZcJ-Nq
z;=1pnwWm8BrpH==7f&%aJ)M<Q=+8)>GOS_?jKyVLVW2YKjA!DqUDe%Dq{AAolKMu>
zLhAF^SEeXA6`n%d%|z6U3L-+XsRztEQrwOT+ix3u(E!v8mu;1mO_!oSLmrx|y#-@e
z9<Y52>waJAM;N=diAk90&J9e=WlBYKjnlJ^PMn9N0EsIswA*GbFCyKdBrl%EVR2th
zp6%}5^(*QjlMVGe7$DKYloTHS0JXm|3vAYAB~@UK+a-kP@PFZU5eU{}P!!~=uGzBd
zZm2xWXwUcFn(q|l8OZHy*CbHAMTb<*5no-cT9cAzX{S-)NvynA9BrYG5<{|9$=b^H
ziagUe>nvlqNb^s(?|bL;a_OgIpJ|NUE@xPDqBRt#T9-H){B8QT$;^f*ILvtMFSsQ&
zb<#0pAc_Gbm)>l|8i@HCx!=U@F{Q)m>mxa6&E>9Nf@&4B#8V%mSZ_scBQFB?;;U+p
zHZ3m9yxeyPSyoqdbYx5^&%@KJ-DJyHokt|zr(nL3oXGO6DU#cG&82PhJK2pqZ@|WK
zNaqx!*D}OsWIQf7E_>!#*$ym3R)qlxMLLUxX`Z8LuBQ&MXf7poC6Ls_kp_-NTI;0!
zYYilM>|KkJfvK&u%7QkmvQB|Rj&1CXx(lLSZ%nd==C`N$#8>P=sLh%|zl{YuD$F@f
zFwK|dt#O+K!-Nn~whh2^yML%U=Z(b9YB8wR^twBpH5Ofi6C}+E5#_lmv{XpOIXWjU
zY^00A3%pgR=1<68@Q?~6@k<*aEpV;(_V`o0&SeA|Sx~v88I}*Fc9od3)2U!tMNe&Y
zSnN4LRb4cRnbI6#VUf>yIiBtqsXDEH%|Q_qt<wmW1zjf`!;ep?aoIUgBUCKq5oj8L
zWXiVDOkukCAsxUWG!;Tu-UU(-B~&5klTk3*E6sn&;AEL)#pXSV)V#%m4@U-=*d1Y(
z;w+xqK@G%_?pSJfaa2vCb=Mm3ghc)c8csK>xGhDbd_E3R%MQ{rFBz8-94n_%CmH4d
zt%$aS!>_pct4+4?w&=S0KI-(jW{Ko+G&*TgKQ&&7uLAmW<^C+?lItFp`hvK-m5W{1
zMV}*3Td>OW&%&d-CM|FpgN<YIWJZb*-)P!SGUp;b>2YzFK7`%fFCnGWirR<adVRgt
zY-TlRy9S3Or}tS443nGz(UCEk={cv|Ymrz=l#Hqe(xJf<u9$AFYF-^*CsWzgJXOaR
z4}l%*XsZow7<KmKw$nBbwHyf=S&-GSF4KaJy&WC_ZCAM-?*r8>Xu7AJsX5di!*Upa
zRXD9QXzzY0Fj2VDP3s9w_nl<{<!Gg##8wbRwptM-*)N5q`AsMX6T;(fVkoI>&&zMJ
z9<8Rb)XW{taH-MFCemCIY**3y(8b!7kW+&MEfgu!tQmSMeaC?Jj>K^%7BgblD7uT#
z)@SLSlhj=XD_f+qv+S=AjLX0Lp_0jvahzzlKPE*rM3wHwVb|h=fb-6@;<(v1&<L1{
zv9EB7-AB}1YZ22e6t;r{6rUk)7`DBaBA#%;MnEf~!v#@bW4iN32w<lB!Ns#aB5FsK
zWVBZLeUXlBsF>qetCHo%gGYS`n__&#<naC?@HBE=kejNvT^uAh1YelquFVMtvI;%E
zpB1^+YoM#;G_864w)0d~M?w{^>DHU##i!Kp?_9oPI)`T>5w#XmXpGH|A+?g#g@}M6
z^EW#T2>_Bl@o?(Ke7L$*joihpuE!~=);K0W)}U&|o;NXB;kcco)>#?W?zzcKP>BbL
znh5XojQp1p&F(F$Vq&$hO2SoBGa)~Z;`VhjM5HsqOhlCA##w~ZAgpgFm>CR#@<v5b
z0YSBMBGZjCql=N}SXE}AUPhylZKt@+#U%TTO1zr<pfZ;1v4-RB$rEWT=Nqn@h7F*!
zuAnO3TJu(dYqkArw~FjR?Kw(b<Q}c+-z%wlCxGb2GmMQn*IsHSo8zY~_|@XPB+UYp
zNhWJ-bM8O+ZM?C9L%_V7UY7O#oV6|7?VU8Mp^0IdSJ<}sM5L1`__7*P_c0_f#g$i}
zKOA3-vrmgm$chdr2uU5-m<5)&dW_Cy!q+V7J{1Bq0dp^rdq)xiV#eEoti^`OAU74|
zX<v;gkN^ZQWy4ZlW^ddwR+8a*WX(33V@XGfP&Fl796lQpk|b82Qg7T7lH$rvBgM|i
z_FHWURj?)Ux5+HH7UhoGR+saw1$-!{42u#;c&!emgWGB(qh6eJ=RvgY@;^LA>rrGk
zJX>PpAv*BHAiQ6h60$6)(c6~dA{wNCS2(KiWf3=0&CP-bfNyQnb>-v6+wO_e`_<N_
zv1v^bqfPxsNxZ~n1afa2?cJ~>Xez$x8n8E7CXZl1R$b$;qM)ymR1|eIBraQ*$Ccmx
zI^6nGW$X*&B$9Ws#QKxj+lDky0Igur-egsBqhWb$I{P1JNZS^|*fY&IsFN=7Ros<0
zn@=wl-4zUWUZgdS>J^iM-YbV9%5o{OA`It9TZ3W)Da2*d;)u^Cn`L)D8#*hxCd#$Y
zoi?2pnb=7`WZ(Pm{{H~m=cY^VO4i7fboAB}n#-fbegt%GOjxk&8W!7FaikKPCg=e&
z;VGNl&Bz*MM1L%;o$rhS1-=yUc5fsdQ0TWRmeeE0hbxcc&((4y;^PvVW!HhT-F{3M
zH5E<w`d8qQdey$0eL@axca33qgY7Yq-pZ9_lw^)Rk-^eV;l82Bm9ah%*dckOXn>ed
zB-@hplq&DC9XqOhEpc0Ww(lwu%z`~!R~&jfO036l#W@QC$|`ov6{$@*$Q(rlUC5zA
zT(2~rOQw}R=2e}9dpcC0hVoX(k2)hN+P5L+O<Hx=+meqmNCMNq{>ieI&|;&H5&(aZ
zR$<=kKY6}m&1`FXZ9c>pV;7;bx45!{Yk4u6Tt5?TS}_!(xjGvt>uv$eVj7@<y3w0m
z#B5PO(0W?mty8&nF@0-O{MNH0L$#^1tF3kU7b7*dUy>;fK{k!c9@8WZgQ2^vHsL13
z=(sPZy19lIr;KYf#xJRv%BtlnvT9{D*|Ccp-QA}XkgvFH9AZ>=6_aS%R4^kjRSuh#
zHLWc)yyA11)owd?hy~I!Nc@=)tE@)GRJSFRX8!>CoyzwKrp>}IM;e#_YGBtMzIKNS
zNhY9@I9ICKYm?iX3J?LJPGp*Wje4ln5Lpxnj>*VoF?nZ{ql+SvvWC6I<qX<a4UupX
z43=A8&>USZP6LR7*2m&Vv!cr~TWogH6Xx3s8rDl>_v1%6#$#+Y@ivI_VG$9%`6lKr
za6<5%Q(0iSzEI{@gz7#e35zRRx2mAQ_bgeSO$vNRZW2MZ<EG0pRx}4uutYXSTSTIW
z-_)TNmG<puE<K7#%45`0<5e-Otj?}17T&qAa$5k$ZW9vR240`PX_NwMd0d?XE+o>w
zwCxB1))edE0gSL3i<++3^)5+QkK~#=nyg!Ddz<OC^J^ztwESkqK`5du$60$}Xvs;p
z#09}YY*A2|16Y|=Hmc>gDOzaDZsyreIh8i%K`e1ukm>9lhU1|8vwPe$a%L+erV^2W
zc1LfUYq^-6PDP68ZaJ6G-rAh=VpQsUYf|$&7?MJDn{(r<O<DHTSGe>UOh<87X5VS`
z0VQ#lkcxf@b9j200>3BI$QOw|1pIp3@XS^ew;8aA@Qk-4xaya^seMhE(aD4-Mae}R
zh!5t8C5%a#y3+PR6jBKL+AqN`3eM@;^!1^3*cL38^lskiYSp&Q?Jjze&$|6h$XGb0
z^O4mZM_PF~KEVuzT4m-O6tB{+PxjjC``PXOD*h3SWf;@AjfS7&Z$BzrV}^v&wTlpy
z_I<-9rwGB(Y&%WFAQN86jm1mWvogz{N1CH`XNoOuPfS`*s;|`>H#pVvt@diCOaA~4
z!>&b^`)<M~o$}m<WI=V;8<5KN%OT6~DV6pfr8A5|e0p5FE@Kt-AB$m`Jc`FDGI%bt
z5x0SqSAo_Dg_oO_;xOvPb-&FdB?QM~$e4|5=6dUb+mViT6grgf(Ok=+iaIQrUMcwA
zD}rMA1e*Ov#_d=KWCYMsZI-Q?-KS<U;Jxo-FkrFOl5G*bWTL;cst!1~qT)JvO<vtd
zSVex?iynNRdd^$ShSm~WcpPdCRJPe|#C^t*UjhJWg%Kh^ty#k9G~ZVYu`f<{5-cy9
zm54iEYnGf?j?I?ihR8@)nRD4lis>-xFMEb%va=oVO`7#17WBPK{P^~q=MLCZwPg{7
zV@9c6aoc;utc2^X!*(e)ke!p<IfRV7jUjGwTaH_)EzNtf6C<cK9LL=A+mg(CK_e(6
z=y?@O>Q~d%)U4i@FSWL%tDeNDl5(n+k=sa6Ejc)GTNQK~P=MnCQCoDM;-;boi@xKS
z^88~y)NNeJaGhw@+Q?M+Mn^uui~RD^VnnMGd4iJT5M#LKWLrrPT6v{;4Hdrc%DKm9
zXZaq9<T^WDk70UykX7PQqXt2MSHhK9R}GkLDkY3q>1iPby4jcA+16k0OMOYQWaG8E
zhB?-aE7WX$+3jG!z;aAxWkm1gJypEO-K3K#Tt_=%t~iXJyNpZ(N1BxEk$u1rQrW~J
zrwfZRv<<~+*IvbRVc8qVaiBE1-I$N8y*<Hb>a(}~Kk2{V@#|c6k0-~gZemKA9x|Dm
z^~&=G+=5dzR25x>onB5VA0-N=)SYP3En=7I4@q?jVc|K|cjC7-F*D0~xPDC?@I{iz
z%bmNl7HsSy5*<{IrYh5d(?p~SZ%TJ;RQgM=^!F!K?rN+kq1f5#TuUeuo0XI+v6__`
zsIS-=GSd!4b+B=Saiv}gK+nM`9-mNLW12CJV>At(8E=SX&n=DIXKNx&ZZy<Vb&CZv
zN6F3Oqir)OgI7jMiK|VZk}232<cvMygqj<Z%xlbhuYW37CvzBT28MuCbWqkCs4)FM
z=6a)H=}ovzWBQ+MJ^9oZbx|!SFTLQ%2+-xANkFTb#gG(tQB{`BorIC_0C8Osp?ass
z@Hkqzap_wt&o8U#%oiw;kkX@7jrN6!HFa=Bmj;###0V(MUkD#d+*~D9MycZZqaDM^
z@Dog1DRUiaMa&tQYz7bA)uWpWmB|oTj3&cPxYD}pp?#)EIIrqWC#Aa6r@5w}!qBZ$
z^uXQ|sI{cqnP#PF{D#=Zr5mu3)Uh~iD#Mh|aGH+r5IAB|TV4szh>Vf85Z5v=P3y+o
zw;mPnOcI<;L!V#;FZbi)>Jdhn<9V#Qd<MGX9h0WbGf=k{Pg%{9__Pd&jMI+fLuxWd
z6gEk>-E3p0HwCtnn~p68fn?fOG98vJnCNafEw9EQB3}+@<ViAYRUD4oPQW9~HtI0*
zp4dRRDI>sw+O~#PnESX+p2259am<Gfr<mmD<W)jEjmIQ639jqX>|7yvxY6MNy(^4&
z+a)n^rd(x~&{L|6cG~9?rp0n97N+HuGbhK5WfUHeHcZHh2PPPxutyXD$CfxF%<*NX
z83Sxw1tsYX%^-74uWdoyCFQJeb8qR(Z4(kT9U4iluf2gGf;JI|5bP_3_Pg8(#C7u)
z&LFtc0thGC6WGs)mn2jenClcc&8~Z<OI4Gj{{9_%IQ?UghJ285s8dGPbntobSf(Z_
zt#a-*B&dp;?m0;tCdV|!(;*CYTa-?@PZ|XbJNYwZ#gNz=Qdrt>G>$liZ@AhzvB?lb
zyW%1urjj0;ZG7fUf$F=gRHO-xN3Mq%w-w@y%Shw0#j`YMnQaGk<N`>1SIdHGSzPm4
z*$FKHLAI`iSxkC&eL9vkg^i4c<26GtC6#mWBZ9chR-AQJwN`r%Dzc*RuI63E-~-O2
zF)EBivRt;LVOPjzx?IaBaGY*bd9s`#QAXT!iX7L~L`0ZIOx4zndqzC^{fgaQ0}HCt
zsHaJe%=*`za<*u<INEK}Su<H-#8GSlBc|a+LLpX@VpT#DE>l{osl=Y8fq3+1>TXbu
z%F;?tI<s~2Hr`R~o01$fX&RCZad10ofC3zPCjv=fKnSREg+Z0ippj*KxV^?dgNndn
zCB|2mJ$E4DGSJ92<b*|WD`vAT!bd^Tlnyi8Z@M2+^h*Xj+YFWI8b5%g#5zJ|JzKPq
z-<o_KaYi)O5s;1v`OYCD!ugis-y|L?i5myI)qGzpbllG)$&WGUGN#D3jU|b`@vp7H
zb--Biq%h$rqfz@VM(nt*zUdGObx&PIFDt{Xr%>X<F4_3X7J*T7J}OCd*8~~=00z_S
z18z9kAV0fpIO?wGXq-({#>mh^eb4#wp69XTR8zx}=VeiZ+v@b2FXX3JG{&l5n(Vvz
zjm)v6akWAh)vn~RXjP?AISx2Gh>9nDSw$b&b#@U;Ltld1QB#|<GVjFW*yK`PZkdS@
zTq#XP5;p$;DG1NF11S-c<k^Fpwj!T0ShN{tRMb4cr`}scq>)z*+bC0(IyACcjAuC^
z3O6=WGJCO+<9S7<xB50SKBeQsk28LnYE!Syd{tO%%WMJ1rvzmu<AW~6c0@&NOXzK1
z{{WbXzzP$ah_!{}P}roB&}tHgS_jh(aes?dv7YH~;O;|XD9U3%$A$Qm@r~9UZ628#
z11zHsIsi@GBWkLo>|-%SY2LnQem|G$DrZ<en7e?PH>j4)SGINXrNf@g$3^9gFxANH
zJrjM!6{lq~sHCXSI7P{;mf+N$r7=pKHqNl@iMkcHfc@4nBPx+h7EJ=HF&ug^k%XoN
z&#eGW0bkqb`b;{h)9ogW>G7Lcc)pqCwe0D{7e;j*21V@KuwbOSI!%l!x8xgfiM~%O
zjU)USUTP>J_=53|bTO7z{#tPNR7mLMqk!`J`ytq#r7-EQ=U8?-CFprJm+B4HHEomF
zQ;<fPjme7i$P7HLAVr34JWet&-2npjE`n~nkbv)X4@n=R!t#4G!rgcIf}bR}qf14N
zBOxZCJNN}dj>KWd7;-#=ku;(px~@E}_Q^Kl4B9Or^!Kc~8FQ&Vj&$;eEPFZ08>Y<d
zCB?Fj?dQdqvKfzS3Ot@bN^f&Vfz?tcMaKJ$5{hAsQ1t<yQZ3dJUZ4K};gl==Qv3%v
za5XXMYB@75GSl&%t!QJ(HjRf&TOd*|Y<sjqUF9xBaPEjO>s`q7@;BtD5aJ&>k}*I4
zub&R8w-yta<qzb!_Gw{~%CiTmE8Ti4D_qow83Sy(hXu2EmQgAK@@hndLJ&ULuOZz-
z@3ObY5wOj0$rThie2krm-OCy_ERJ-xm?z(ZEFlZ0IwR5hvG^Gyv3ug`{VB*|X>A#<
zmqgPb)I3WqkpgeG$*AV$4N=#@bzCMzl7%@NoPXh3j0@dX$bppLZho$*Yo5X{^0<0m
zrWw5!O=)u~Obfh^8;bP0JZ=nzk{f3+lK=}xTp~dTqy|VRC){~<9<*8`Fc2zw-D5e=
zZXi0;2g~+|vR_UbBddB(r=F>O9V=9f`-tyE$0xe{*QCn#LcfHIgWPqw5#%ATA}FAZ
zuW(fxR8?%|S#E-9rLIF^o=CaLFR@a)zsj#D@D`kbkEs52s<JOS%a-m7GNXx@8ny_H
zsv?SZlBf87<63oNpmlh6;#L;dcpbu3U$<LMtR+Q*O)9fzA?Z9_R~~6Q5nWc9lG92}
zI6RtC7EEl<0l%4^W;)ZR6&JGc#;OI^>MIUg4b!}crqp)cHp{laFzlB^g;hoMG*@>)
zT+Bux?_h3XLu=!DetHW*kg<|x$|`S7t#q2m{ZbQhCs|;6c(Jius<xb&xD1jMs14DZ
zuA@_ImB(1_O>v%lYZS%4EuuURt82PC4n?PWc;<EL2U#?#P3*R4$#eOmT`Ej!?0#IS
z5n^16B_NrUVLgEN(b+_8p+s2XiVio`wzui*uTJ^g>=Qf8v3nb2$Ry6nXf7+9RI7y!
z$%xTptY(R*&LoPtbF2brwl5R$$d~EnJzx4a^o@BZQt0&q)CQKE++H3#k>gg-E@QCu
zeUtIzC4ASG1c6c@S1Ie}3w((P<QWQ)il;{DSQthf-Q&Lz&`*mD8~*@F$9LbsY&{#Z
z$y<R}jl18JfrvqG-my+K-<;1FuLM}Y&^$~SpuP^4=m`1>a@|v@dXpbgX<lbGr2Ha9
zogt&J>ts#sr1*`Ke*PzL;+aP7MD8=(;)L3$8IlUF_76+PYXU0L6h`C6fHmXAvu#Q{
zg4<27*|za)JbPP+q7WzP9~&Us`7BH##~sOUHSUieoeEeve^(6_xr=s0dvgg&K@-gr
zB0%7YDJJZTgrYs+8Jy!o%?PGp;-Fb+W{+Mz=A%T<F0hP?Fr*mRj-j(nUT<SgtHw-(
zm(Yw%kq@%#isGy7stGuW#a2ccGHsrsSJURd$~L!^rp*oQB$tiG@<MP8$ZWWeFw!vL
zk9^`wMdFXE(MyV+-Ad2#-9N`;-`7SwV$kE6xh4cyE;da+AYBIm$noDKjQF7`xUDih
z!8A2Q`d6w83|6ks+iA{SK7}j~9U8~yR9VWIE#PdUD>4u1al$z6w;9%6B|}$Q6;;^}
zVk~r#9IifnaNFSkb6F@30^AYmS}0^SP;}b;`@3pt7jCeIY&Taj{8R{H*wD)b*-pv<
zZUSVe>M1eYUMl{<&Rt^AlA4bc(@NaEE$!Soi=1NaM7WS;y3rIimNVP$7D6&nTzR4)
z0GB{$zl`A+m?9CMQW|?T%J0gJ_nKVNZ3B01%B!2~X4YiwHgVSSpkH7`z_e|rBEATm
zS&{;Tgfcmh+?_Yaax5Siy~w6A-g*fZyD+hs#BfVDBp0_=h9Vmf0p%u}UePquucP2S
zr%5`O3<xAhX->U9{FQi@gF?YxzJAKRGR%iZZt-0p(_Gp`HYJ-$O8F&AMFtGqelz@}
z)MQbdiaR<G=O^LTQRH(DWQIZlTNrj->jPGFb2o)928U#`s~Na@U5=LH^l&3eux?wa
z5_1itR37A(r#3P+B|?`LSc!@v3WWVpy34YS7RcMpVAx^uU5=4ouz@kTG?f`2zZlaE
zUwj-W;0`qGmy$yYCi3?Ic^L0<7PGQ@NV!H!dm^VLN;YTZ84Rkkk5!XLV~ZnfwiWHT
z*~lgYqRVAnZM06?#!c`|tb!IsYDQpdQ_qO}{#4RV=l4a6X>KEWtK62;K{G8m{8EEb
z;Zd<seBCBb4>`xr-ed5rTtcsnIxTy`90BK9Ww{TL!*!_*nyZA;ZlCoV=`xM#7GN<{
zaBuPZSFI{9t=nK57UUs9ksX&iis!H{CEiDNAaS-F7MKEeouk;^m0v=OeU;Cvi&t+`
zYaU!6!*8!7PKP1!eA;!$5u0vJa(yo&NQ{d{pj^2L5qre1D6q*h>-0xVGpo9?SS1>}
zCWw?2E=e~H3S?^MLQIIS8-oxeN>@;ObJ>zYNDlSLi}3PTlS5rT>yK+O45$I8$Lx`M
z7o1<=ba1V7hfb~*!v(sQj$_eiTaPjMP~LgfsFGdsQikM7lOzf#x@e-LBgFh@zfjo=
z8NMGkQgq)lxUq$ErU`#bCdSHnK!X|R{nnTUV?sD!3g0IjS+5zH?ya^89J*ZVde+}q
zf5!}K8^~)iItU%?&W|CxW<AT;^G}Ma;?yW^wPumiyglaLb=H7MA0!?iv#T`|3e5dJ
zS?R?ex~Rt}r%tWM;>egpe}P$c=0=qq5W+Ned+o|#mC^@VZLnzx6qA;di)VXgXrZn6
zsG1Bca~y3;CTFEgfhOvOz%vA*#g~f1x{m^EDDehuG_9SDC8lGzN7`;$&uLLW4|(Q@
zDu6v$=;h0Jq)d9f70HkX7rDpLMWgN%ymm>s9F$$+ebcXfz+PyCs={ubdK=SQnK-3R
zAL;@{NWYGjUUc^N%w!C_#dSVHEu^Lp!;s5rCPpn7q7WQ#mhQrUs-0ivmk_jzCeAWB
z)7ga96{)m2<gk=d)%T#uX^0aAr9GN9#l(4)Kq60|!NDgu8pa=2xvmttuP6N4=9=5D
zx^LClL$I%lbzJhg#F&lCifsa)ai<$cTO<+kdx;{VCzbe5E7A{4!UayG>h7CXMYnPE
z!5Ez;9fW5giL0$6OU66sjyK77`pABzCEa#GRB7o3JoX`lS!opM%}HD@BeKVvQb$OF
z2t2PtZNw51H3+g<X%q`$Mp00aRd!oqxYR6P*7WN3sXq*tcciK<$~<Xd`-suyDsWc&
zow!aSuh68g_W=nUUg9AuF#Xp!4aI%JOwAQ-IQ^3kLh{heG$#(q+HOn5Cme<jo9XqD
zw%Rggs=p|t+Lt8xMc?nyaH#^S@<siZ=Y9H2`VPKw^V5tvC&<anV&X+%b8yI)aBe~(
zp`sA|PdJE*s)&i<RW|9yJh^_2kr&3_bpF4$Lo;&B;mvjzW{Ibg_0M!tRsPG@GgA~)
z6h+_Tl6YU={+)W}ywk!i{d4Z7=q72umGX)I0H;b!UscVQa9#ZM;pY_>m-)B(MDhJP
z{EOQyzMd*5yYgN4`~Lt=ypbYrv7)B?@AADE1SPMc=py|-Q~v;7zBuX@;yWkP=Vaf{
zTusC+!94x<McGw%{kr^)3Xa=si~FZtUSCMuQZ0=YKV;v2zN4f;^W$%~T#3fil!Zs<
z;X34GgY}P(^!~p+d2rcCRR<SjRNMAX+pmW3p=_d``>)v(s4-%kc~8CXWH>ThLKYr*
z6dB?OJX;-;fUe3*zWb7@`1tFfIl*@oUC}-~eE$IL*GlzmRVc`WQ8|wL{Hl2CgejH|
z&6LcVj?8A15;VVX1@2IXa#RHJ+6w(U7nS)>9eyJ|E3l&Mo(F!ts*&sjNy$@X@#p>e
z;_x+H8!gC}bMT0qf6Bi<f8VN`>p73s*vG8IrCB=^*a=XDmdMSQi(q^Z)j)&67RRzL
zXw&W0qiE}hqT3{7i}h@sR%JSQr<pu+yUl9chc>medJUy}rxtJ!s;V}Rw!F|0exyzg
zY^uCNbyQLoH6eJnFrq?Ey`jgoG_hL?>UlPJ)$OE;c#l@JZomg5las7Lr#^#wX)xPp
z$wi<eR5fi>O*ED>WAA9$hV9YKdN8MT=`OmDny8BNb*G4pqWYKo#wwdAnJ1o-SRN&&
z75=0rXE<JN-Q~7g%f}NRab;D{h~ggyMmx4FG}LD#kpyx^%oX;B>ICHCtJ1on4mQEn
z*VH5tLQ?i=EFK8^{Yu*^3PRIpO23xcqiDPADe>25k+Kj5-DtTKW;>tK?mV|NF%%S3
zMA)}gPwV@2>viP2s;2&Y{B__A6LmuV$=BsZ#FX~(yYz(8Lj3YLFE1e!4n7x}@<RKf
zr@|)RbYH(-evO1xc2zBt&(Hhy3Vr-&Hep*JR6#3bPM0lY2n1%@<KVaQs#~vw`wFjK
z67IIbQdFIbF_|Zos|k_|h(%}_@5mzXyDM?mnxSz-QWRB1ExPRpxeJ+r(RHu2i*Xsb
z(YdP*5q2CfQ0@vUk0eD+_^#d;;ZtQ#3)FC+dAy=s)df_Ews+wU5k+Yc0mEm!jk@Bm
z=n)4E4A=avq9SgHi&>ItEdvv4@q8HR7&d{0llYw9ZxWsYxPp(#;;Lvwgoq7~l`Z*k
zMDq_F%sr$#8!RFl_P38!BT({r%!+e%PU$7VZB?=WVU%r=U=a~MvLjC<U2q^&YKJpP
zp(vH$bivEZM2_4#^?iu5-EBaR^rV*nOUN_02>J3#8|;WEt5)@<K>SGu5UQA$6^1*p
z?45L4k0M-jdLst&KxjySY`XKJoJAfGA1l9I<5OPhmE1~7a+fO^jb5>tfsVV~of%s0
ziFX`$g|a6JRa_@s;>ik%Z?~A1YlcFeR8$(;?Y)f2Z?!TN7DCOm#vFAQ^PO0&0`8lG
zZUZIAQ3Su`wxWP#3?ZjfSqp_misp+Np@nl%Q#QdRj1v4x*6LG>DVJr$X+hVUWDL6v
zET)B8XN!QKo2m+uD$R*ZlZF#F*xI(Qz;?#w*@*<%Ni}RA_HVK#4n`fEY!CqyfKWFf
zQccC_o53pb=;1B-@nqP0@*4}A=3bR0VjFVgNA3Y6c!CZB7_uJWz*Qx4fNil&wlRU+
zSAQ^4;;|<_>@C}vmy%{Q(4wJ}X6tSXd$wSRswAV#1r)_a5fbB>!&KnX(XjRWB^FlR
zKal0v?Y>q?Vqtq*bBaei!?3mP`)7hfjiIU>fmI|IBPpkS#Sl%@RTgce+*ZR5w8rsm
zFBZ-{)MR`jOOmTHcf4)EG;rIFs*Q*MBd98ED<%qLsk)!iPKPWfWBA@8PRoUE>qluO
z$fHG-6_Pf=u_jx4-9A8@sI$z6whDY4MNX-1a*a!*#AH2ZlvzuYQIE+cJ(ZW?kJ_AQ
zPcLElY&MU9ka19T9Tj+<Q6_+sZk+d*4(QX-PS)krt0yREwBq7fmSYN@<<NdixU>?b
zekm|e1tXcd1mAHtUJCS{Euxts60g#MSN9HE=dyJ4*5ZAeB@%VbLZoPf)nnl6bDJ4F
zRl7wOn?-REc#h@8OSivWYA$S~z{l98#jBaFcPE)l%P|LduT40QJrUO$+jksJ$hP!?
z7lqWA=_;bKsv{adr*Go9q@66hb+S0O7xit>x~C=q5x*YlIk(wyha!nboI;4xoOcsK
z1LTTD5iF~mYFDHgfDIN?uIRDox`#n^E;zAiYbax6mC$Jz7FTg;A~dZ?-?rl}`*+dO
zQZ*BCwGwU3lkH_>>=RGg$1)w>tAzE$XPJdqvST8~amg(df6`*}PWF_D3_u7(L$|Ra
z*5H|h{Oe9?GCS#$Wy?6P$zvUXJy51X?#Pc}8K#av^Krh@PYASvW5G>1D(}-C=Kcmj
zo77CgBTJCevL8!qj+v#feWyKxjIgsL6_dT;KhfPpibCeg$qVUMO7}8A%2)K1#^z~o
zG(y=<J6_v)Oso64%GH+<$IbJk2~2h(w;s$%6kQJ3GQvLRY)QdD7ZeCpmEEC=zh85y
zl~v47l5WngiE&wAwht0ZiY@l{No~k<n{B~3?zBWMfozJZhC*bdr_bzg{K1@?9hk(y
zu%?M-SFA*KNJY1&amdcMES5V?D4a7ETqJCb6&zCo5+W)3WEkc@dtIb@KZQAUjbS&h
z+2HZ&r^aGNB?4PdE7cO@%>rziZ5%&t(`(FH2GfuTCeq8>y0-4oQwf4F2mY#xeNWwF
zS#4C@HvT2F<}BY@cwFrrDDARt0=Vp_9|VqV8HV6av&BKDL=7C`1yiSZeYToGN}Qf+
zu-aLU5ly!*VCAHlWwU#W=#rdQL^lybj;=P?@{S;#)ja<IgLwq(!OdQukz+Vy401Q%
zpt#*a*-fs0+zV0S#1~vR{_(+98dpue_>mJ}D2v=m?@(1(PK!M&Td>Rv++;O%R+siD
zOYh~$We|`9zbBKU^|vX(YB>TrFx3>4OjRT8+CYVd-+vvts-!~e%<X>2!%w2yT3p*w
zTS#_}r`Xp<Vih!CV#K@=7)K_J!Vx{l5daxPP53VAt_u>69?5I(Qy7C=9=<Fn+-oo@
zhrz16YCEgVXIjccB9}eQxr<=FH(mL1C&?X$>bf(Q*;vT2pO4l{r;B@EJ0r0c!m+2E
zaTZyLxQOCCBeo*Zx{bCii$%wps<deGyZp8g;rJG-QDc>i$uMrW4ZLp3=1iUWy!82L
zyC7$=DfWcX7j*6~6hw;{$xNV|b=T*O*ePQX5!YQ%rDnJ2-Wywr<vN+^vMqk5QDYO{
zosr>KyN$a(p24tA<B%Ig;~*4N$ywZ8ZBUVda7g1CQLF7b&a~!5wNxq9`0WGF)aLO+
zoo&t=??7G$$)s)G)E9wU*yHZPb45@dBI8dh%{VPl)X~+g7^1PL&8Qvr)AQ7qDw@?m
zJfs^KX&tq-g6QsijMe7$LIrQapth)JMdW<$F1fd;R&<$LV<H|unAG8f;yYfh3!j8r
zLs8kpZPRfWmMxgL!-NhBaYI}1lNOL3YkhU~rrhaXMMsN;j;Uj5twx=C)4?Y)oj9n$
zZ5(STVkL}5YimiSGAdaLq4}m{ii*iQ8cMqB%H7hv!3|p3vl1S-!_q9;##TBs*=r8i
z!nK?Wj84XibC|546*HXEj!O2@W2|Xyep0&2rY^eUYs^$SI<>@S{uNmY3Bw0ju9F&y
z+Z_pVDeMs50)9MIVpHPdj}piiA~+xjttWA&#F5U0?Co(}J|0c25_4+{n(RXqfH=Xx
zv?l7N&ULogIB108xDKlw;y9*gZIp36{{ZDkJyuKFGz#4C8tk$=Jg+ve=jOXnX4kT4
zZly%k#ET)SM2~0fu}CoIHFE5AHv9EzpIf}6x-Alj{S6P+uQ{?TGyecg8LoRG%B1q^
z42J4OLz#g>8X55zmlV0M?2|sz-=2s7XAgGKTznL_Esv&No<+uWd)eSvwQw#v7()s=
znP~)@TP2gX2HA=ts8PZ?x@3;FZWE0-@}VZ~IBjN_&4uNK^=@YAPio4&`>V`pSasTo
zC@uR*4%Dzq9@(>u4M!zq3FK2~Tx^qwft*B`Gu`y3q9G4#Xyrdf^oIh{-7~F$Q;k|z
z!fv>x*~Yc0S&J^{S_N08zS5|OD@KG2qizVII@u67hzQNqS7YUvx3Rv&YUVW;kKxq!
z>k(qPE!}|}H{E5|+W|K?1fAPaQz11%A#|A&qT<y=Sv_T(>o(()DG=uI7u|RTRi;~I
zq!g}f5X_OJ2GtcD=7hdF8_RKn#I9shNe0HXmKIOAreWsaPJO|UOZg_urDe4uL2<=b
z8WjT_m3P5*A=9`y`s=#cZXd8_R_K%^skp;ud0DLW@_!4Qj#XIa74)x1k&LOjO#2HI
zmeM7wEvDt}USO0-K->`$ZSJXY{6koDLZ(q*IIL?OFOeO&LqPNtnLy(XtEg$&S6p(f
z&=hR>GKva{`<z@dKugT}-jWrVW0P@8Y~|Lcw_hI<x8O}$uuLhp0k>W58*RP<t6oBX
zlPH!W#Gp;DQ84VryGbsX%4u;LdrcP0p~^bDVw&W87|ysw-Hf&E062)+p$y2p6;u9T
zs*(~FQMsX{2J3nq{5T(#8>;6F&hz~8T{P1U(>x{wDfmNnmNZbW4jd{e3m#jTO_QPz
zZ3aOy+52YzS#`2CZHG{{aT_)IjB!mL$K#z_xE?m`T1AQOt6{^JC6V$AyY=&8$bLLW
zQQg(iVMJX{UB(Y#L@3C#!s`ypA?DS&bbtu&KMKw@^D8B0MR>v1YC*Pu8zw<S-EL8A
z^GJ%{Esc7Gs2LrksS)aTv#Pp{FW=%97`Zs_;xQcO-fCb(X;55f+-bKI6~%B-r`ujY
zTT17?S^=W1tZYD&sOri^UL?hQD;jHzHsP#eC6Lp%aG}a(OC<A~IySZD+91b#9%-js
zWw91qU7lxRCj+beXAzP$ReGHw>aJ!-O(n?|!BrJeiwUY|i!@x=Oh!X!20%!nE|P+%
zuj&`Wa~!JxzJVi9^#PoOUV|xf0jzCGP$-*REa3rtW7*`_ekh=!1M2WMw=^fVf2z24
znQ19!lPDaKA&B5{qt!-798y$NZFo39XwmJrg+diBDvC&($19|T!K@W0hMpaAS7F%{
zv6sBi3*TP9XcJ!beKCs)eQv?wIO8?;5vsBYP^6RX!AWQU2{Jaz$~h5$8Hy>kircBl
z1jnGAZPP5L5N@)^6JX}Rqk%E#V)jz>S71z%`gY@oEtzqp6?jokh_a&DeJDz(T}^R{
z1D9IEonQ=6T02V6-ZByhqB;VI=N2TY3lanu<+lTnkP?Y(yQnU2>L$}Qj1<)EOKs;7
zB-`B{H2d|fLvRU6)H6{@BGLefpeeR#$QNbmtSoP9$7bC)^|k#}_^Bdu3468Doo{6Z
zUb$Lm4wyNlexP+urnSjW6k2PyfLd72k!~y-PO6bIo1zg9E(*NBh*zu^tN9*jjJcKN
z@~bk8mes76@b;!&BWqn;<IZ-`rk&-xfyp?b0&w!1s&%DxzeQkrsnY1#oSY`nshI2u
zwAL7m`gWu^0HiK$OJHA|g4ZOH!$zbg$*3mEh^l*0>9)I3aG2P3bAYuzvHHfluviC3
zV|GchXS}FL@(L?zNL)*bnh9<9-oQ_W!A4|o?-Sl1j}?WBihNtdVAKI+mlM?PU!YjN
zIa90pd`)E5vQ|BO8iN;+8BLS8tMTPkHWdAr&yJ6^hKEA+#|^B-FD4Cy)7n(XYU+#e
z9ozJp50PIx`T0fYlV0?mE~L86PC1RlskNwgg=M3q$y?iDO^0pvPuWpA8T4uC1+6g4
zE`uq}o5=DjxrkCMRkapH1yxiNlB$ssub=FQo)fJDE*!<$){YnPQ8p<<`#nLjWqN%K
zBMqcxw&Ax}tqADDDH*=o@moatU2RLj5bfYs!6xXxJEXl^)ZKT}{FTgi6^_}`O`S~s
zIb~cX<cUnW`7m#w2@iBo&4hKKF;Ej!EtLeicx3*YLr@{adgk4T^XpgveVFZ_HVmi2
zm-=)uKh!pYX$3r}7~H6rxdjxD{?^qU?0}qy78<&)s-g^3eNl&rd;^X&rl^F3m=a={
zEScIf9vcO^%p>7oY=<b=?onPjD=~K(hgUZV$RORyhznyL0@N$*x=FgSvt*#Xxc>l9
zQbE}_-4%Ma(@i0u#d0|{_83h056J_1!bOf)%-M!SyN`3X#CBEvD4U`$_2^q4^$mke
z7a7&JWjAo$K}(+==Dh@7R@0vC@sio1kg6b{f}wra?bck$eP+$gHI^nNraB`&uJ(O{
zX;)nzCzV>;QwRiww}kmL;vn!v1Q9~;ypxvQM-CGeGv3xVoO-T`x8ktywT^Mk!>TQL
zn(0;%hi9^~mn<BtcGTmQoaxecj}5d=D4Qavr;ndMZm;l<QeK~IGZ(by56|o8&Zu+|
z%LGlDR8-$|FN6O8PaS_XGe1-QtnpmGB-5>Q%k3O)e9jq0H7uG&i8k;J?23&J+ik&7
zHrwZ_ofXNoO9z&>xJ6`#BH0qMPZSk(x7DITQ3F)^RDSy^Y@KMk=<bp)`o6Zc6yxfG
zDQgoc;<k3J{{RvCOiNXA{8+HHwfsHRX0A*rf(<_<2X%4X)AXY4;Wyu9PO~LPsSR<7
zs7`8}ZA!BXr^vgKyS#^D-4qeE`Z(>fAnmt=>6t<4m(%vMWP_ez`ln=2C(dZ?VL229
zVmMz@&GXq6Q5WHM_+ORjjeqI?01JC1Zih-}t3l=?5XQCkUrTDFzfh|ABirt~^l|?H
z2M^tAZ%fs2&&1E)Cw?m5(*~*Lx{ZNbT<aAg&Xn}vO6!N&R*0HG`nFAx6%lsWw)?7m
zy132tK9dHqU?@UFq1*DGVk(*|spn-x_)eqa_)b?tP?-Cd^K6x|R><Y5A|UVf+u;-J
zpSM>Oc-}!k>bV`DG;vV`i4c?%sGcG13x=FFPid5}1FsZAk82I4eT~F+W-;v?<H^T9
z?<)MR%kZE1bzvUa^He}@Z`pV2+&JRH2ygI0LD-20WZ$V{HocPKh>Pd!Jwkgr_eGV>
z&Ok0J!dgn^i`pgl-+raHV*8{Bttu)O=%}4~uXHC$7_ivn;je`1!RQmBys=IRiI2*0
z-F`oAlH%IXr?rkZP^QC)a}~%F;fu{Yn>yQqiiP8^)wqRqP_Q*o)uE0^tb<9n58V^1
z7}Zmx?q&)o2&%n#F@6G}N+J+(b^}%LtN#GM^yzu4W|Yv{8kO?ik*oPZ3VONi)H!n%
z`p}cFbWo+&i;-nXLI#O@Kr6n(`*qo)CrKO!Ra0%er&1dh#qoH9bx*%QNv2fL1!{wJ
zERN$Qg$AOmfz^tDP6DqdNR@xt6XT+#CovoixVA^!b*53EMiCJjRbTq~UH<^DQ~v-B
ziz(!goKes78Yi8<Zl$@3S!EQnsu*aUQ6BRN@wp0agTM9tx(B=f0ZnU7P_;Y@cnnCg
zxI-u}Ce2NGRRGO=rr)}%bZLm>tWhu(Hq{S{&a{rjd_O`D*?J47rpl*B3QPY0bj&8V
z;~3Y9wrS(^{Pb@gYj#T1NiU0w9i(gpHrxdh;d)H9b&b>6-6)n^8+l3Y+*EW_P?W`Y
z->Aqgwp<-;MN@AIn|0Q<?y`lZ&G|%5xLkNRUrHzR>RtLZCP+z-BfHFZUMca^l_Atr
zhPIVaTV0oJx|GWK+iszP?cqyhPP@l7A1b@`=PwOZp1U=$sw%I?TtI_=9(;A}Q3*O(
z7fk}Ixc0-znsw<Ug0Iqwzt^aH5dACr`0J}*Z|%^dR2W8N{oFvPlF#PEX%SsdgHN~i
zUWin?ZSq9he~zK!%L;v5d9aga&7|V08!Bz{@zsh&2|>FrijeH8B%65t{dZ&(-A4sg
zWmQ#qBK^Oz`0BUYEVzIz0iuhBrn~%oJMZJ;t4CtE(TKR&C!ah0{ICA~dS)|QHp4<2
z?whM=vi{yte*StO>Rod#Vxc^(LME(bOL4v|iJXH~ULIF<^Yhh&cARo@$d4qsD@)r~
z17tn^-_<_-dzXt0iuH)HNYPnV*SwqW=jW*iF2o>LWvk7$1g@%reI7SY?a&v35e5;e
z8L+l`y5d_>8SFH~e)EzfA|QftPb#V55kK<kn^biQQ#gsm$E*mg41l48Cd7??q)uoj
z`h^o^Bt=EyyQb^opd9C2@wqma4pd?iEOv_NyB1sSHM+2Ersx8Ss71@+cKthj`nz)&
zyS>UHjkH^3s*b|B4XdUa7h<{e@J8Q`f1C;iL&UkLlVYo~rzM~?Rkc#PHdiGcXIN|M
z5{D_s<DH8v6oroy*elW8R>et{d4ewLP8uSr_)V8}+ot{-U71}*nPHOIl<8<j(}skC
z(`bdd{VVc_zXSVxew6CQ1}z4bj<&kKDt4K7v;toO-r^~``Po-(w_h8g{Pi-T9m>Tz
zwF6~@bmRaaD!AdQeLjD5MMdAogzA^MrKX&e;5d*Di@j4&YvVYvr7U*PQ{6mlh?Ag7
zsr0AS<hCD=)#H7(>iV6wj#CleV4G)Ra2b4d?TY^ZoY8+#Dz4jquHPL{yt60L1c#eK
z7I-1FtNCaGyAkd7Royq=<yU{VM0oTF4m``xDZRUDt-SiFaPpfVs{Q<Zymc&uQl(Q6
zCDZ|P$t&QtGI>KIYlx9ME0H6FpXE=Tkw2nu)?BUD9RShYdCzb42C~4c-kQXT5+l*O
z+h#hb3kxAQq9bjQ4$mqm5fUjXC=X4YYV|`&hU)bulh@>OnVmTs?lBe!x{f&U7_ipl
zsoOUU6hzDD@VvPE^_jh4WCN9Iji#1h*j7TuMKsuxI=H6xqcvvhTpa{;lHm7!qvE3K
z5E6r&1vw!lSU8;}81MZBE-qHJ+1s&1n#bzXOg%taVtPlV+5SOOChqAZd+2rM9g**g
zM2EA0Vk)G4$F@C{2|k|-){w@Z%QEFk7s<t`sF0A|xtA0L+cW@9M%aof0x4{piXv=^
zziqnC{+M)IPO&XH!(qzD<NhTX$@VTZahQGRq+6%9ZSX?fltB^_<c3_46%jT;)fnDY
zQ4bhq#w~+n*n%m(tGbr^`SbI-@BNp?{WBKUM9|3F$NfseILje(o%=!Bw}9f(iJH1=
zX*I>WXl=II8&bZmY6ZHYig@I!x+l}{za3@IR3$GKsSLhU2eMppCA$f24yxssnw-jV
zF5F`V*V&N}@h<9a=G+=mQr#HdsJ%*FQH6E(FB+($&bMwA3ysEEc5`G2{Y<kP$T_zB
zwo(P-=bCPt;tg5;Ar&?Hi9a*Gr^>MT*3u+J{6daoDeScakU6>6NJLqiJj$vxP9p@4
zAJz0PJMeL0TOMPe>&0hc--niJFkMZT{7oIsuY=RZxnMWY4<M6cj$TsM!HZoMk{q`M
zi1nb#qB=s@5tD{}w+-IVkqba*zcU>k)r#nLwwhlUQZ;5IgN@`tA&Br_$t#*}OjaQ{
z;Gjq`NbfL_n<t!npOotMkcdY+>;5;SnvIMut5o99$=g?E11AnkajGOa8PRirr<WR#
z>n;I53>;Kvn(%N3h#{Vh`t7<MWsQ;QH>V`CwV|~)uH3Dd*J8Q@N)an4>f^dXHTBI%
zF<1CFPP}Ga!XZZht9&v<2V&iQkdDeiOU|2dM)S3A1djs`wz|{nynyt&tX-KB+YAZr
z-ce-{nke(kLDLa!wNBcL!s4sKz$vJ>C?a|-tAUSW)BQYY1%X{G3+1!GB5L~*1{}ac
ze4e7MW!Dvon+WYYvqb*@B9uz%A`cdmstj8>)m;<yk7KA6a-GQObao_M7gL<VC7g*&
zQaWz~)(n~M<Bi0SU;y}vHyOxm3L{OZuU0WMH%+ogE@$%d55*~F<ZmV3MVw^U6%RKe
zJY*=XxJ^TFLQ|mN9C=TikZ?`&<h&Jn<9jEb_akedb6*=k0^HT+TSCo#aW6c`V%Shs
z<dv+mUxdwm9zjhmBOcZ_yn|$}_X;y2;Ih$0AdwJ>mduC|&aL3#7<>0wJNP90F6D@|
zVAU2gkYzDptBRt4uB>?j$@ll>FErwdZxN9rpd3jBt<wS11CMQ$<9F(`uu@C*xXt5o
zXHTqZFcHhLVy-`JBbdI7Jz&}aI03VQ<BE?d=1l&f<Bi380LJYxD;%0UVklCtpj<_g
z+CxuoIqLg5?|zV4Yk-r=>u3Vti)-B9j)Pq2VaPQ+{{U+(%@WO;wqEdQPRr9<T|Cxp
zKh3nh&l8OpF|oIK$U!!$Iy&mN63Q!z63K_$F3?DI!x+d-no1<*i~W4`?^Eg^Zy;-=
zxapA1!w@X2pNj>6V%8rPh6E@^3gn4K!7$5GfEhG595&Hg<lkR4Hv{#@ZC!Duvb|1e
zek)&LBp_yRqPmhG*eEixqDY+ei<=v}v<$V}A(U-5&GF>glHGb-)hgdqKC36d&i!DX
zsM%o{Tyn%_&Bx<amGy&QOFd&pCLAj#5vJR3@dY*{t3sR`cVy~TlN)=~r=KsnsIxII
zX}yq-t-LQfwDh@F-L|=Ab@;tg*x^;s++gvdD#?mQ4Vdnu@27`w<QTS1wrkvZ(nKcP
zU!H?9?F`3l@lR11?!4gBaTt?ArzF3$$(To*upxNH##L0FFGP+~nu_4|n;{tpWJ-WM
z#gpm-STM_vMi-e*S*sB8yel%uf|BO=@(Hyyy@m*xW<Vs^hRF+iGNm51foV!GxZ|d-
z_PSeAJEwIT%*Jz+SKv?3&VsJm-p;`4Xjdhi*da3XII)YAhZY$pVlk>C!uf%hCxp6m
zJ)`4rWdPreH1$C8##6Ken%l)|i>*}6GracG`7hJ}-r}_uFeTzEhsJm!S`&fFXibq`
z1}}!<K&&{?b2LOw2ui5MXC#*q$*@_bVgWYzH#6|E0*N!Y(}K{p?-f=0(XbS7-BJ~3
z5X86ZFX;W|H;UI<8sjkQB&(|mJUnj6xh_+qtb=U#tDkjNKhmUN>dRC`=HtyY+6r{*
zqr>83byhYw9v<_-4iF^DIg(qE4eH~JiP~mFG4CS`G_4N(xd_|M3w?w{NeC}%BO=;c
zN_;7Uoa&HyqL`yyajKa0t*u3T8u<)at=-gF%N-`611>Wa>5i*!18y5Ug$=_H4o#>c
z@Kob1{Yt_0Wb7f>y>E==Q3@m)nJ^WyGK4Z^M3TYyj}f+jnrvnKyx2DJ_V(RW5_61z
z^zpj=V6lS>7r2JyefC9@gmV0spK>$nJ{k}->utz1B_TuIrAIbw+T`($73xnQ^%G~0
zU(Kq;FQGvzW2=RP#w$g%mtNYi2+2rrxDyEErS3Q3@p+D12lCV(hj@Li-S{GG>@2Q^
zsE<}PdmLPL4o?K3MQUb45@+Fd6ipjevKdebGT=#NJ1#uflVqUcp$8`fRJH+BPNnN*
zMwn#T6ugHafk`SYOVC@OmwjPU7cVk_GqnLC{%j<F+@Xk~$zj6>&92)<NTB|wJwy6?
zuGGq0_RCuCE~z8mB|XJPA)B!6!(35K*9HWG5*Jx%1+<h3s7lj9;u`Z+3!fU#T&*c8
z8MT>fLi8Ja+WEYW<(kK*Rl^pTtB!38-qI%_e3X^6;K}!UVuATxU53H503Ho5eTOd)
zrJ898t9*wQkKyJy9ivjKY+txaX?YEuv`8~8B*}*r_gzGHV|QUE)Kv)85le|8lByDJ
z*Pj;aOe^uk%4*(&C0ne%rpnr=Kz)IIr5K`9JWCGKi?+g@t|ZwauMs5U>kTlcb%K_&
zO>(?q;v7s$95stc9NLiv(A|0ItXPx0J;bGT&_8fZGN#&!6JVj`qb~!<G3`yyGTGYZ
ztwWep`0(G>(=jH!Y}OEiLoQp+5VlS)_)wfEB0L-tM%xfBzJZg)*fGRVAM@R3O%t6n
zhV%%I+d9bgOEn9;B0bxWTVnE=u*R*jn%k!pV~L!}9O5+*+VW}F6#I+6c@utoNl{NB
zY8IGlM7da=dxyuL+LSKSESn*a%qQct;-e0%c7aW_B0lRvZZsrI+Xle}2oDs*?J|5?
z+bYSgC~xBhWJ@b2aq57FGPTB~ISHnVviQYtn|NMfSW!;-DGP?$IEJ;<_EkD~{oPo*
zIP%DG$_+!f^)azA^5$LWNW>u|Y~rkjy}NBc9Eky07nDJFOJj#E7zwAcTc0gxcSqXW
zV_#QCS67eeXjsV0CJl91xfST}-;-wGno~1i+N(${iHpy8*|3O=9^&C`M~cpwFC+_S
zQR(Z?Du)mO)om`?t98%JlJkwgak&KXwAlXu&O{zd9n&D#ddqmo>Xp8yVV03KLB|=b
za@L+rZQYdC<i@Lcg9qIvooU9RM_x{#xUGzmb=5%JM4SzUi(7hRxzZcTXkMwM*gt1#
zZsN6=j#WLzZEPNpEjp(N09k1JTSjCZ6J;5SimIrbx?Hb(6%OOA^x~c&4$4`=z8fK}
zKGVqFp8YvW%yolUoyc(mwo|39aj5n)5s4F@Xj*iiS4E{6&Yu?r@NLH1CY^Crc3W%2
z%%#%JywqyEYbnhq;4`6(RmLM19IFT}NPGrUva2JoLlKxL^Nd6{P2Y0-b!&<epGVqn
zgHcjr_Bk$7kYN~Fz<t{HS+c3GN5m#D(kzHgB$p&U`<(X|<9m443^+}jI|?Ziv#I)d
zhgcRNMX4=+F$9Sf%;OqMgu|?nIL*lI6f`erHOz<QMquR0c)hYR+b%K(^(GAS7fS0^
z_Wf|?wW9+oU0!5tR1Id+Y_iI!a1zC21k5uPg;`eaL5IYFOEjY>M;L9BGLiFX_J!6~
z6`O)S*wOg$pFS$28bzkK-0d^B#$LxFRAH4^z(boVC4){^vI!YVL!m7qza-cQ++s4(
zxaTOOq|aoS0UN9bU6(X&CZXu&m1ESkcTw#x<>t8)Au`=7t4ECBv4IrDMrdp#+vM!F
z$Wf1=Rn$a}n?=rV<J4w2rmboWSq%kM{Z?g|SrI!~Uen6^<0cezj|msB@J?3bAffhT
zM?zi0X_{mW%0)ijK{3Uohcwr&Dt?pte9)aV%IoShcL=<pVuGLBKy&$OWQs<igM&6J
z49&5954_ZdyUnni_8AT~sA5Ca_MYbX<*keLml^nEl-4+u8hhH|#}LA@;s`o#*~a$`
zveEm7-;1<#01;Sjpt;GULaDXN@|@f7%;x@UHC7QDCoS#btS6HekVe;fR9A=%#)VMS
z*^rJR3|IJYCs0eMxmy(anWS=MdY6MgA*h{022N8$Yllm5ncm&h8Lk_m01djb8zT1&
zZatRSag+o{P`%i^p7y@s7i=q0=gnT*<`XduMYw~PW6v{fiPgh)<0HDFNHHf>y5DeL
zX{VnOC?w!G)PNBqVd7`$9z2)D<+c|a-|C%g!mG!H$muFXX>Cp%ZbORfheZ?=TA3Jx
z$<_&>d?cgJqBc%15u~cr__8bUJXY?){<hvVW09*|rlTn^ny-%F6RTe9?FtUvh?0TH
z03e?1QMK*&1S8#O_BkNo*Adt_uT#mSCz^_9DvBurJSfy}WhNRk8BknoQN{&?dGJMb
z3<)~MIixwqUaFM$2UIsj9r}CdQ<&5D@8a9y_S4>*CS9&d%!;pi_;(#h?L`>!Db!je
zeV5{^?5dN9>~`0Zitei89jmxY4Q14vs;)(4tjXAxLX=JvjB&>Ya){(dq4wI6WNgWB
zg%z&b&T&TCc=jvFs_{DNsdPDuw^tXjG51#c9jM2m*gHNL?6TgQ8L1;0HtxD^w==je
zFSs-&&0A9?etGHt04>$n6}s=K7BDMu`p9foVsP8POo3rG>y5;K`q(U$HxHY}Eg>7K
z$qI^phjDhk2%`=;oj^yq;jX=KQcEMtK?0<Gxap#4$<>@kP;SEi02Igr9?a?}<jI{^
zj#UI|T#^AtAnZOfxwjEjSTX$3b)YeEJ;xPgL=QO2bZZgHBIJ5aeQSl;WHhpB?(ta+
zlv_H~FCs}A!B~r70RTvyLsex1Wd#Sg8W+%LB;2biqq^1h=iAj@`^POKWLDAAaS5w$
zyD5m{9aT`Jwrs3Xai6SQ{KvuGD#Oy<JjF2jiwYYn30Cm0tm49faK(%*m}Jz(Jb0vU
zGUE*c@r>1h08TQIuod7$LR}0^qe(x0UPsY&t(HSl04q9H%7o^e)nOTjr`wx~k*|(0
zD=aC|s1(S_fSZvC=*sLC8f)_jS#YBgmnS2M@<lYov=`Kak!mhArs73qW7Mt2u6DLv
zT!N&G=@YFsY=Sne!`ML)<d9A@rV5DICr?dB%&;jfS2ZG!B9V86q)=j|>}qT$;57dL
z_$Ptjb~|l4+3qcaY?JOhoRPje5R`21KB!DW&r!4nR1Egl4Xc?}{+-gxC=C07gfdFG
zSTXLS^2Mb_p6$43@CyONNzN+&0O~Ag?lzStTl#QLI0rnO&eEK{P@N8wX{I-T%gypU
zB{fbZZyD^~)mgzwZp=<VuvSLEB_*+R!JvGETu=VG)2(bsT|@O%th%?YtLfWL@mf77
zq_xK7rxUL^8FXt>Ko+7{%94$_StTV30h?O_7XuS`9OkV2ixk2AT<Nno?x^}%%XG>$
zBQdY^<%#fP+0x5mVk2Ti>&~*=xd!6w<RNv3T5Lyyprf}`TFIx@)%j#?FUj=qFpRpA
zWa!w8>>~qyO<l7qBst9XqB7(NIE=<@+ERJ;jEKa$XrR8r%GqZoQc1n7K}|Ox`XZT~
zgg^5GVO{$3SocOVT}!jZGb|$CRV?eL<+t`sX1Tb)izzDd2B$-M4TG{3pTuOsHXV?z
zc98^LHVjdC5)};wOX=4%)_6H5sy3s-(|id3034viY%&QFXT+(25Te#cLPSK9CeA>~
zl_U|S$qdNeP}_<*AJs2WI&FV#VNt4?jxP$*s@XH@OIO%_+TNl&k~<M&w>7}`GTDsd
zZJ~lTW=xZO$<;wr=A+@YxJ~9=FAv0RF}!k9vLi;n%IfQ)&I?ClHqbw`LusXANQ7cA
zWZgn_f)f)*NFCFY4orrppQxvi;Jt;#41@tqlM7EHM9;9}^>doRW=?OHUe>o%%>)Y<
z4vC+5Y{-w_XaTj|j?8$>wrVWLM|Mu&Zf_a#NHqSt6s$QjY+RkjER%ECEn$0>mP2vC
z5P(3&D6-4X3(guTHe|eb^_{YfO2Kb+6B*PEZ`YYJtt_$nRl;y-c7rC88*tzgQLU!H
z0E%(pEQSI@Q5G-@j=LDPcvQ!t%WT^@Zy=M8<C*HNWfoeL+V(3-J8m*^X0)<gVdmBT
z`Lb=O$3;XGG(vB+z&fW0Ow7tghwZn5gB-&QpysW4b*gq@Hq-IlZ<z&+I)R7ccN$G3
z(JK~l!wHNxA>`mQoHovJK@RH5UJ6J^J1LXKQhQi_HL62?k)Leq@b@WAqN!yct7a>8
zE=Q0ePdo@kDP@!0v~Wm(`=Ugp)Tgy7Y>iyC$6Uj63B@NgxQ$}PMSF7)8Ie%LNKpu;
z5V)e_ZOl@8wg$>5BVZ`I6sqk!&nBDsWc@jvj%3#;+?x!Jp1Fz6@Ny_N?D#JyYB8*5
z8z-HuLlqdpPDgQ<n|V5c?(7C<)CzUvybo+cTT1z>iY+LlzsIr737Ix_G?83t6lnPc
zbUS+6$J=S+aHH6YqtZ$B5>D(xj!?{r6|^A{E6q-+vBa>~H5XJgj@d9OOuZ-9SJkx)
zo0%e5f;S~3xgaD~ShB5|JSP*h>Ad5BicgcJTaap%exBCA$Z{(>`S|qv=Gl7T-2KL)
z#wJ=&ZqY0ytCjMkC*``XJ}sy_Bv|kL1W7wH^!bF+!Jy5g*V09cR@`>&W<kbb)5v<X
z;;Uwlp}ONv?54}2>N-k-rYyQ5ej*Kgn1<#w8}l5wm1btLClD%r59xnAeRbwJ{-b(@
zbJZqOqqaGgnn92>5%H{s?eA$?698nk!uw+-ZL<+^_4eqEDY9s*<Bwe$!|gFmI-$DM
zI!jtd!imi~%`B{7tg0UKa}nBm7bQ4Pj251OEn_PREEpjhskm|leCrL)N1x^GQQ&%x
zaWuv|@u?lKo9(;R@s?>FLQgpd-iHVzKCqaa-)-*G=q|V%fO<@2czqwIHmBh_p;E?4
zeIp4}%_4;UAxLDexKX9oLS8Z|O}1mrj_NjUw*LTZW%2Ep7RhrnHac8r-dy>hf$w}|
zoi{&(%=EjenqQvN-s8E>Qvz-q5!c~lxX4L*Y+QP>0IUY`Dsy?!cEUP$n~P$=k7&Ro
zNZdskMCs~B9g%aPSDHDj3@v`3`hJ}PH{i)Jw-R1EDsybXoT&_jr_F~S_OBbN>2P_8
z8zHHoE_5><&-7Lf2Z`etJGIr>{Y*)=mTt7u7MIZ`xZ74xqQnJ|+^Y2n40qUJw0zqK
zBq=o6wmmq#X5-e`76$&VVw#rp%gsJ{jW@phG+dB5J~Uw2MzR5I6eTeHLWq)OpXEoB
z1xOq%#Rf-aW;LfZi4^hS=03@;Yh4q7Y2WmE=DzxB^#1_r1Ne<m1f6KlmbVSk>U6Jn
zGqGsd_mRZW#Dx6*Y9j1rTqgnYY}^2JMNoxz4L7U$$EN<5aaj6crI;=yE=3NXm6Tk{
z{y|vOW7JI`fXo>6ZTB2{M3&<428F_P{mI8rgKn_jryQeEH9l4=rTUqSS>+m0ib#G{
zy(DHGjb9QXywOXN@yAw%OW&N{;PIP^E{Y(iuZ<_^ThqfnowVLwN2%CG0Zeflp3Syl
zj8sb}ZZY;;d7~olnXtoC8*Q)5LKx1pu8#*D;HB@W#Njz<AOZbaECqi1n<?-zw8SVc
zU~9j(ma1mDWV!dL7wfSXvE1^H8J$~CSC&#@ZZ&BA;|xfg{e`TAX#kv9(nR8vcQ~)O
zGDk(;2puvS(Q20Jid@OBjCUj4Ri-s&jI6n}(hXmhivgBe<0TKYE;}1{5Mi~z+w7<+
zuO9VBs5Lexs2UxKhN9KWg#JNwlw@{kkHINU6u)ZQz#u~+8W_I&9@AlvWUo2fMMX~7
zwt@PLi(wXKvuBnNDPtpz%VLueVv0QQInH<AaUdbStv?)8-!`3P-)$jJaRebW2#X`i
zNB|F0@{RHm^6C;(FHv<Cn@#lyD(*ER6x&0H!*U|jV+>8dNV6eGdTPdl3x8naOt31l
z9Y)b)%u+WL5eK6>Emh8IavXmU((Dr*sIGw~NMab<nJlLwOp41*EcnANI23p&(@Mt8
z5INzuTwTrdaFaT7>01}{@r2m_04!70OKO7|jQg`4jT#r@4meJ@+;&O#-3bVW(I2&v
zpwyssqCx@$=z?{wuf6Je<3=%5#NcCCB)E%}+NM6H+s-3VWF<Rl!-`RXvTc!86wX7a
z%cIG`PS~Ks6px@eh#S}sFF$l`l33YNC@Zz=f7i0p>}l?uYgSNNu}N_{B+{gI9zl*v
zXo=F~U}EZXR7XHdWCw$g5SnhOx{pc^QoqAj7t1mCKbC8lgzb|pH93~uIKrp|MlP$s
z%fzk;Y`Z9<el}gUPOS9nQnN>n4l7Y#l4dy?9h-Sgh2_f?HZ-#1#`hrG(o|F$@JY!-
zhqf1Df`@VAE}ob!zr6jN{6|pZNU^T3b_8F=pQm~>_|C`&3>I5XA_1a+2?;PxJN0gD
zru(EH%EsXz{{S~ui$r1YShnSmP@VewFXX1Ue-8}L2BEQ)Pi*DABo@ELKO`HJ$QmCI
zWZj0Y`+daFk!3W<s`5?HldtDiqR7|3N4k*isd{A8Yphmip@hF-BeX;ayotA?k|;dc
zDsn+EQSytjFJI}O)L*6QEZV7aOg_umS@sv$-olciVgyJ^3SR~Vw#wNeiuv)sh5kMI
z_t1Izb(LiCeNJVP?6Mq)McT>qu!+cS8;+lKi4HiTY`TfVv_gssf`EgvqL0wwaV`4J
z8PLpXPMkqmj%?pU#fPwWcia%A{{RR-;xBpYD^Imk3-wWcQ*{}eMr7jI9Cp}<Fj=$`
zgl+?39jGH6(s5QpU`{XMX4)qwl#_AM(p28gdfz+M%znwrC!D{`sOqnqIkfnMP;Nr8
zAKH^*afp$IJ-6r;7m*Z{NEi66{5BxZ(!b*ki0P!pm}VYZK29|`E8sNQwH|C!WR-+;
zgjslY9xm^=AJ#jPCtunOGYZkH*5)<}`$rm^B*hlbDZwOGEO-{tnjvP9laASd#%ePW
z<T^10)s75{Z#&J&9biHxfIb(Rxuk-5eXZ`b{-VevnUb&!t^vSpf0Y?EGedGn)LN;h
zG_$puJ&f4)`21s}8f32SH1r#R8IBBQB}|hE=9Ft4QX&yW<=R9f9<#C0_%CJpq?h$|
zc-ENJN|Tn}D-9k*IV&zUzRcNehodzlU0U$%#Cc-M{LR_qh$6tt^P8<ox_Y}zHKML0
z*DEA3SD7OXPoA6$vm!P<RVC)5u+YXdU&I|kj_3<!*qJn>q4*Y%<9?a*oYx@1Bi`dS
zacbgZk<TKshV@kY7Aq_pYFM15W=qm13b^a;_Px?e4%w=Rk#u!-azX1(9`x~2JF_gm
zvZ$lSGidjimPd}uzne{v*CSV!RQaj07UIk{<U(>hsRkh-S(dIk@ieGxtBOX?mqd>-
zi%PshFQn3qJkqSE6O!bcFpzleJ}~FmNs^^1YtjAvgrH&&c11nfwn#hd+h8b)shtSP
zvAYann*qpj&~}d^hV`Ac9PR@l!<AwY<+wNQ*lbZ6Ze#8bI`tKB$iFdF6<4N)0c&ll
zMN>K!v^#ENSkytp@l%U$XN%OSn{P%vnusyX&A7^dfcyIksO#uF315jMJH57Hy$=Me
zIIDZV{v~+S%G|C7YY#DjrI(nUzCB$wEnYK|3>i`mT!<}1blzBmNYhB`acmiz+f{qB
z$;Qx-NNI8`lQVx(DzaCH6TN<BKR%+;Bv;}!HVhz--Ez7ufVS+}Q;l9X4I5?F&$^`h
zh=JQu7vNIlHo4|)9|KAuOx`tf_0@JH<fLhdaYKPhY*tfbs@sa{I{31LiQ7&{O1yOr
zRU|6QrZsAbEul@Qj4cG`Ev1`EOe(^VB5~b{+i2sRz%m077M&6?<+6wmpe{E8pB(wF
zW@#j}D$<XP&eTPwR%mkgbhi>_<5l*WTJ42#i8|UfSzZma%!VbfM-9(%ZyaY8)l*i*
z8sYB{^#`uHZ=X}**1CO=*vOH4XJ+K9{52VVYYoSEz+ybo3*PWH7lqPo)$Id}x5KsE
zKQ2bD#eG7tCoRmR*H%fGlcG?=p>id24>w-fgQ_QDz`onekRdt;9j3*RWI$Uz%G(H;
za@LmGWtEL72sdMq%&do1GG$G(qWg|I*|%QM3@2U%?7B`(d6ZP$v^3=7g!0Ca2&f=y
z&2fN{QK;e9_>1FXx<Qa>oUppaYut$mu}i#kTuW!HEKyu>r>4CrSdwEI!vR3x(~hVU
zLC6$Pqd}mVJ`?QWcQc;LADr!s3He<s(%y$Jk7<cZ0w*YqJ0HN;*SKA%0z^gz>YDTc
z2Uu!zps~~n`-;oUZ{+lmYbvr!a~}85QS<yVL<bc`>iPBYq_*2!`6H|}r@_N)gx_BD
z(?aqZdP__M<=0|)JzJA2;9_sBbJHmfBXgIV;;gJOHs43wVI5^%Z3z(gtE1B09AZw*
z^#`uGrZLj?S(~Q)aYK<C%5WDcAyZ}&F&Cg)Gg>UMX)&>bVo}s4N*Be}*D8>1pA+t<
zw-X*9h7BmKmQPbjTJ*BW^oKpkCRd}b+SuIC*w3(-X|fcDpj6hl!!Mc$sEnaycqc9!
zDk9cX>q4_jWsTZl^qHjtg2p>8HaU$p=~g_XtpgTNqQzo$TTL>K0}Z~+hDdz3Ed<rx
zxY9(qNcM2FdK|ilaU5wQWR?101v)f-(2npR)XQX?Cbw3F%NEc;(4ALZL`}mnb8`d8
z^{<!8H#Z})xLfj)UaIgJxx}d&s|C3r)JB<!K0UqcNiw3n^rJC<!!p}u={9KMw%2hP
z9nr%AQE#LyW(Ws?Zk|`^UzGm<wd-H&Zn)=mwKv$^hBW?dNk++3Smk=0?R@#d>2P#n
z#j%2{IVizTxZt*iERdi$e@4ZUUJzFmS|TLn<#+O^pX=p6+pn?uJd(c%Gwi-o>T$;&
zB;~EwSVH59TPm;Z{d%%#p>;cCspUMOA}S|PA*hI;D)J#tN<uqty8h|os|Ems)xm9c
z@Ps=j0Ea+$zm@+0;nt}t5GWCT8BvC04ca-K-bjp*G3gH1vkF(YcFx1U9GPjt7FAvW
zM$73l1RcplkeAJltYS9$d3R89B*dXR84<7O%7#<3U&x%Uj$)4wdCv3{2;kr3y}OMz
zkM_vKx)6%NZOJ$LF6y7_{-1uC8hNZ1v^gYuT()EP@kTs&mlYE1cUe`<x(*~xMubf^
zs@S4zh?^%JwpB&W#6s}w%(&tBRzovGa=3Y+SoanKk<{ebRZGC?$jEM|RYJz=rC5lr
zK~ZEe!M0?eJq6&KF+>f<jp*}acEFVZ6z@uP3cE=YD9)?w;@V@lCPyj;RaEOUnr2oy
z<)SeaBs$;-$VkBaB$Aw$W>L3IP|$^In8WX~8r+_Km1Rp|B2;OUZE&j_7HZv|!|~sN
z9vnkyN8P^5Akwt+!@F&=0x7tubUh~^(G2%2yVKok$g=ADNwFkQU#?DRk3A3_sSt6p
zub3&p`Dqpl0O^~E;WnlwE6K3OdvXHW-t`;@hv95CQz>bsg)TMWs?v3uQ-cPq)@F5j
z!rZ&O8h#spaS9ddGD-vOu_n2>Zix{*<8hfijiMfC=EeD~s-iFTFGOoJ7f=|qTPkaO
z7RNn+u&e-tSce|&DuWZ?$wrN{ZP|?&JjtQO-a<MeCWK4c>d#GMRA8BH1dF0PQY$XJ
zuFnSU;#6BU4XoxLe40m{iDK1FkT&6=2XcI6ErCUAvaJ5D?w#F97_(`hTlQk)6;SaY
z$f;U#Q9P0-LadZxapJQnv6N(j*$Xy=$pSvh2ANSdcT1cDK~bltT-Jk~7iW>g8uQbN
zQD+S1hg&x*(%nO{YUA3-r)jxU9<M6EZ-tw&W|D6r6J{<%e2u?w((`GdalfDdzYWw#
z86Km}$yoI-T4j^KX73QM6@>=ErP<Iy*K8p#7T6b@dB+A^2?kN;#(6~?2@Rkv&Qq7Q
znB}r$WVjR=POe1E9D;5ueDr%swlSltfW%qxjT@SP(V@hi;I{j$$oxJ=&MRnRvZ?V4
zcdj+Ymr?O-nx<?x@6+3}gvevP8at^S+M760*+j2TV)93M1qwF@f>^iQK>^dv{D|_%
zC}?!?wS0M~hFm+lgb~jEK8c5w(&Bo-qtxD@sAwT&{{V(8+(TF?AXPSu+tZr>S9B4b
zjQPDK<`t%=*Ep)LE6g@vyPB_3<v&vuy9~Qhb7+}8L`*nowU+IyeM&xkr?S~_Xfs6u
zRzh>|LBxwOMO8!|l1t4Iq3gW`g^rhNTl$@jPRQ{a2*nN_qEuwcwWlI7Fe6(&aYT6A
zaxjWFS1x!T<jIQ;TZ!5?L1SCk#L;V5n3d)()opNGTFJrT-$O{yt0T=e*CN9v0JyBO
z)9O*>MRmex7&lSDaT#bg#gh!_B<}0)`|?{5;~Nw-dAD6%QAx_~aqSV8q5Aa$Jj&+b
z@gAhC$YKi5p|-DYX6njIQRBLfo6#R8q)1JOq%!du8mlBw+srV1amOn(vn0cEm+UmA
zp@uS8OI8#aJCy=TLw`doTuDnVBkwk@Mn9pzAyoudOKI7pjZ(sJ*%jI`tQmwG5q4a9
zmueW6<QHihR5<n0j0I#@*jKQ|%{)Hh8=)A``-uCf?7U}7Jx55*rfNmrC5y6CDV$((
zIT)14ABiiEo9(TW46HUGn6^_y=0;T)STkwhFgC>RWFz?W1H%5c;8uI*%`RYSPPVrz
zp;$C>GCf49)Ga!_W|qm!ohxSB<25HqbvA2lui^10LPTwbz4!^d+^12w5u|&Fr1vh#
zC10tnT+@Nltj9{}bsHAQGHj0IA!XEfZd7!YG{wJYEhe}XXzb~#fUU?zkP%3E_V|F9
z=nXc;C+npF<=Ssl?n4D6Op4Sx+|AmAps+20*hc#eH!-Nr@_C_f&=`B%MR<`NBX9(9
zO*+#nq0Ds~O|qFfja!S@LX7qWh2P_p6JCbH$rbdoYRWje<is7DAd}f?(L+|ACpIGB
z#9^X!WGB1BRn|p_m-@6+@z5+iAJf~A{YK%CF>Cx{>Si-cj?2d-zEUKDHs2N<ki>aN
zLg9<br@XWT5Er>1@d0>8(hT2BHSaysJw2hv&kE0=Lvtjy)hRyZ>jaG)CI{iZ&uNdK
zaqs)Jl_f<92~^D0RQ3)-rWwY0H%oKfE`XGAWw~8fZ(EPdth0p?TUh@9h250L2$*@W
zbffPajYQTuqMI&>gAY(KY}3;I7FxfQo*3nvJIJ{GHXVoBze{6!XAs_cst@8zB0Ex1
z8#i5TRZ-s232`R`61-L>Is)o~bmyfK<Nib3V`v7I2bU96G{>gxO1{b|@|YR6I++Z5
zVzGwvWmpVJlO|gN5ah>rS#iLOO#=5x(kBT?wP;1rX)N;WH%GN0{39cHW#=IZWJq6#
z#-@{FOJy`4D9a8Hv*8vZtd|lKg6oX~LI5soKrRiI961iC=#*_&qQtSxe%mFTX!bwb
zpkyIUtt4&8{^D9kKX|TiAd=j7fy0nav>XJ4dRk{5lQnzPBRM4}q`28!JT}6rQQqK<
zNq#+C+j#uevihnkE}NAyMfhPE_6ZS#`oUg3%{rD$O!N<^ptlMmhYN>%hBumMoO++8
zIlh8vE=#Gn=cinP%PWk-F|m9ymf|AIfnMCk*l9%E6K(=UY#L;pZ@nP6i^^rpl?SZ-
zUg7i@yt$Hf3f!)#>{vNNAGt1Pvl#~xL#?veq^VxkM<jSTHbWTI<YZJuTQl?->hn@{
zU(iMk>m$^CMpK(Q^(^?AyoxIEw6uCb%z6`Tr9@N$<Ges`kbnT0E2_Lv#T2fp`fR~{
zP)~`kSe_wwf#gi&r9PKVF6!2v?!Lhr?AXVO>YQdDk2IKq`))Ey+io1dP;se5DI^%I
z&MlK$UxzFG)so<2jMB8FeA915vW*hgOSZ0YZAP1x!;a757P#$oYs^<xZ^b?0xZt)i
z<uq=6O*-O>hTxlqL~FN+7g!!SoqsK~E=$TH)mlKaiH+fEuq)evJOKe^gNlY~;5PU&
z(e{C4_KY|*f-6{lmh>M}>n-tZS*4_}yPHuV9*3rv4pE~Gx!;WQ)>VouJkT`igI>+~
z2-AldT?J7v6)Dgv+)qvMWx2t$zN)sO230M)3+Sn18ou6Z=F++*+op`RVy&yH4mH{`
z2Sv8ib91X`44HvBcyYI;zH2&+Y&mEHzSTw7HF(vwGcQJ|m5SrInAEscG-T<x6O_cl
z!KdJuAb|;!i5<Z)Y`}L#@`-nAl4F>>+=Cy=FDd0Uk6OexWHP38Z2^%u>&pcRmXz2>
zJ<HAkHcj)~5kyz0{{V|Sn7vn7i%d%v;arH?QN@O{p~r{LLc@~Ft+yGtZxE21Lmoq*
zh=cUF*{SvG8Otpx2FDDuorav(UWm=@v^<hv#gx-(rsMJ>h-}M!x7lq)d*Ir-qACC!
zIs#ty*mY&#*0sPAzFFdOMh0;9R}%U&B@5fzUdO?imay1rGcp)$nTUYdk$a(%$uH7q
zrrH`CYJCo50V_4aD`CsHjCNPhQc%aAT`nlcm@t~%Me!D*t4h~0l5KfxRY29%>yAG%
zgsyA#GqFvMH0)uab-~MCyZk0GfyZr`vQl9&?Z{V%^I@jjQC{G<Yt_u_HPh>vR<2^V
z*P)E=_4U?Iark0dIP;+F`9u!?0EULZy6Foqq*7t`L{T1N>QeM?nUpTqm%`x;B!OUz
z;Aw_t-VJrBSw;OG4MkEc4l`>xheej73IkF%U65lkgS(6;GB<?<51#0Vi;1r~eiL!~
z$y$*s`3bCzxhD0_LpHSnq-8c>W-mcvS^+p6!HmMF$zikuU5}Wx=(BxE%d;$lDyFd2
z>^8V;phB#m$gV8hax7Df4g<#uGr|umiUxo~+K>Q`FXkW#C6(^6dZ(ca>I@G?*{-O*
zjO5x}{$?YQ*jmwyVQKeYn9R=mb6u3k$Oai<#5FgYZFdoH!e>i64}Rl^4?66uWLRTB
z+JncBl?u+4-k@&a)9OE`?9CgQe{*RYDZ}-{4R9?&#~HVlv5e8ku9^x)ux%LQ9D}wm
z7Y0@4*PJ}BQ*#X))jE70;|0bc(&YIOO2*^sMmdl|wym{_kpya*pJ3aAJ{-3Jl#4TW
z-D#KHV~;g$N58B53mMAnAZzx4>P=2RlDfs4xc)6sYcXzbp{XIi7UrJWm5#C5l!5MG
zs4m~B1c+3Y_t6%kVBf^A(dKEUbMSn}9FJpjCI!t#C2sVHw4o{sE(4HTm{0y5+s+)K
z7;Or&Cc$tPw%Iu7-Xjhq<*m(WbL~zSD#n=HNu}s5O46U71gZ4_p?UuRuPT;pu!^jI
z2-b)-6Is*@2T$ZTNBsFj(2>?%ga9%|$YlZc*pTAP7MU3h@lBJZt}p9H6QtGn5PfCg
z>x}C43sG@>W09C(k58)93Rnh58hxZ#=;X@V*oqCf-Gc!jRD?*Ehcq20jc9$Ah3j2D
zW0&SSOLtR)Y7kf^eV)acTabho<2>A=Vl8U`;Mx)|2mRnX9l>q4g~dlmT5D^+q906t
zvjVeNZ}MArEnKf@oM$!0ubZ-fF$H{_RvqrfY2TmEkHGgtM>!`g(jyOMQVorc_xbr%
z3|nJ$&73(9DeAn+^x>Z5nFLK^^wpSQ@8hz9LO^=n$%!;}j=G8wBTR}c2Y?sJ<rc(M
z<C2Q1=^p9{lIx@*(y+{RYX1NqZJCx+DfI=sqT(}>C?9l+y^C0F61GmW7El5>3fDD;
ze464-D0DxdS~E%L!j1m`OB$mrGVCxWt9KIfHXLml#ov5m)y*{r#w6C5nE1zV+ZN=o
zkBATpY_w!&uOoHo_Y}Uhwzr_Xe*?a5E`LR84M|L+5|Zk}an}M<2>Q=fTw*i8*C^8;
zX&fa|aaA;1E6B=j>R9jKb>y*MhlQ`JZpz>CG|>n8bbDB7eMHt|k>yK?5^ZTyWi)rv
zjzbXVER~GyM5(T?CSPt_Ankb)x+pRQ1xcAND+YS!>aL?pwSKQlaIHI`%x^Pn4)uvq
zFHqdEOqLWjBhs-cx7|gC!W5UAd6yIv(0hog92Aloxuq7h%rS*&woOq!?zjsa$g#r9
zn_uP`EE>H|`-+V+k?jr~c&@W0ObR^MuC}Vnf}r8os&7yZOws%+Uwu(Ze)+fYkOaz_
zj`ee4Yyy#7HyS`+VPNbx2uw^9XIgO?c>sXg<gtGuR=wI0wT(wF+U!y{48j1ZX`mX4
zZFC2DCX>|uvCh@Jz7nySW|X)^%$NTF2$(eUNoXu0UqzGzk2k?&Npcbxq9jsOUkbq@
z>m3jE8hN3{#jmI;?IgvqVW`nxc}i!q?IJemaWiS@5sVxMfk+&28t%2tToLOoV0FL9
zKCU8SS@aq~u+OrLn-aw(!?(1q7@2eeVdq#Dz2HNO3R4pjWM;%16M6D&;^th{`RL)@
zS;_6nuQtnaShMOG1<WgKUS+uOy~~mnxPrrI+pIcGt1lXmxGiyQvQ;hBdclNt9JPk+
z>fDgx4lnr)FBA^b?z8|&u(N6~*I}{dS4uY9K}ka5%xJe4+6L926KF|M6np{-kB(`w
z*0qk~SNETUYTI@BOlY!XO06cRK23`fIk~`FL`Ky`o&of@N<w6tppvvUxt)#?jYE>&
zsKrPWZC9g~cQzKSwHc;W9Rep^c)>|FB}DBKDv=1Pa#2NJKS}A^Ns_bv5mUDABy@4g
zD#Egq=O|38oJu(x#HbCC@F4{q!1w<Ez)Ld*b4Jv7et4!lhKjnDr&L8+b&BB)QrX1A
z@_Ty%t7sYgT1}CRqKd<gFbufU?e{r04XaDCD{hM^%j?}bw6@Z!43B%L%)pH)wx3FX
zvAc1I={(uu;G<+*6S@LIt~%PbsC>3xD4=>#s2W~Y6#9>e>8?Zg?xaU*Tr5)lT$Y@5
zmc$ZMq;I%DAkelBkp8nqxqL3<=A+9sRK{G1(`leo%O+ljYgb+>tp@0#BeTyF?Ux<5
z;NHlngT+&Rmnohya+Bx!M+;z)w0E_B>pNt4>@2=yC=;;OnWSzExw2?&Pq5uQ^$x^<
zb@g~#b$M>vM9_mugy0yUke^n1xu-PRi;76ZZ1Cz+#ckunm5|SqHo`@G$73|$#RoeN
z40hw8w!*k=D!eM=W+vOMp&%Z$>KvOaqb134i5PBDOcTUzPG(fN744h+V##<-knBb<
z6BUrrsCS(t1>$^C&Nr%DzM<IgwIfG@U8O9z^BNC%4;5-tDLK}HNXHU=_hKq2^JT;r
zTjEMw#Fa+Z!uPR+U)HrywqYBcQ%-hWsqAvh?rdzwF@Z-0`pK5$-ddctY2?~CEE*(&
zQWI&%4Za+eBR;?3&vODn>b;#Y$TZ;&&TQ)ZqP~2fcBWJrZ@X<_YTH7Q(Wy_6d#Pl?
zNB}VtH&L@h6F?LndNY$?nyX^Qn`5`K@f)MAe!~){xYSmki)1WVgWI_vTL&O2C`mzR
z1jX2;-BeUhsY$5+0K}%}O0q_>n!iL-GumpbicP$Pg?_dVCB1yt-DHwj#3l|CVI9I@
zp%HbrSa8)r1d&TLttGLx<8A}T@QI9Mv?S}jQ&&CK-7V0pjqE1M?^5iq!OE%mCO?i>
zTwOa<QzN?k0q;yiY<sHXpGu2QBDP9MsM?Cr+4`^1+&dtl)2xR>Mn&sP!DW)Z%9Xb&
z<jE5<jLVM1<rsMYweAR%2}fmV&!=p|bUvi@Z%`Q0&*nz#XJm7vOifL?mfAtPqW6h5
zy&ief7S7tLWT`PoH&YRijUlQECr8xyJ~>T@MWvv&%(1!*1;%8J^vX%>xRV$cSw|&G
zR@-tzqGKhf-P1^n3%rb!#FfTJhRqms#`WVx+1$uqm7Dpe#-aL|*VUJdXe19!5iz@Y
zh7#_a)O`7YZW{y(A~K6L2-LO}*INW9iLiK`KtXB5UY1$jnd%;&Wv^;v+=Xc{ET0ju
z$00|RA=WCY<xCf5s{-cDIqVhK;H)_@1iSAj7^sqRA;+UtKO#l(<KbrJDmOM&w5-gE
zQKKY??GV2u!ahv8^KF>9VD~qr7VNV0aM(|-GY=CM^O{JyU#Cfg$&B0$Lz$0M)nah5
zyHj``2P0U>b=IUPw%GDv^I@e{kqN~&L<tRhu&vC{DZhnvzUZ9B;te<3@T>H;p60(m
zGL1ZU8?ur7-=+naW09@m`|-VY5QG_U)*z9Q3ylOd=EmtEvut;5#vV0oWFdR%2Co~D
zP~w$dwCL@XM1zN5j<F@efHR`@h2+`CM9yPEi@B;Ri?+eKX8e{-@1;EHtZoIZjqOAX
zf?cLFb7So$zWh0(*tl%$8hx*9GFa^s4TEm7qW97u>s{1i;JMx29i&qowV^0)=}pyE
zYf%QRrsK0BrZo2=Su$$Tm;-{o>GNPoNw0hgV%l!0OpSF6y42Kp^gQa73!70LbQkhP
z+G(o!6ME~5O?ti&;ySIS`1HSj5u^nioT5t}WDYp4etJSS2)H66sM;E-swt6X5bG)Z
zQfYQ|k79N((p%QJ#ECYrtQl^>hnX2B>{+snIZ0@lHQBW$&808|<bp!9*IXAT#5CeX
z1{pDZ?mLp@)p%R5WT~ki<z-bp@c<6Pp*FCA6p(<Le2_@d<R!NClVx9!=|vZ*Y<-Vm
zJ-K-8<xJ(00zJ1SFyoOTpZxaSY#ng`i5qOo^4D^6ilv~sX4gxPEeEP&h-_6F>)^b4
zGj`7w)U5AH*B*K-Hs(u|(YPzmn-*`gyNa&4^>&?Yq7)_Vt1YLLbAGfLg7_8tZ?f&@
zZnMSpQ#w`rMrPkv%W0|$_)%sn5Mqc%f;K2noOw`GPzC96BdPr=Dr7DqfuV_Lwpm#Z
z3og0Z=6pGj{*w4YU+lj>+os}f_PA~WL|xXF@KMasSC0?2{#UOAzh7-tNmtMJPN+1e
zB9oQro;{Jz9i>XDYu+NCE-#9!Zl>$=`G8)3ZMuh$<rAW6t}Td-h%(iMeZ095k+oHj
zv4NflEB!m9s-OJS`TGE2sSCZOfkeuPhsjfIlVtP%0H<CR;WAZ3U6ohJr(YXzO$3vW
zsrf-P*?vCh_FlXW;)*VB%kRhKKd1KVh?mDr5LFa^O8NSifBrpl1UD1F?1;OlsQf4P
z>)zj(qscd4>GG-Z@z;bj5>zJDHva(UdGpthlD?Xb>S9EwzokAl{{X*^yc?tmxcE)C
z**EgPzTJ31MiqN#yopzR*L3~5@@j}2e#`N<UP8JHiiCtdH(j}H^Zx+1UJ+Au15{K+
z{r>>#zg{^bN826#+;&Cr*Tf|Q07U&s;E8rb>$I}+>ZXPyDx8;X)RjKp)2~9|2I#x)
zn<n3>7w(=Hu3L&3DSu7=di0CSmgbwPuH1L{>x;{(SL5;<?AlYLz(XC`ktNk_#YNo}
z!9q@d>+$zR**d2UImBbxGiOyz0y#4!9SH5#M(wy?=0^;hR|pkQRY#I-v2EnHONQJv
z6xdaM+*EhluFU}Lv2h|*UAG<f{^{32BXnQbT`Ij%O4OQtG-p!kB@;OH48O-oiOj{Q
z20}6kH)Pys?J6Tpx`L#RxNfUXE2eFuLWJM1wW-M@xcywH#)|JDZK<s~tcm?#giVr;
z+zA(b_EhubJoQfO9J)Nm*B(51^0EMmabCis%9S`(P*N#KkYtTAsk*Px!9JoSUaB)K
zF4SCu9xV;jeMYmQ$4(<J!kLF-jJIC&UAUYH#3BaLpr-2j2!n#Zq!AImgEmka>I!<(
z(H$#S3Yz*N2zfI%(W5_#Jj1QMB!uKhLIG`-$kE3(R872siYn}zuKxfD)jX{9o{l!H
zw6N-hk8wI|r0u%c41oe`gPc%Q`2dNkrrpsm3AaI(`VExnwH1}z+~pdt$gFsj*;8XA
zCPQ~SEDMsKZ6mg-N}Yv5U$XM$(8TOpE6OFog^p^Q*I_#+N9$5-LXr}DVlN!!AaAe(
z5=kI9E(n3Pz<{AI6zaCe39TJpWiy{Xg{hd${T5e`z8ID${zGE@iN|tvdr}f4qHXbM
zraRsnd8KetOPeUF$7mZu9%QLeXPMu)-)e4U7anY?*i?|>E3Xq$B=R|GfT+R%$tE6s
z#?Z_FR8+VMZ$Bc_9XOG5X4b34Y~$RLwNS)aDI#3hZ^miIqoNuU?ks7*vRO3*?V4<f
z!NWzUd)VU9iR~)FG2DHKJ1}nB6q_m0O~xK*&?`mo2txBNs3@D@PBzaHkNHEi;Ls6I
z3ib9)E#g(~ArvJs{NRG^Q&C%2Bu}?|l>z6(o0+kw5N_PYm8aQ77dZZKZmt6LIgE<G
zvh>Uc3S69Hyn`ZjfrWNICRcFD1KqpL$r9Rd-T-nqnVW8tWTnG#AE%pPl4>O_R%uC+
zTAhWwy12GBv5m-)BtVWbj2noJgfJJurw|`;WDtk~A+ID<jf-jaL#jB7@s7zFx`^%8
zH9FstMsiCnI`dFwv`sid+wB`soi^8W+>yrB5j%YW29zZm00y8UE9<)$RlffKFw}4e
zaW7&(vI?VmzPbz29BCoRnJIUi^kO$-3BD!`n5&K$Dm3t<43|H$Ty@Fr*WBWvLWMIS
zsG@Mi$cG+6HDuhPZNWKgutO$0oHj5(W#L0^P;Dx?+U&B+3C^-eRZt@81~C2|ol~0z
z<1%Eq9ocLcswy-j*_EShsO*F?6}9?=Q?3{#&Ae>y9L%!Q7w)7Jk#2aCzfMO;1z$PU
zG(_%u>fXXW$?V(X5LGrI5?O!lA6D$D9f@rms9B{=Jj${xZZX^3Sz^=U=GbIGng=o4
z3TSP?wT&E|<;-27m0L7Pr4o4DGjE>VFj7_udSd=@hFeo+7)+}ec?~^;`_!JqYL}dA
z+%RVO3vM>O$0h>0hSH0Krhsjx!j^cwj+ki**;Cs}Ir=Yi7S{>Aog209s^ck>FrDog
z6o&r*3YRju$AuJ|MmHf|*sn)S*)v6x%bGBmlT#@-{3=X%$lH))0e7IdjHhiu1eK&z
z9f%YQ&n4Jnh3+mVU!K1x<(4e1r$JHbJ`0iFY5bfgHO^ulO#?8kX1dMi1<`cU%q2oW
zVK}328z?c6IRLrER9A9DD=SN?;mzUKQygcRl~H9X9N6O})<O1U!!%`=k->0w2Y8~Y
z8VZUI%fVBwbXfMEWqMx6ri)y@_V%`vT8l?9Av-?qGhnDy#A_L&MqY>8XhunFq>KuZ
zuOc42XSVrOX135CSvVGLt}|#BE!b1GMC67Xu5?HdwE|8_%uq$a**j{j?ueZ=k8_C{
zYh;%-p|x(DP(H6QTE$*Rcan)$Sz|h%huzMw2%g==ta;YjuCip^HA3?7$06s%#f1B7
z#Z?e}SJOzwb*EA-J5VCYlFcl#Hb6U#D6&y_taD+&jj+cikh{oBvyJjzD4h{pM$_D)
zY}|h&_gM`>(odm~b1b-AHC;J*ON99d0w^~nu#p|jmxHY#iis<Tz2s5eQrAD4<?iNF
zUy+S9Q$H=Ow5faX@n{Q!&M-3-$nSIJ=@Vk8r@A1vh0|Fijc5Hg(E5H7<YOOB&uu~v
z#u>YytA}xl$*68-HE&|%m)WRWH!Ir-&$>YLK@wJ5?Y`po+4`GJ(8!xo<6)}u>Y`z<
z=T{jvIeH^yTWeoo8dI$}%C$9<ASPa(`6wesVu&m&VkN~ClaF7ZOOjP~?*)YWa*J_f
zRq|eK=1s|Mx+>gsbj(sDf<z!;)a0b#ZOj#ZzglAUqURH?v@=X7A>7xy1cxHWtl~JZ
z0jCfVS#X(ew9=by85(kARZ%ukB?U%27dXn|0BP{3J5?pG0irM}Ps)Xw=aDhy8(f!D
zqhn0Wwn;QOR!3m1NvW|RCZsas53094qHA{>CRcYA0R&Lf$<CT)`Q0W7D+kit7A8L-
zo0lt|$aMy1H=b?g(Al?%5;I5>72V0yj@SS)@`@muw&Jh6YfE&SOETu*+h%n0vmmcF
z<yTit_t#QmIG~J}^L6J~L}*Y@+CU^i<?c5=WJ#K3GvCFn<hN5zgbQ_qVPh8~ZP`sU
zh1zNJR>)Py75?KqNV)E2AmX^Hy-7TbnYmk9bJNjRhl%kV#NU9`Ug^v{y5~_TsdEzS
z*W-`Ok4-|=LyeHUBG?VQmn1rFN|r!w0yyTvCh;gDlB<ZHnVHDd4S&eBDhqiXV{o%r
z(CSX+=0ZS>tTJ$#da4w7%%q+ztEf{=*AJ1JHd_cEM)(F=-kzOQ>m04=6)(&<%|yDa
zky|FtYrxv7vmNv&9eL+_fY$+NKzSC+<ySi8TCZ`6UdPpp(wjVXmL1yv04}t46tSwF
zjO2x3mf}^#Z07I*2V4ID9{CR@w;}p?0&uuu=|O1L!>(!AiRlRh)33r_dXvrHnW`1P
z{_x$1<Pv@gQokhMhi_D%754QHHYo8z@g_6v!&i*aTSs|`{AoW%F6mBnqxf^utg0WN
zt%D|1HqE)wpMvCY><l3HZlTwjwni=~{{YTIbhj>i*A!G|_@}B&pET0gk=x4NrCW@%
z8eehPiml3+&0<oVH(F(>Y|r+EEvB5}s-VDb;u3=0`dI!Ubvh%MW!hz`6`5U2Gj5}M
zT$+-qBbBXAhA7MJy3qLc=Li@>io&`PmMNnt^`Z{6kh(}*$o4yUDH=>~YoDzvb^TOt
zQgKXU0{mYzug2`9$AaUv^z?Zlk{-ZE*lA6)Z5N25ArgICDk`sy)G)Qiw<~J5H=g^J
zQ8GGL-@_V}UfT{@Mq$>5Z9Rert8H3WsK`e6iVT1hLPbziT-~d_uX0S=QLiv<J;br>
z_Y<n5jc;K%C(DlISt_EpD9yAJklTBSkb@?ODh_S*l66^I>YBwb@wu_meBCb8$!TGb
zP%EHERV^JF_pKw!6-18Xa#4pJW00XJxT>P0CDcRc?_)F8{{U|eJ}IyIu6JamhtED<
z3q$7`AC1h`8=RKb4SUaB$VcUs21Pw$+SjX1Bz2JsZccCE8TP8Eit%$bRpHQ%QG`=u
zWhpM^ge!*{TEVca7UWC`uAnp`W-XzyGq9!Gk1$nvGAh&DSGJbe9fS5V=HX?V*T^`s
z96QsrbY6zsqIF}dQNW0h8&u%E<K(=J&RkWlX>o5Rf+Qu$v8zawwlF5U5vxkvpk>OC
zEj-j~5uV(#f82<;hZvxlJJ|+Ekbw;hNWMr2X*Ws?j!;}eOU%X_(TezosIaXLnWL*q
z1;;Ul;nqcoUi+U_qbSR6E6lKRIjc<zT*#bME=$u&vbz+MS4pn3GC6p>i^>T?7Sn8D
z$rc)v%V-Q&%uqkU<n|)6@UW<CNCNsxyTuT5KcUTZ>k?d>1FW*6dYc+1X=_<G4jawI
zHIX&MN8c#~NftbaZ$fon03?h+XxNVSc&2lX#nq{qKA2}wE@-kBY-uxXH@c1zAm1EE
z*mdZ@a(JwH0|r4#VXl3b(c$g(ytci>KRX&lkIgk5duodh7>t_Sd~;PgeXmw{#k<&^
zNioW~ShcjOYs+cS(kj<FEQ6}kUfc3WTnPa9k#cdKZn8>ZAV}T7{ZLZsW=}4w332}b
zZ-vf*4~j6?c6(yW$m7iOFYyMBC)CO=#M1<TyS%+4sr2TTQE_~mTy)MQgi0Hl>h{>i
zZt?V$9&%PsdL(w{AvoD9u10n&M}*x1Cm3zV6N@UPHJt{j(QOyWv29MuY4K>0!I<{8
zY-ZB`02XF@#*PCL36ShIC~csV5zy5|-r+cao_bk?nYmqO)|BDJ2zDkH_f1+weG%@r
zQ&U!5*5>+u5>zVI>0WBW4XqTjgIr^~tpYtAz>v#e@G63~MnEV?qDlfi4QS)<wUy^M
z-A*H8_%=r&`^oPtl_*TlaD^On%0M`Z(}3c}7ZJ9|+ayQD7iH@>>OQ}Em8Ztw;+Z2>
z)OkKX0miQFqx)&UinMPljmU54LUpwTB-sgDeGLp(i7w5+&h?K2w2hXQBU@g~y0_h?
z7*>x}HY~O%FSO-kM0B53-LpRNCg_HUNIzKCFj6xP8(N*Jcxa>kQ)HZwC^w*54@C6}
zt@;Z+Ikmf+9qe`kY|yAu%Z(wH6p=llJm9Nxdjzq?96=Ki+qkMKgt94PWHIY(>v3%E
z&Ml?YSjq}nm2nOQJh@=vl!i_-EGxt>35h$vl}uVfPpf{jc9ZMYf01cqXY}wJxm0u`
z<CP7|md|xnp%5r-ywb;YkzV^`p!ka}pr;*?cX?tO$j#mLelqFFlH+DkZJ!v=s5d3E
z?;K}9IHM0MttjzU)qgEj4Me#vY`7<|pA%5DBE_}gq1*-2+eUQrA7YW&`DH^EBHZUB
zM_CUz`%FITJ%=0zUT?a}n`8d~FTjs7LD+br1?ncQR%p~)oS#wZuCjV*%_Ei3TcAfG
z#1%7axH}yQS_DxAaE(MzfR%irBA4g-%cs~x97_jxE0tR}D8EWEemSB$Ua}C)i9|-6
z0C#Dg8}1~eEw23fm0PD+E}v&L*iK0OjGTuoac5aM3%JdB*fQE9{Cj&WReS*)?eY*J
z4ny@Ja>#6jkIf)7Iu1c?x;D9uWKIB$PmYyBF!h?*{TCfXk%>%^DTs?ATpHp>+mNZa
zv<#3Mi^}G~!;1Y|Dz6=vq09+2R=_c=?>EJ&=!#rvqbj;2XHXe&*N~kjn?>D{R@-lw
zZLk>;Z{<4CR(ffPi{)<uBzY2I$^4IK>9UGy0;1xhYA8gZ+fB&{MN@S7UcH)QHISVg
zrjUo+x=~R701!l33gT`;1bcl(n{J!#zxbDJlcOBWr?Y0OuljtI{{W-(2p=D(ptY(@
zR+)fOXc9bRkl>?eo394ZP<A%KRd(3~!BKYHNmHQxKfA{m)tskDDsL>3)~-8J>g0sM
z2NgR?ykoBG#MDt$1e1$`hKb2Q&<XTzBz)UdGW+ME$cbMRKMs1cuuZ=V#6+7Pr1se3
z8%7%s!4e9t%88pWJTi>+k3ZHb*qHr=#zz(DAl&<NjE*CuX%aH9<1Mn=Za4@c=#rX}
z@K-q^uTO!EleA`Sf%8*OBcc(w4M`qB6kqy-(<)4JAj^GW#D$Lj6#095C9iBHO+sCO
ze<3$@!rS!z`~8!y9-j3_L$$vWkF5H6NVPbmD+k+CVHD;QtuDlFG^@B5lwG{|UHV;V
zzwqq!A?iy@a$P$0kE(FuRZf`};~S9cDps{l2rqSm?tt?UUBL^HiKmq<*Q=ct(_Itv
zr;B468H(p^Pbt!-O16?>sUgP@kWItc5fMI=0Tl3vpTAofa9Lc)o=bta8Uei)U2!0`
zNn1woG^slvTaV)Fr;bzQF{SCQL~!db4jT&{I7yy{hK-ZNtHqSu7jRwGcTKwI=|@X%
z_11<B&Y?43651wG&4SlGP`kAXSP&a%XibtSf&iK+a9^Oyi2yh+s#U?T7Om%C*o{@I
zH%=q-xWNP6(ETo&DETe?qOYErT4|^jQypB!)~dck&$}8X&yQ_e6*L~=sEV(R(Gh;i
zzI-b6$>xqMJA^EydEI&_ojlF$Us`QTBK$uVqSK8ug#zm%W%O;Lgv`gWl(BSx%}a{7
zBBr97?1;O6RNr;$J^IJ=x2E^ngH5b4GFMYAuVJ66EmFaZ<1H$yZkuS@CvbN}-3#Fp
z$Bv!%@-HB}I(8kOGmo<Aa}}_MDYn7xN~-9%&h2ihs7gwUzS|OQ<DjiU%`fv7mV+?K
zVcfFW3agNuH(4Y^@Q6+V8mcbqzxCV7B5jR=?c>DujXZ1B7QQvmyAETeICWpLQE9d{
zi$6MMb)RYdUA5UEfL%+5k3ZW{<L8p`UmiE(zTbY2G5l&xmNK+;?S2<jpx{S^7CJJ}
zA$Tq#iS+OH+vllOgIgE|G)BZjZIKghuOr%{EC{~hc7S&jRru>tS>ESVEZAdhC{SjN
z`g@|$>Pa;4ZC#QwCL8LnqHa6*<GLrGAHPQx(J6ltY#_U{!{c!+zv<WLk{ik(Np_lR
zMAHp&b^hWa3Uz-;qThzcs><R@a=_-YN-+V=ki07Hs;lw+dX8C%HG8hCjx+xNfua-D
zO+=5Tbh0cYMS1c7PAx|sX5#LNvM2Ult#tCUIMphmlaJB87|nrkrlpSqBwy&i9b8mZ
z+&3M#nFT#?`}e`dz1wKxjfxWZ-}dp;O<$XtRl>G%ve7AJwFu4~oLNYK4XEwQ#@i}%
zu<XDwg8Wm106E>K1YtfkzBz$4irryAQ@8qLv|P=9qV4^^eyOQ&?1D9co!d&B!4x1U
zs*ob0eE$7s%R8-JsKy~-*uF<~Evx9Lvu<rHc($ZV=Yo-L3Guq`zn-XRJwoe70%43(
zYAcErQwz5HJ35Y%FO*XxRWRS|zB=f_NEk~<ubMW`8{8@l0@-;5z9*xYER9LHsWf?$
z7TQ&9e46|Sr~WTJM4|O9j%N83a?_fWvV7r-*E8n_w_>z@H$GoGe@`7_OoLIgjX|1r
zIgV92z@2qnQIh#62`}73ek0@dPMq3*qE@*+6)Z42F>R}++im{zrBx9XLQynNgi`+f
zPW%%X%F1r4W+~<QSS+2nj<jjpEk&=l&*_+u$*IU1)F;)^^Zx*WHr;+U{=F@=Chjh-
z1PeVpyqIjkbBoaCHjE=KlA@uG%jd`M(6m2J@+;+>TMUh)NQ#RyvIxAq?XZ7czkaS+
z#xiPok)z<0jx!kMeq@Iap6Z`+-|e^Gpky&dL20TtO84rCwBk;oLYX0~u1dQR7wIBY
zEzf_ER898VevMMev-oVk->=aee6jZGWh+FY?=o=(5mkEh#0Y}ERXUx{1d~MOf~3TM
z$I`xb`0Cca>U2R?;z>65`A}VvdV>-SaYQcaf4@?}h8z7aB6NpPr?#O-yh}&mJWyX>
za!JVvetvxU{raz^uCT;-<Q6RV-f=ji2w$aDcifdedb(K*j=(Fr@8x&+>O`j|$A<Og
zdwagp{y>+M+wQ8J0d)dvZlWy7_l`!iTJ>p$+}+i6JZ_&TpTGC$ula~<SrUfRVk#($
z$M4YfQ`Yu%KIY}J7Tx56n{h((<#zjj@akPmR$#P@Fe-z-{#T_q19ad>R&Ac;<v#xa
zJxFMU7j6FiLju`+{B_lrQGR~?E!rkGRXi7c*RIX&x73?;38ywx>R2x5i@xdmC)=f+
z6Gp44Hja+t^VgRAFZy-Sl}<lBdRF)NPJt5UO|uE4jT{67Q4mBEWEB0AuZ$5k=P~4p
zpZI)r-dtsE#pbKy$DX>zf{(U9sl|R&m*cM?%IwSWOJ*}8?py&wU6BNLLH>%pNsk4f
zaUMpv?w(XW7yUXL)ci{)$gyCm#jeIPzVV}Q$dpi<Mcq?$MO4{#U+cG3`3|DpLzzDX
z#-Y0=?kpjY%dR#YWg@TD$7T9UWM3=ebx$1#Zfy~RmhM)1v6@Q5=%0QRBYr_JUfCH1
zE+nX;Bxs-ILQ&u2!u<H@eTeI0!<LN>cF{8X!ymNMEd4GxZK#+KDzDZq2@j3Xw?+G>
zR}8|HUsTpnskxlfm_n%tjg&-(^%9{Fwu!p!w=X_+*?e_xRfS^~mSK~A5W|L%)BgaJ
z6@YC^b@IEX%Ka(2swbcA)7Tis_lKID?t9;4xzRl*$YI}2&2FcPq?gO<LnC?SNjB`b
zj(?Fh6-Dr<NT{2lCrt}-;M`bnxRUHDf`WjmJ1)wopLE}C)6bry&WP(xxXoV$R{;pb
zg%gPU?uqyR0A08Hb;0nK(MDIJsj3>I=<8$kc<{UJ;eIw>AF}jS4j`c*wxL(kFcM9p
zoY_2}j=F%_A`<R`sGBC+uKRfYpKh*cp##Mou~9C-@+VbyA>^yFD*e?yHtGxrfZpH@
z{;0~>?w>yhtK<Fu0N1EiS!NrBE3f6xMvUd7Eix)^Ae^pBEqM6ksH7>s?5Msr->*0q
zXoL{ab!(A`Wfch{5y|4R%bSaH7-U=(Bt4ZCciB^PQQ1GQ?a*D0xmw^)+2YR8lfg?`
zEJBwckP1|gK}AwUU(iBa`KOJ%ex=*4m3qgb7&aSaX;xDq(c(=;83NUF+!}4f*bEU<
zlcGq8<vDM+@AAIQp=5b>MV4jpvIoZ!$gzm8W3#MWNliGfG^P1*R6yC-SLse@M7!?3
z1rXt5T>OvFCC?*+bH;DUcw;Njoa-}>tGNb0RQ7RE0TN4;)(GUN?GhuOTVh;|utft=
zKyg!aBt`Mi?u}pLUbV7(s*@<sTbW&L9k*eH6abGdG&aZtQP*}OX#1S__d8}lWwS~?
zde8o}^nj>pbmvR78%qJ<mxey<9EKz#ZfuE#B0PgMc-2c}1@3qyAs3g<!kucLOE|FU
zo}IzLUa0mr3g9(=Ev5wuOtwK8DP~Qt<|&FaC%(#vV17|mdbQbG7G_(AB_N@Y2b%Hb
znAO@-jA;IvOT%$UOvjGgR{}eZA~@j}lP48?DY&c1yluH`sGVkr`mvDd+1q0oCRGXM
z4bE`lH5Z?_c#~r`ck|nQ4YT4Xt^uJA%eMVHwZ~G<ToA8;0ZH1EBqfd{WNsktU@Dt0
zG2_hzH&RWP?7d){t$w@8^@?;kcWt(im5Ea}vTeHO8f=}ENUsX_n{gBxF=emK66B<t
z0;*l~*c~Ga<=tofMrMfvA=yaQeSOikDvmvFLi8zZ!;rS~Y^TeFk5+@g*+6PYMqh8b
z5dpdiJ<$b1J;#Y>9bwYVUd!PzgE=k(l=jWVLB%mAotX|Pu#y~UhaFcOA&RkvQ?bq|
zetM#cgK9*hWuE1Y*6O<$&R<tmQE~qO$^{97pl*2N6iyPp%WzU!IDsL=IS3;1t41J=
z{#hFJK-LV+&YVM`(~NG`qbJ9hE1P?1xPq|?p^hTTJaFVmR!g+&gsxa4CP2$#s630U
zBiV}3DPwGnrAqUgyQ(^knAPA`_<m84_MW-NW?16z(!NGpQ5lA%BomHKp+=C<G;r2q
zid^EM33G9v5>sn6ZLW8y6ZD4+#vF}jQV9~H4rB1=+Km)qHc^w@EQbz6-Yz^Q(|aly
zs_)$7iJ^7W@H|sd@oc9e$XlXf&S+iR$;Yup8wyaC;`X10^q$nIeg50eHx>3cfS@p=
z^ob-q>J{cerqnu->Gw|QXH;Gknd6J<3~1pR$|=5)Uv?vMN4^0y=;~dE=9(Bf;-CSj
z5~vo`23Gqf=X-A8Ex$FMbS7T6dVS3cTQt8jD@poT%TjW~#G|8fAi|X4u_Rw+TOf|G
zDyZAYZMe&BxYD1{ypvC4)LK2NI&b*i2`2_}ZOc{C?aNQ^7K%Pe0r$uO>pD5ejZ|1P
z@hY=EGm9Cw712XMBy6&TA61&wp#G>6T`?>+lMcuznfy2TJ}o1R)wct-jX7BCS6pz4
zJB_M|3Yw~_p^BoSb+qt&XHT_5BWFFpeLO<LAx@n(7q^9ucR`1wG7H;*755y5>Wi|Q
zQg%Cx$CJ&pCV}DbLKzMvk8q#^Uk!>JOo5np2I_jUg`}7^qUkNWISv_$Lbj)gH6r3v
zc?P35Q)d{F9s0rZiyRFcaq|4eo-sC+wCx|BAzq*^!xqz;DNvJM^eVKnP`rKo_Aq4_
zRgIv$E^w7~SYG+oP}}+i!gL3hhQU4@Se!<%>>aEh3dAe3=W(`;Ei17+hF%w*L}>vG
zoniya?W|-0Cm}&YRaD!4;x5R|O!d)eqj|)9zYg^l^~EFTtlr|YYTlvE<Iiq1jt6Z8
z=Dmcj<A)uoZUAwX5t~wN98PMv-0Vgm7V0|cp(_duQCw6XRgrx_>-MMX-K1tU10$(^
zs+s4Oj+YyR+-gWl;eKQB839Bkbwv!HK2ErbibdyS044myCjnJe#Uw4aRA1lzzxnju
z)^Ab%oAvJ;opA4?x(p9DSDiz+((A|I)k%;@3LyPtrkrGpen?9l#?5y{**@wytRyt<
z6OFpx0aJ82cEp!$#Z-iRqORUI9rr|4+pX*wtT{_*=u&5CYphdu)3#Pxp>GRGb*8m*
z97=|QO4iq1Wpm-B8~{G#nDCY|sta$MfQ~Rgt&t04svI{>L8KaN=73@nG^Y)n0f+7y
zjx}}d$FaAY9;J=s$!JvhnUrx8eW7hRgO4e2AZdESnrEq*zK~|oH3Ls>U4>^6x0*-e
zwAqm``((@Q@pMQP4Wlvgo;O8Jl@U{E`aiVCJxAMRnC&Yz(kN?It;<}QV}xms33C&I
zZaPjlF&QLeo<>02b8<CB9s|>z1QF(aC`!-7Nr-cr0q(6K>4QY8>GHQ;ug7157@oA9
zh+SfGTpL`Dx#T{<9AbEZrW<L+f4<-%KI2Uu+kyf#=jQC;xwAJGI(a_Q?=QBxhgo4)
zOaisp1W4%Ovc2zY>+t2ndGqGy_>&e?MM)8|>oj_Soo%DHb~;6%xLgSlEaS&!*3K13
z3^**4Mu_YCnX9ilE}O`9ADRfQDkl4HdFXT3R+2%|>G(FUUqZan=vEP9T*_z-C1UO}
zO~q<|kIn`aT4}*_ITK`P>uM_52U%F0CL(BmkkejUkc$m8ZIiNar#+Rm#-Qo#7pa{$
z(ke{P@vL7qlWq8>IL*XKQ6G^Sr;U8apa2t)+;z7Un{Zs?A&x5eE5fVRW686PT>cf>
z?~%py;U%x+{I0MlQvU!eiW1<zJw*^CHv0C$BaSxXX43LhHpNtw(XvL%+Vwx_?_ND;
zX*Mg0QBt*Grx`9!SbE1GTdr><rWo>n41P$n#KpiOHwne#xgi)LcT_}MUM(?<>(b1b
z`dx+0p0yRtLdTq(XziI*LwzMPHHIHiWwkhhX#D0`?=Z+R(7LEj8qouCL^C$WP<OqF
zUU>#wfccG(AFFRl<)c_Dc?}+s(Z;K)yvNvYQ=iHty*A<bu)9*>!;WAg{BwJRwS0dq
zunon+S5XzG>5e{ho}C`leOI`wT6My0Xs`sFapOKL3;R0qKD#&()#nknOm`<xg|sjR
zoL;K6$6fI3%h8T)dzxhf11Zegq@#6kzjXY2(q*xo6@;;{7u^_bqi5Z1wQZ?|84Mf|
z;)WfDF>Q+Jog4|-<&A{<5QQ<^UZNbQXT1Tz+9YOPXgLGo$vHi?`L?Vu%TA{r@;DX1
z_n4m9ZE@#dl`{jfW!k?zd8s<FMNhB)0K|$`KZ@Pe+(o;cM#RSg#ipVmv0l<kQj~xy
zQPf%FlAPpZ*Vd|BQC8zqvP%rZ(|&!cb-6yDJrgN?lgr{+*!JW~1{^?d@R?Fu6O<7E
z8$@hLzTk2v8CMifrS67e8b#_q)Z4RX>O?Di5o_JExyx}Z4QQOQgBhex&V=f#Y)W;+
z?7Cu|voci?C0*3_B+IMuyu%d0GmRU=8iQ2DmHq&aP^gSXy}_p;n9B$58En7-NymF8
zNZ3eeTn3tPm98E(jt#NqYp>}k(UFRI14`-0FIpEzkYG9WE;FjoW8;r%6H>8z7}>n3
zRo$0;xY)pxDVYWgNRC3=pi1Jn0H(pH0-`BQ)h%iCN2HKl%lnnO$3A7US3$<{YloxP
z9~j2!xH5&72e#O@+sE4jA}1BFR?$$L8P+^nF04be$|MGJQ7(P@SmtFjCo8xXm2WCd
z3is+7M%|YG0B}&$+9Y^U$s2;IBWSwQTfIHhBc;x37@u2c?6<427bt6e+((8WECW@J
z3X@q^T2`D!$sHr_18cw=Ltin{OFQc7SBD@s**CF;kTK<zBZ;Q9_1Q|sJxge|v1btQ
zOqbI0&SNofL8Q!}V7Y-f%1cppNldR-h1VEX2+Bl<Tyj&25r|vhK04HTUxw#CpVKbX
zd@DAOsI@dwVo1ZT%Qe3C_YJTvu`M00kk7V{?PCh?SHM^`6YaQee694aNo}HE)L^!_
z%}Q8F$K<z<Vwl7x>8IM)jHlZt;5TAr7RqBP`*Gh*!S!I=bVbM0a<kO^a@5)l4~LJ(
zqqB>1nWeMwqGUIfvz(=@aG58B#xBwgv<Qwk%*UD)78-m0OQ52&$XNG=HPt(UY6a`h
zWak$c$qWIfemxPvHZa$9M;6SdVz}-xD=W(ydaCaah7s-P->!z>f~pY{{ioRnc4?$A
zWebQSjxvm*0|QJwQt2*lB&B4svphE0t21){04tkZ(+tOOU1=6Z(aqN)Gwz5ZyD5>7
z5~Klc>zqBn=DMF)zN5Vr%%3f-8mi0LyR@*#E$egX(pkBQYT-H#yv3Ub+HJ%71+Qcs
zvthm0v})>xZ_Yh(Q|BI}ZF0R&(7RlE^3rQnH1Y5ZnaNTh#d*eCmeRtU#E-;YBR8Gz
zGT=P-9?=m2FDbDMp*g|J#9yyO+%6r{HjE&i1%G34TmwZl{y>h1`hmoA9DZUyZtgJ>
zEJvd&t~|?)61K>L?J&F<LSVO71*Y6iUR7sjnpuuQ%gY^@ZO%Js4?~BL47pDfc{Oo?
z_i7}9NJUjub=O#A1cec|1;kYm>-p2G8ZE0CRmLG@r1^GrPh!zZn~FaZ8gCTK8HW2r
zEIP#xCgRDI;BjQ-LMG-fZ5nBv_8yzQhW%D%ewlO~tF3L#t+LAM?6v90>ug4DJ`-K-
zN(zJS$ld4<xycENg#nW!(R;*%a=7Q^o`KQ2qlSf4=%H&buPqjw)cgvUOsU~XXG+H)
zVq;Io#3P*HgCW#@xy34`%>-An^D$+C6OI`Zot0gYQ<uzVO*Fz<duTYuKVUXQHD8-h
zDACW5+;<7kCE7d9zYbzNO*V==`>4vG8lcOEuKu1is$-Z}r_E5qvjTGkE1X%lc5&N&
zV{yo=8bTFSaGq_}+Xo}G+Bn)8o1}xpdcLyL8%%dfvgWYq(BVt2q!ufY=v>ZARg&h6
zM#vp-8zV>!3mccfx7;20igcdc`NnNhzmIDUg6~y<%W~<wuMLR;EAyz?j}f$lo1CcR
z`$XHuDaqzk`z)gl8i!%$g*G;M64xBSahSTAzUEDZy;aR^bOz5Qv*80C0E$3$zk=*C
zIL$W*oBZ&8Yf>0=oke^cSgJgl*$JsplhoxE>`JZ5BTKBz@%C~YVJC}(%VhH)>(Rl-
z0K;T(n0IpBTM1u6BBxbT>1Af$gyuSVZ$s~<*-fgxX^OIP6NfFbb}>jnAd=!noZC){
zseu!3nhyanL@?*HT%a+u=&J4U#kqRBB68~bg4xxT4#k=rZo+JZSjt`I3HWGb9n~Qg
z#nzNS+Yt`e&ef0leypRvsmmGD%3Ij?HlK^I!<1k%VY;lM%qX#3CegBG#BJjN*~49w
z5eQdv5X!P@%2TwCrye_%={hrU#H6w>v#>g@t52{ltHZOXAZiVZ1U<tg->5PyA6*u^
zOFUk-HI^!em?cEXOt$OQhcmw}Z?vv(+<>Bp{{XioR|!?N_Y+ewUUu@bl|A0N)p%jz
zd7#x+)3c0Q=@o+^To%KK*`&%?)=shBeA#6?sNe(73n;9MhuSr4$9_scZUH1i#B%*f
z#AIW*y<J8@9hgkWplEUl7BS!(6BK)A9#Z~G4lv`yt~y3ZzzC59ReGE{lZE1$0pC<X
zJ6v+d6tHg~zqqcTh{G-WkS6<u1B=sKH>3&+CasAZ;36Vi)K-~RMWa`kVAbm-Ev?+P
zK%!Zr(B(;>s#wpH4j9j2l6EX`H9~op3FSct89-h9dNCv0VR7eADugl^n(7m`s^^~S
z#zSd;6AhQE^qEXNW=sp42sAjm4pLDv#DsD*xf7ao*dY9b*uBHAAjJU%MiYIIcGuNz
zL9e>hHCRWe+}5_^O&&L4-dB|c^=#*zM_O`QO~@!uNG5^PM0=Cm7k&U92$W@Y=q|Sz
zy3>qvR&^4d9$aq5wWZQ*@w>RUmJu9YAXSp$wCF)`$3McUII2j5h5#r#*J+M3h3Sp(
z#?!w`8D^#hbV)Bie}dk{ug+ky`0;&-c>Ax(6IN7JMYD{mqKK*GdeC$@X24wLnvE*Z
zJWcK8dr?l=F%FzHuCdmHpA9MN#cJxz5;EYjG<uSy``IyNESdNfrU+R4TPEb7IQ*zp
z?>jB)28hg&)kj7;87h(~Y(hO$71E_fuhiWZtGIzt?g4^(-&k4E&T=b^`+_#eWJ`*%
zMaGE0U!4eq4b^q9LmN7*I)&^VF??zj9#@Q`K`N%ztbVn*ZkFQfO~``*#uL2Qnr`cB
z24f`Inlefo^v01%lhVit?v1=AqLc2mWhjW;Cm)LQ#QVh=<@ZYSfbb*a28!W}YTBP|
z!-6o-+8y^)Je>6#T8lW^Xmwi5lZ#B&X>;o)R!o<V+VPkx5!Xl~Bksu)Nb+B7$Qf}F
z1e^mC;^!BHF#e$FCaUS~q~#cOH0)YdJ6{A9**5s}vKjD_yxM*|cM22Ea~RFCjyt~1
zKGbq?TvS8r`gMs{L)8mq{#~MO-dvU-%(AVqt5{JEM1pn5F=k3N<uRZUY!ReIeUqF>
zhKkco4t~`7%|XkuYwP;#7VkR3l9l|i*?D$obrHV;vt^f-y%W5o4>WNQ(72*3s`Y4$
zIemKAd~1zb<5T246s&~C@LOTO?&~{Y8daUj$|PXan#m4TovXDkWcTe>w8~@-$`@sg
zpL@8kS)_P~%MGw1Aj`^X&hDZrv(o{i#_ZEL%XLDU!azE5T_{(sw!`cUhTfN4)6cw3
zMU>fy2}hP~5qozD#N?sP?}^};HaCdbVX^gcw;-)%<@<weoEz}CvMb{u$ynnC0l4Bv
zH8OPfWtBj2;sgZ&<d@eiV3Fz8!8NB=UdgGY<&sTWyQHJ4oa=LYt&u<$SOIXEb%F$D
z4232o#&SG`Cf*;an6V@bvD@1F>wgrfVs;{GyO13OV~WbhnaUi4E*!clymmt_Tt}R4
z)vV{G{{V{yAcLtWV?NhumkK$Xu-{Q|K-pNtsz;>0qHx_`&)dtQWfWN!Lf%^YGwAH3
zG!4^5hANV6Eh>TEagR=hz?u~3O6+Og-ZJwQcaK@(s|%ZtQ?8(Y!O+BDRXn#daqA09
zSrc$b%EN69lSw$+iygO~L2hl6V*7Cv5K<~45fsde6UQ}US6{x<rsHFp)lmkv(lsFf
z%8!-9U`fD_R@+bWego~GB)XJPl8WFs(2)NCg-Ee2j&|lG+h0$Pf9k3Rb}lU=T|8Eq
z(|sPwVP{zd?t^6#v0BWg*espX%&!x2Tu2q}K1Acy$ZjzWw3O4m$#vq%G6dlWp2S1Z
z&4JKbW6`m=x3KZJ6fZ}H?QT5*#9>vbEh}IQu!hrYAnZiIldLkNh0O#>5oby2$1K!;
zM-X+R1I^&lq`Jo@H;q%*y>&Jswy4Y1?^sQUO)&U7&v>eh9|pioxcKPy6im-lu(=u~
zsJWQLn|jMzSyE$F&9_>vY!AgC687;QkOC^)pg;zsG-$k0&AJw}#?H`EgT|xVLFSVy
z%cL>Bwcf&?KV*XS85=Fpjaj<W-9smEoG!~5vu`iUAH-tZhGQB_#H_NS?+;|_BCjF?
z4yX}B6#91Ctl^Jp23hLEExgV0y(?~Y-U$xI@tWIvr=?E3R$gjc_a?OJi<S;X0+lHl
ziVcIJh&)LFM6?E`X;xD<g6m1OXVensk!!A!1r?0zzW)H>0~zCHQ**_D6@*D0zT?{>
zse5MlsWPbNL3estkosZFtTHV!!XJq~w#BuMc9+W`rYi`Zj4Tw0-&uC1CelHG-fMH(
z`oXD63#8E(XPJZ<94vW!q()pESm8zjg8fkHb~`n@?KjZairzZf9%rTX5!-LGS1Rfn
z*I8GzX}K{4=bdV6QQC8ZLgE9dx^WBdOc<tRoJzUUTxHg3bm_=7adVqnJ2G*aDyWXO
zquZW9M24o0qY*$zA2QppLMo!K5zlC`8r?k0T49!JY^O}A+J+oAf*jRt=C}5(f&eRg
zH(@@8ofkzANex#208aHETCqB@!nDsc$zny9V%x3LQOk5vT;fD&lor8uH;GU{7iCoW
zO}16)=<r!EC9I$)b9!^}Q)02D__`kO95-8ECDs1`OTLL|DKzg)vy^S>;+!$79IzMd
zFQ*wGlWonbSJtX)iY>IF^C;qgHUS~AZAY#+{5?q4D{9=Y)cksE7QpOajJ+yrB?hbV
zDXAg1AkDOlZj!$}J7gV!6m1m%+#+#X6j$jEiaY8503^AQoa$x^nPql2(WBylPbprO
za@mrSnTW$n+6T+rG-zlKdx?n)w;f1~hpWmWZzrDi6^i84)j3V1ivpdbnu~$C8iOg6
zfwcI3?on_Mk_7Rz?02~|@U*RjZv2Lq=jCh=l3GjMtxo=14;7^mmP%HQ8YVp^52y_$
zMR83gmX|E|(T#H1c;rSNedUVXb6(Y$?~DflVX-%ag>*<H{#%67F9N>PDOv8O>y1rD
zELN;xxW${T++Li=+lylQ2Nkc964^s(1e5%1p>bFzi2!?sLY)F-8tsZ=4#m-3Ptgrc
zYR}$RCOfB?>#bGIZ52(Z(i)o>k>(M#Mmq|;2%asUCke$~h_cr6EMo^Ky1kg#T;WhF
z9<iOGloc(rZZ%@r$W^~48%3C`NOTfqbVOiBl00BQPV!8GRvHimMXS$;?%dI{vwiAK
z4g9$NuCKj9XVD<y`3|n&`E;0CeJQ_W=BL4~4{17jldL#VV6-JB#tIXN&%Go4D)KSS
zS9Jr!aQo@mb{nOX*iKI;6Q{)6wWVeaqANFOPrNo4w#qJnNLg;UY{g)|G2nNCD3U64
zZ>tnKpEuIj<hd0UeeArU*v(W@M<~_Bj@8L=nC-I1c2d?yd8p1lo%WDXwRsRXL{VCu
z9>VZzKTmi1bD>xTRyfkhjxSf`Iea-29?4;C**hh!E^?4i1;&G%b{sAWB2Fq1b%(Qp
z^duTr@3Ho$g5;pdF{ObO{djwhYv-n~Qt&a1vp2(W<UEBjtNEv=nALSmrfHlvT?hT;
z&6BFW-ZWy4sz7MipvGSYKm*j=Zub|3t;d97m9J`+s7<nsbCF*=HdSnROqsY+LDvX-
zbydxZMi}v<p~`)-R4!!VidJc+o#Xiq1Qec!Nd3&3&dzbDS<P&Uro>PryA<RKD}3fM
z@;k~iO}ys^8z)TA6|xb`C)N6Up`rA5>H8=NS^dsK{{Y)H)22}$muCAM0r%P=A>fTT
zK*MN`3oRm&?%|1{96T6_k7fubQNx?K4e6;Tk{;G*Vj1oRoX)_0R@Bg(vofG$@+7c_
zdtUW#xmwz2Y}VIZOL9R9&5p~BcValdOHB#7;>cFbP*q2g40`JHp{Aa(^nvTFGSW2X
zB07%2p9(;vh;ITRt46!-+o|DD4L3#GaoKn1R;w+*v{o(yq*HXB$1&7O`fxgJIE#2i
z2NUBE{{Y2Lp86pB$G9Mz*9480&x>HtDk-qEhcV2t>;isomD$2odIXu5mCjd<Tn5b@
zGkvJ-iVC*fdXKdC4+@*S6uB2L9<rk|;jtoSSk~OfTj|2VYZpU29gFTM=vVP4)gG89
zr$1gkoHf@EjFUL(%rqOKjDuw~nw=Abc`-%BWv5zBK%KG<O6rn`q9<R~`udCAUObCW
zE~zV-k@$b(*3@)yWW_mFk`hO1JfVtW>~>UI7u;xEamO}k9aQcpBAeHzqpWjR=UnTS
zic?3va{<X|viy>&G{J0QO@ixc^mkF#h}&@4bsXkRs&<$nRNIF{o}Kec?@&IXBjNgc
zsC8JyWv%RTv&O1q#cI%>ko1zVbWoIE7_V0uyB*+ckG5>8n2;|WS-U5>_@*5|Cy}S$
zqO;7h7^1^CRJNdV1low6nx{3Nskr8`Qswh6LUtHQZ;-WL-+<vV*SmTkvaz{JR-==V
zTG>U`-R9SAc@l^}tk@Y3raZ;!8yakFj3ZNR*juY`X|`om94U{=jLT4s2plHCLAQ*#
zJbRG1A|xiAuQ5F@w9)-4sL$}6ruvgA&Yho0j6!nEU5e1#%^-yl*ubP@jFW_9WWL}8
z#W^UpNhA2I>6R_0m@NjO<8`c2Lx*}OH0`5NUt(kJB0lOg<8PDuLu8cLPTRs<BpJEC
zX%`EJ^J8PpT5YET_FQ{O!aRXOKI87FEoWa+!^No!B-Glvxa5*tplOHV(&O?2X5&eK
z^X)W~B=dE&k}3u*jE4ZZrxz6K0bOgLsF-&(7TS)>wZ~@NW!7a+9~r2gCCKAONF?Ow
zq)xhnz}jnZZAD2Ce20!18NX9hP-oY}r;$+6R#--$tFVhW8<SrmM0m5DZAwv2?L~2=
zHU*$mleYxlrq(Hp<yCrrU7n?InBB@LF>kdZ_Ldw*!P4AgH8##6N<DyfR2b-E#eT9R
z<h;gZ5w}a;rkm)wgzX&jO4@?e+KESwkMgz^i|K~AF-eBx6J)t#km0$MSW^P7TQVI{
zv~5^<Bkubz3MjhjJ<XAEq2$tvn`U{YFE%bkkzjdEtF^K$pjVBZetQ;ca~O<lia$2N
zOx<=n4yuyCuW(hTHxp3$i>f<$H2GWhTB&d9b5F0Y=`w4mHdeUYi)m5mBH71^<RAq^
zWTq5jfC5S#ww0+X$-ojcFFCG7I%|_8+v8|5?wyUbLCCGEatp42y5*F*sxp>VEI2^B
zgM{)bin?LsK|=DmwbxQKy+)OyBHqQWAHBINib5P!``t{+wO$2m$kfuwt9eyU+s=2r
zv7C5+jFJTB9CeN&K#~9zMNtrbqJfL)eJ*i=Q{LsV@F|i~nUJY|W3y`{H5k}cG-7RS
zd+bf}YF)t*?K&JqcS2r`H8s4Ft4i_=eJC8Gqc}30ZR+bwiBZL%Y(NZKu5E!W`67E&
zHqh0-A-ZkUJrt(1$g%fq=ybyOFqsL}Vd*mTwmk0V5)?pm!eTuc#BC8pm)vV{K5q)R
zq^d4?Fgf+1s2gZDt<f>Gm8_*j&WB$MB{q3mk7>rSU*^#q#4{|D9H<s;n3I>Ylf}p2
z3NaduUP+Cx^r=Am2i|Tz=F&RSh!Jw?;~UnjSa5my1wA!=x?{HyWkGr+b(`ZB@|HZw
zk_JBj1{OB*(S`%^#UsR!)11YQD+|^BJL(0EJzK3z(OnnQOeVTvJs%FKks0e5PJ*~>
zl)$ZN*$$wl?mCT{An-Ecs+}q|vo_R?LCWIjO}=G}<21`Yo;F7GE4H4E61EI!PPmP3
zYuz7xHJL9)WjUe_#pDS(x+oipg{08==mkA|J=D_3aPyEV2Qj(5Z|IzNxttu60F|C-
zb{CjeOU5MBUE(unvj$eyJyn+{BxBK}#B8}FDLh0WN+;u&x<MXIj>97sw5`;c&J_G(
z70RVbopKTxl~UFzbzHTRMm+SegdrvrhnaEsMnc0)6R9PobU64_#tb<>sC$*r%~!}^
z9yLEo9IKf(8>x;KmQdlzf<YOs(Kf2vN~WkUaa0YQMf!H=t4>+e>Fl|tnf8d<xu*H6
zGUH}Ys1AEX4a}`k0c0F;$r5E7F2^z!+jUG)qY*A9q7q;XH5q^-#^CxcjB6f2Al)!?
zDhF<@PF7=6e`|eDU+yZgjYiIpDk>z1D#vx&bcF?`#1nHsU`>{|D~~AfRb0EPdR2F(
zIZ;yG+eVck*2YOliU!|x9981#G~)MLX~jY&iPQplu}2UDNK>r~g*?uRQ!PF)Ijjaz
z>DG2Ia?9uL+J3O(umr5K`n1c19rpppnsKvqRfigJQ8ws1R<k_|)GaJ}1#WL!3nOA`
z*`!#tvO$YT?hehNaaHWtfT}j<eO(=!K?fTXR9zpZe<KSh8noL^sI&3?jv=+J!bXKO
z=AbudZHls6j_TrWDxbKb?w{Y|uJJ%oM_}`})Sut&*Cq&vQKDa=KT2^$+s^(s^ZR(}
zTxLX1miv;TZcEqF8<mKqFocexaxIZleU*Q=R<N5Q@<N=AHX~F-RYYGNepNjDdHL)0
zMk9A+kIl<qRFkkPCPiw>O1Z#e1Lm!Pul^+Na1})Ih<p4eTwAq(-1aL0i4HjZwA#Zo
zZ4eoLD=s|ZDzDpS)e(QUN^u0`-4<7BkF=*&S<-t`wQn7zv70`+MQvzY3b-vPCw0OG
zw?uHz8!w+CDqK`mdN-uZ^rIoui>kdw)J(DKjIu-HHc(YYuv#{GsQ@-pl-64ZxQmQ9
zU!e<uG=G?*#e!iGw9<}6oS3rh9JqSYjH=}K42dAP#E8-Xzy)lXX~!K@0&xsenEsXM
zd2oG0nTo{J9A_DI`et$_A>2w-1yG7@x+ZPzXsT_xtSYA!RTW*n3vAgU!(st(?viLu
znk(a$crvxOMRzf@qfcvV?lT;Tn{0Z|9-Cok>oXtxI~<Vf?Z$RJfWG68GYrMhb@{Cm
zuQlIr%u%M4`l`t?ihCMZH}W)!STa(>9m(K1jJD}Qw^Lx^M~?8k%y|XMKeP~iL>2X~
z*}gJZb>A5#9Ysx@W4I*TdPYH8mgC;_DrPH^ntsLtkA6E!3^qbfLwyNA3Bx35{groJ
z$Py%cFF^0LCo`s~)J!t`BL$8{VOuSa#qlTHZ4M;UWc|F?AT=cuy5mvg#~A9Zpo46x
zW6bGT2WI-$V{6@P;hPJsD=2NJ0s<b!vK>3rEm5Y^{X4RWO;M8Dvm+3{ugIN>-ScsT
zn~4odV<h}ZjkLt3`)W<P)VReQL9%hT7N;3pT9;ESAY-`gvsQK0MOAB6WkRstr#H<c
z)k&26!WD*SP8&?P>x3!=ARJXjm4^+rV+7Jhw7O;O=9Nv!X)*f-r|0vsDyYt0+Cz;c
zl$|O0Q6#dmWkeR+ma=;Y<fMzctKCF(3$v+s2A$*9dh?lQc{R;u1CIN6I)hz)5wg1I
z54tQlPdAdHT)=h5LB`E@+>{(eW$-5*ALY!}QkBxR*zbM%q9cdHypqyI%{0FYD*PWz
zDlzPm#;&*2YjG=~(Iu6Q8qOC#4vz9hN%Fzf*sIuat%b%~Q;3a%B5v4-gF6`X<LUnZ
z5`L2+uEHYEVhfS6$d^`AWHjt9YNFc75f@OH=Hjv@sDceR$09IP-y~{wsAbi(cbH;n
ztrh7))QNb-EhVk=mv3sU+f^f$l@b&qqmtQe9tbVG5u_n1J}Qp`Y3{EVrO9;{Ex_`N
zn+mK09n&hT62~-&EpesD@5<2Knvu#t3dD9fu;f;vp_^>SHk$+xFC!;x_W;AMBvHb~
zw3qC)b$#|xCrKn+;k7d3Ti3sBS&{_W=Ua7*inKv_K7y^0ueOZJp|XMw1b|U!3DQKW
z85)N#C$_k!$O_g)O~cJ$FyKTsCR|4d)t9i*l4U)sgzQHy34u^9^0;jfy|D@fV|v-C
z+GTwsSFt=NGS8UG?rZDv+PsCh*yMTn6*3DgPvizg7HY?e+<5}f97$cKoE|%qYAqu@
z%<@{yR}#YVES{ChNb^oKI4`pXL(r=xi}X+@i=DA`=&~j(HqE1SB!><FE)#+i{{SBv
zS_7H@z544!Z<7ZZC9Wje+7#K-ogdRY_XDxWG(NuL5YCcM<L>2H{zCEGoHtb6@7Br=
zNaH<+73Hm%*C?V!!m{vi5m<VN#j#CC!wXQed%70&0wYheMXvgLP1}i*uVqQt7mPLl
zSnQ|40Nrj<IRVlYc|pC@P=`>h>9qq`qQ96_!^pBFniiNPjcmqooW3)Pd-BGzW(6Q$
zuOfA~D<-UYN^P5NBZ|AMD;&zlD9bWj>pRm?roX4LR;hBU91;Z{OMK9hlLs-0Ei%eD
zE~zx=qpbJZ5)~98K{;^kGR#T;0M9?pqplRPcbG8kp{`-qf#QojFl0E}ImSbR($nKn
z@2>HNV?H>Za|UU>Ia%P<ggAZHg<e+OB^gXI(vlh=ld0NXrTVgmN2!^9lW7)`MQ&bo
zQI9#2S!Zq$&vy;3akP&rV@$W(kv41H_Zc|m0^@+tK251Ks;j3xNmcqOf;!EmSseyp
zledw^tjaX{WdzD4fjUD>DU{KNEGqXvd7i_;6{K|)v?W6mBqsEufUXye1>UUdwKC=R
zYL*$p`9^Ao6Wp}Yu-u2`N1D+z4KM;d;0XlVf~15yCsaB&-x5Ut(_5W1KHDk5YiR>b
z&b+ivZ5+TchIF~@0>UG@m6e#Yv!Fc+8XQ{?ai`mEXSgmhB^o}<%0OVrBaCtd6XU)!
z(;r;=dFd-3x5GV4;5K%Y6?q5YP_-uu17_lln-Ez}B(icOM3Aa&nVi_h(YTJ5?YQDN
zOSj<8zQOM?G0p3t++`D3jP5g$WBEk87_O9}ISkiGmm`a(_=9mADAIU#+>py?TpT~l
z$J)Q8`DVT4vb084iT?mU+TxJsLA1#3bNA}&WwRjP{5+#ZB61o5S8QgEC^p05;GrU-
zwoAdfDf2bv#`Uh8(<W=M!K97pP1dW?tu6GWr_DF3o|ZE>Rk&je$Z|D?lV)QsT*CJp
z%B`Bd!=mhSH6<i>ZHf0C@J@2-#x`ZF8njjQc=msjMW-ju0O9mBs{yDoQ;CYs0&rvy
zBPJ+y%3zK!=QvC>hMj*ZeGTL}Z}95%of|96Ggz?k`OY<n<TD;WZy{pJl#tn%A*0-z
zdOW6KykL8&M|EBWCd~`4=>E6sp0{aPUDxCItwY$VKErvWnA(8sNvS$ZgBRPYYznP8
zxF$PUN+67Y-s-*pROi7qDGN)3xD(dCeu&Jj$O~#3Yg&E(0LAasUINB5h@L;HnO-HP
zcxy1{SmhA%D|33~`HwGXXE<sT99COL$yo*zfs%YgzL8eYPa@K6F6GLc14{EuVVYx=
z3Bo*Dj=v_8U)f0D<f4ZZ(VgT*?SQ&)pB5HEsdn~GhBUj=_8ptdSd?%gSYqx@Wl`&k
z%jtKu@sZ<_4?AqoH!&60iMJnxJ+_3C>uJXtK~#2T`fyV;7cQg4aL>YFqonXmy_7W#
zWG*z&E6C}?2ODNNq7i)psHh?Y(1$cW_N|G6AnkS1l|H7U%}tXuh0PWh@*YWLW0qQ8
z!((4^eP+kz!GSAjRzdk=+q04QbO8#eWhJKNFf4>(7Kx_G#@z=E6w_(>6BhazQK)&0
z`f|3mI1}aFlxnE2F^xrOwn?`hi(oy_ZRR8c$je0f0sdO?R98B}7`Ljq+6C$|v(lbv
zlSskwEZ*Lw-7%9%jiIrJorIHSWAu+pAR743i;>C0WZnQmGmfBqcx<0VnI-gnMAZB@
zCZez?urkTE6PzP<RJx;W*Pz0b54_>4=<oyPMC%F?6rF9-LE;@y8u;KKQ@cS<BV;p0
zmR7jdj<`J4{xdfx%b>AHFr#Ic*X`6XD<WlvRjQ{2p+K811hE+m!*^gt-E=uekk_|D
zaY;EF;`$e?+9#>?c;07&1iVgrFUGmcXq)!;sT4q)i`<BP*9kWzYnv{s$d0JE1}a3@
z&Zke-ESD95uDU@_T+X#<l{DsSB;i#-1-zz><{ndu$GBvpz1<XQYjH^o23#^}QMGjy
zFlVJ-{{R>}_=@RwtK15+*A}u?-QoGHxUsKdNyebI6fqy<49tpgkpwn!Q%3NwBTsBi
z9})sY&&1D)U~@nKZ+r5+KTAgkfr57D4yoJkYOTeYP#&{uh7+gtdc}rE$Ta@|v6o{x
zgdCjPugGk|Q_)$ijwtvz+V;%YmeiGSh+hWV<fF)mwE2vl1}MVenscb}SjcTA%3(B0
ziCT`VKH`z1K_XI+I4*|H$a%Jti5LhXh_6}i__ylrRdK5C`i*BpAxf2|Qz1lSB&C5h
zix%wRysu4lJB=h)m_|q(2~HBDM#E;PNP>#%#kFru{bXq@KT)*vWzgbUi7nVM)vShm
zCaE%p+HuKkN{JaonT&&@+#`6+$pQ{5NGjm$=SKEJ8;ve6U~kJx?rG?y)y^#@jXd=C
z@KzdmgKO?7S9^@=&UdTqHIiCcTEfR#$>?6pEMQC#1}Gy(+C%Z7M-*Sq7uz5sJ-}1K
zWY12RzE|iU_=lxMUYOWR#<g)RAl2cNlt*JC47jGVE8atu!MRViPe^2sxDOymJ;6Bb
z*4fkiV?uIFR(1_hgROKKjYkaHehAFCE=Y56Ct}69ksdt9<C&)~)UGHI3Aw)O(o58j
zqD^Ygbel0+dde(>pyQDzQLa4@#n|seYEugU<BF8|z0UJeT97hSm~)pgRgT{>h4JJy
z6b`3{Ezeu7=9$uWO?dP69zSI89Z!!tE3QjDKg^`$Zok@M6*Rf@^4M?_xCjh7<k)SR
zfpS7{;}N144qqJw+Tfadie`2Jqm|mHrI}T%qLn7b9wg-aX8X81pSoDFq(uYd-#>QD
zHkBMLoJUiVte;KZta8s%UXQRHV$5&|cD5F{>s9$e-(_{R@*~?sciC7rEI#;2b-;C{
zeOXWy-N8iIi8^4;!nN+s`7-NVvrDIA6JG|>j{g8p<k!tc1QYy37u|AO?g1i#aRz&2
zM5H7;7V{Yz$7Zb#n)_2kPl@a$l&_cHbh6Fw*H9>B=)Lw~7S7etmL|>SI1ZS`Fh-sy
z;KF5Dn+5g|h1c2H)_DTC6%<iA2lXwQ=NZnJ&Bt=Q8f|&e$~u=%Go+6ywp~1jVuDUd
zK=`<a9$-Xp+={3w5_!G?Et)r_ao<anQSiHa8$7ckjIUXdtk(O`RuGG5jfjubKxnE&
z5(SnYQ8fYw0aJDDUWI-VY(~Q}3df?2j22x>S|6?G%(Pv@erv*`^}n!g^L))6d9Gch
z5lbSL7q>7s8<E$7j!36z0oopGFzarBU17Fu;B%m6mKSm`<tet7a0SUyqC_Uq2HB|3
zIOOR8$;O*?rAG`|j`$Pe>!gbPG}rG~Sxy0wX@*y%SYhMIkPJ&4Ug9*9qMKkc5$KkI
zYDTTbeIx^F{4x+?K)Kuz5|V1VEBQJm2F%=7QuG#q=&&Q5WQs_V{{RV(3P_T?PAoT-
zp4>zhQB!e7z*TsYhzZp#ZB~Hg+J_o$ca3D&WNEeTrC0Lwm@Gh!f0*-9Q`jnkN{l2)
z$QuxSqE6#{(au_J4Sa151k(1Rj7sJ?`Dh8^koxA{W$K1oIrb|?81`d{Yvf$F8n~;b
zllTPN_gSri;|xufLep`cn!{#D@pEk403KjlrkVa2UZAy4R_-<0!(DR>c2;wUW-zOA
z9D@_6RQHnHSqADVMg<8d4}i8VHUdPVL*+IlTza0-eMxS%i%W6MSH>mPVEB5>x5I)Y
z%36$?o=lkYq*#-QF~Eq_Uu4tf{C7m7r~xqF10m|e_+?P(7LQ?1U0!NcwlAGs-P*gC
z)Z3i)E*O?BiMkRIhd4aawBrs8f@J`?sUiJpJt54A%q5KtCf2DW4m>)#v`R!nv~hJj
z00f=5t)HnHeO;-#U2}%WyMBBNnP8Fz;!E$6Arf~RafKxq?JBp$2VitmME61-q2aim
zT@J{enI-7SQB2f$RMFgR{{U?qQ5y+j;R$yhP!w#Gc$kLBoA1|4Jo6Z?nCirGv9{*C
zhV+IRY+Q8}Ri%+2fJ3;_D`Esdgrmn}UC~#n(#~higt<*M9EM81!Rp&5-m?nn5g92Q
zNyl4sc6Ea6qud)*F%B*X{abZAL)jS{CAh@t1FLYP-qAmHa<FDXWvrXEc3oU2=AfOM
zh{_tl`nYynZBSoeiFg<af~c!%opr<Pa~&_!YMGj~A}xu<r~<UG6lB3BDi3f?rj=V%
zCqdO|(BOnki)N^*E7c{gvr4MUYHG48R^9w^#OvC5+0xl%sAh;pM%uO!oGrn#B~e2L
zo<k1ecNH#mlU1;-ET3C8=Gr?h-QN^vTC8=`ejI}b6{!aqvsG4{M*CcpMG&|cit^i`
z0!KZpaMg4=FdX)s7JbUFI}GP6JkFK-Jaw1k$e9w+neV`&O0bx2IU|=hL%O1KIf^3j
z5gytinkprj^&y6?PjjPrHkr{%99o_u)lzb|BwP)&c)=nO5q6shWy6|pDW`v1%>%7T
zag$z*JxJ-skY~~xyUa2Q+IZ6JS$WIn>kXi?Zb!In$jw-~>P2A#fU0spBzasD7kMHr
zMjQ|$PJxN!*giFpQGYGHS1l<;q<Rl=QSNIk#+yB*5`!J?ZT1{&kQGG57io-ak+iz>
z+xD`9@)9Yo=?ht@zNGbg9F<L)TeWeI%XUR=L)7RYQ(FwHJ+siFywEt|5=S7A+L8(a
zG~x@01iVZ!d`DfWt?DT=%%>lU>z0!3UY{P@@Lz1y=uNhYv0hPSd+oI2i?d2*vm|g6
zKg<{2qGdKCsx)>|^NLns<>3Y_*($Rq$-(3!a~_ishu>l|CtTxk549cD7yIPuMA?@R
zdJEJH)iS*`)5b07<KoGY+C4g54x&nRy2+IBn|WlErlQAi<GCr(Cn3m;=yMi{$H1Iq
zmBqIg8`{y?ZdFc-OvaBCG`j0cqdE_S>5Dpfgd~_2@oE~gnPpxMO)Ey(L{|b-D(2XH
zp)}EhtWRkL0sY9`bk$H!bds%c4MC@2#K&-J=(O#>5^g_tU~_6CJsL-9EA`WmtRE*y
zu{PakCC71-bKON16m>^)OGp}(UsH+UxNa{3YuN)$Oq+37Guy{(qk|mk=U1CEU6EkP
z4#IJ_it{25@fB@F3$#Zh)7&PTDLpB|@!_*MvEkTUJ9TLqWa$aBGMyQY#ut!CTLm~U
zKgB)VR3z=Ts8LOxSj&Ml;ct5F%i%gV20JT&Cyo8NtEvkOz6A{1{Ia^k9h+5oVH$f;
zsw5^gIanZZha@#L;VpCI^Mne_6DCZ6O}4m`gVZc@BGVm5iyJ<($*&`2vZ{`XiJJiy
z>r1fExhNw`YqAc*0pzk_0xO81j&dLo>Qy9NK+oE=%kj&NGexO{6}Gh$kQ{c)4vdVd
zgRH<<@gI1OJF4q~fa!j35)dF&PdMJA<L_J2>9?my;&!s0AH?gbDcX?(Cy0%<-s%i0
z$cRMRI-@1GnT-ud-(F5G#E=1m??Zk=g6p%1LDJUo{H~Fipw9Hy7@+kFXPn^qb5zA#
z5iIKMZi6F95B^h-WU$+fybg$pFv)Q+<fiJMXi*jTemQTUx``_u)cAEU>Pq4IsjSMa
zA$9ncC-_acsz^TM#o6dH`2eeKILoE^dlPA)uomxhS1-n9Y3`s+p|YE1u=4`0$tK#;
ztWXkUN<*&6j;_cDiMCPp<2Ku_0tpEzqL(dt^#1@+t-4Q3KJ@Zx^Jqz$>wKY+rnItX
znIZ01)JQYruA8JJ{IerLRYXJ$kp?VKY3yHSojGypr^!A{I3u-X+%@Kx?PiMJj$LXL
z=nluoDY2RxYbPWVDIVVE7IfoEmm6c`^R9$9<C>Z$Hrq5#NGZtFt1V-Cc+0el5S=O6
z_>)qr#w_adnB(<QK;=O~GASgn$&L6f&TNenYr$GnMK+b?nO2?U(X`W0@pmBIOp=uO
zMTOhqaOcLgM_Y+78jRS3%EgOrxbbXGGw-AcI-u_)IM58`ykl3Z+RLlrPnDnJl(K&k
zi67ikmO$Y=+?G{9fMcwQkxPts4M=2}Dk^szMWw7QZFpbCif8xTL0hU#WxU5^SL0gC
zl|glgQ}pg!9Kv$hyA}AaHuOO@<wyN-+(GX?*qXZ8I>H#ZJ_z5qHdT3lgTueRhNXDJ
z3eCi3l?5D}*V5qvmc!e3VR#pPlpY^HJ7=v<!7Xe3IAj`IOOy;-oEK3e*hPTE=Hm=#
z)-F0B3RdJy8L3G&gTglWI6%@8k|#!<g!MLdS)(=je|cjy`Lr~VB-1->6k3*4&vRrL
zd_@O$pv+=bdxVIb(U|URJ>DqEvWUU0XnnQ&p^cAmCu$E=U!c}7-Jrk3W6x>V@x0Q`
z46<m{lXo5WK)Wicf~Y_Gck%XJw&+__a;UZ5uJpE*smw2a1?y(WxTv6H!)d|A<+5+G
zDsDUS6d&^^R+>{?KMdFXRK(?xwFbsTUO`gBkvm9;>~v|)-<~9k#1w>lBJcaJK%S$m
z8?5zzqx0-6)C0WiCK~42n;qwaX9Q7q<IO}#4}H+rbozyQa~q!!M#LY4g5uZ*8vWLQ
z=B2jf$IpdC`Q18+X=w(M1dDqaU6{-Varcx6yJ5N}>Vk?&o>SpE?uhEPplBfG>YNc*
zWKI77f8TGvUle#D9C=3BY^W}_TM)0t>Hh$GbsmQ5otHK3y3#91CImc$z`QT^RQc=9
z>I9}Jh>E{bj?23B9(=>9hL1A_Oo0*s>_ue^%XQm*w?q_8_f`8MFH#j197Iqb9yp5l
zUcE#M!^r;tAw@v>`jvOxQ~f`;Uli2`h!@qmY`geG{{ZN9`93^y^YOQh{{XjNiGJ#v
zdEHZPyGt)GgsZmO@8{)y$+yp5SAd^qbRU&K-{<=I>(USTP<LMm{Z%&j>*A*4#Zf=L
z-yL#=d46r5JMKiJyP_KIiTmuIZoMkFgUMA;M|JQ>h@bm)^OoqlBL4uV-~RxIQS6do
zR>*F)GY>v&_P`|;&G}u4OTzAmJFgwQ?YG~r2AZ!aVC(NACk5t^O~h9hWh5r{{{SkY
z{I8EbQ9Sh}lwFhbrpx6MsG<NITa1VZJ0d4-5K#p-O_4k&kFt2`OJ<0ii8!X}z89|*
z>Xjvzq_E;S9r6N1R8?%17j3>bMe*mZ?q#zmX2r0ssd4EqNd}d|ltd)!i{;1A$xZHG
zr5oKE1l)*rP5Ox2gkq<%Dlgen=l%Nc0zoqW0CkZBQ4$qG1Xb9PQFi^ldJ+NEG!hUh
zXw1BG)I|Mb%jZYP<XI5GrB}oX9yr2*ysX8I6alu)^Eq6kA8>^IzcSloMiNMlF1QC}
zV=<XTk|eZGdvyntc2E}(h|Lq_4R$s2<u^^CCmtQN@V_5Dd~=EYDxMX5rrV<R)85r|
zxRp}ImSHlpAikF>TToqI-1uFgF6(=WaCE;^ww0xIvj>QjyNF1lqMb(5Yy!s+p{K3L
zU1Cx|q=5ot4(cMLm@dc`<_my}$xb_srzPCE3M%<kUa!ehWkTYJn||Il>(_L-bKO^D
z{rc%7iXaplDB+7&u4iv0>Sm`xvdHW2E8MbuU2Umj6j*bL5$@j=1?D7tO&(QMBvtA*
zF5K$8=R0A`Adr#rh9tpxgk@0zL?#^HlPG}VcLerbmu;7Cw^js5sH-E76)llIcTcwc
zeV+PGog&=T(vdJ)8BUv|t05Xi7SxefWK<PV-9AwfKHUfuK3|2`8ifJ8a*jQFlx$a*
zvHWq%Xz>WVMV3-lS2oo@N+ag!j>wxMq@R8I?BKE{^05h&ap!yH@;CLX+z=Jr_wZ^c
zf~)sU_v`7pTzoG70B_WZ)K~j&kt({oCfkB|L|@;3mHw&Mbt{>dXto0kWJQq`9gQ+G
zk)<$Y;pSWw69wPwsJ>HwKYpv?f=9270Eh@!iqi<9&ut5UAR_VIc%q_wZo7W{dVRz#
zh__YS_VT`eZn(Poh$@SsD!-*jyl?w|Zi%f*aaVzTmd}L8eq;$1Y>SK=R=E?9+XPf!
z2+UOPI*H@La25Xm#lHPfYW-DZWPDdEH)jnsCPu^ZTx%0{Ja*zu2W!{c?i)PF$a)iw
zE280WZB<24H|v{kLUhFDT-iY&*x5S9Smq?31g7rl2#e?G6(#Z4tbiM^)BJ+=rl{;K
zq9?v!X4ywMGYOX&E+ntKZ;~n@d;?92?5oR)CrNuU$Q(R0;-1L^qb>7aGDONFKw>6I
zmRDFTRtN$qRE#MwO%Lj0izM?7G>V=Hr+BXW@K27qVpyGY_hs2Z$S&n4Ay=Z<HHvnb
z4jUH}mMlI9U-*F2%6_f)>c2P^;oZ9#1WDG<gU+BL2`KnQ-31rpZ=L@DqV2a;Fm6_+
zdlpFGfw1BqHH^!|A7vy5kwH~A@yo{hbxDEGhK)DkkR}3ZxLFKV)mcZ+GfJ8|NRLX9
zeHL^@$ZT0Sa~hjh7+Nt_h{7m@h;EaDs`O_}4bV29Xn7R9qxx5fV9?^_8i9SPaUroH
z_c&)M$t1N?0=2ihZ_0KI0&T8Jh^oVKl0hN}_Y4scSH7Y@Re5s<QL)(*9A;G;)t54w
zXhB8hTuCv4P@*G5iiapf(Y?frU~`EQ68g54>#ycahHZs^u&)SBJzpw-WT~TDr?^sa
z#c#GQ%oHZcrR1%r>P`9qhkTI=xQqJjebG8`9Hxz}lY0~OG3mDtVuF5*IZka@R8BYA
z!l+#K3^^7uEFGe@(7dk6e`ecl;`1C8Q;4XSNZT(_R{AZPzm(>=E>B#|#4K*I?&;)_
z9!)fvuFOX5Ta7uUrABSJ2Kx87n@)-oTpK}blAiNfwFZ{-^!Cd=r>(o2HKvyq&GjNh
zY4Z)p1Mo_go^ho%2@K+^iQfZ`<7fz?ohG%`>@^!EdsF6L;FBsXE9c_LlufRg6rf5*
z;>Zvaw{<2m(8(ZZ)!)crv~z+sf}*~{;N$IRZVvkI;i_b~nGAdr+fyw)MC#odV^{ix
z6f+7L5hhzPK>^>v)<Ho@AvLK$E%IcI-W*Oqkhbc$NP=dlwbO`s6&{SzWjb(I_L^{#
zX4_EW>2+aW5WyUgCQD9>q-?a`;tdpXd;&VN+Tz=XzV4H0t!ZakEbbkVH;}{0C)8F{
zu@(`*tYX5wAw0(^&JegWo<U{R5I`TxijM-TiX@>}y~eb9f2X#?Yj8+e)U38tdv?+z
zufVAMLNr$eCPFacBJ{$H(wvS!PB|aQBZf*fIvE(;k%8ShY32%^DWfi{$-h@feJs!Q
zA4|P<X_ix%YVI*>d8k>SO}DJVqq#fqe08WZBGyK6$$VLv6~S=dWt8OG%{J4j;P(YZ
zpX%4r=C5dWo#(cgym^^qdz)mMlx$Wx8{0Ik$eJ&l_DF~wBzz5|=Hn!et4<oa2t=RC
zvFLgabqCePM|T%dmbWpDmDSbb@ZR@U82orrAWY)(fU6EH87?;%Su{ZqY)wQ6_A9Jr
z`ykOvyo*cg{ZM4lbmBC!n~>pOfXag!#e#~C$940O3QJQ_kwr&iIMB9U+{{Q(P|<i+
zNW$!gy~CH}U&U%;Ome-BpvnfkY4*`QJq%H1T2UVNMD@ozv$LznBGupEIo#M~62~Ej
z7)hx$DGAak1~Hv^T3Fiyq-1KT+8xDZf%=WeaN4W=G0+<MRV#?<Z0XgQ_DW+Ji=2Ap
z0h_#S?)P_rGOhcD-`{j^>)jj?LNU_}R>v35VQIdq>g|Y^^A#o5IXe2r6W5PCFin<4
z3LDCg#1<s0AVz3tO(3d$1gXPKw9*}Rra=lEu0+MMpKo()^V8O@zFe)1*O*y`fFSv&
zbzE!}u>>M)992~{wU~CkGG-@_`m*N5h^IZ62Sudtamuw@3aZn(>5b6cTG{iWrOTUj
z3n{Ng+%;v{k;8Y}bWoU8P70=5sTX+zqHj;v*0L;<RB^0P;l{GtI{yH~;91(q24Gvb
z!d6d;{{XlxmLu-NWKWnIt-L^M;Y_+g;Ti6o*w@Cs(UuOX6dbL$>8s<2R?C?+i4bHs
zu0#V!s^Ku&G}~(9O%ekl97s@0Lurghq-sW@*W#LyB<m;Y9E;c$ITJFQZUdHXFj8yf
zj~~v4Cg2cR$8&ZTOG-!`pRYd|8-q<oqtpFN!nhG*LN?;L%f#xi?27uz1O_ZB+H8hf
zRt?ydg)NdZ8Iw1wg|k3vM2BtJn<cZ@MrsiwoP?6QHPekk^y!C8)0TAtapW_w$1No@
zM<Mr_S$Jskfi;9w1au@qXe*^hcVZ%n+sZ1Ns+>^G!<nmM{{SbyZ7Lv1nE{vbk9{h0
zu1Ib2STh_DM->ILR42oC#Xy}!a9JfK#-V09wVLb3ifGQOU1eETJ9Cgry2t6P=~}CP
z0yaw;L`ibu^KQ||>H>z~BPjeysOpQT@~UTu>oZtR#NUwH(yH+#ATAt-sT!%8pQk#v
zt+>bH*aNq?z6$l^>wMP>tG%vzHeE3qCn~KY%V9e}<kd!oP^o~jKrR{~{YC2pqJfZT
z<!&iP#ck~TP2pUwsxChn%Lulj(`Zc3d<eVXYL7Ig+L*W`4mRrS1JlO;06EApx{B%?
za<-1eb1Cyf7O!MNJ6Be%FeMHQxeqo?A-TcxY3>3_>{M+95kOalsA(pa>V8K4qg2OM
zj~@r8K#}g{b`~3?gDu2ufnb{@b*{s`ml5X?u~!vA&IQPEg@>~`1Mk(mJQt_K2@Y|u
z+m|iYW6t#J0bF{PZVgL}*<-_&4MckCYU!0j9bE3I$CDY}<F1gn0?x#ZFKu^JMBNl(
z%O9?|Zl@mZV*oXz>#W1Kb*RyjTkaV)BKzA4_W7BhnX(TNIDp`wr#DreF{o5*WIA_c
z1<U+`((J5k>?msEopvt;J8i-OQ&v6vr(0A)klQV|(V`)OpmXVerkE^?oUyAo)y~~S
zt0v}7402MuLkTxTbb+BKk+mU37dvP|t)|FGtJdT=mOBo6)FVZSG%sYsyISg<KA3Qg
zEL{j4C&07Byt7$0(ytkXYX{vv@3>ac=`tAR0~@%#lu$KS`>KklfJB^ia|W}+q&c6~
z9Q(Gc=z?8)^Wls+bwkM_yAX~rsxM^~->KzO5Z_{P1xXgUj=f~wlAOw<z{IOjjD}n~
z7;gmFJgKeG9VXwL$hHS04lCqI+eJhTx$LT)R%xYfplThZmZj>AQ`rrRlZJmQd#9oP
z8nF}Vnmk!n`+QZM)C32Uz{qZhYt(GROe8b8-QSw3<eoDVV$0t6qIGDtu4tC7e=g#B
zxduF$HgV=c7&FOHm)a5Ef;I$dV5q$N#EJ+)go=r>rmUp3#Vn;)xr>|0V#8<cBHA?X
zyJSHSNL35!FhSiB7m_L$B-?G%`O5yG)J%ILyvSRLKGqC{7<AUvjWps#kfbLTOHmx%
zvfUg+P%sctA`?<oMQ&jF*{RH7_<mJiiYsvE_M*TjNhqSW>Jg#0B^y^<27`1!Qgshy
zUAINqCdd6X(z`oqJnX6Zf7LrK>%cxseD@e^RhDM5J=RE^b-lJi5#$P`_t_N(`wAw>
z<Dksn7tS->Z~1zT;<?^0JoGCb3Wm$PP}wH-MFb?}vhJHGs;aMrMb9=~qb@~@3_k6s
za35Nen)`NB2ofAYbLCK%mj!QrCaS7iqA%~&o)_v#vB@ndt=3gZRoF)d+LybE3_BGa
z1LPt?0!@=|0x2)hN}P*j9<kZ<%tS{p)or`#*lD|_v?<d3`?Rfl9gy$gRu)vqFFgpn
zHy}j_2vGjA;z&v5K0c2dr%?X@0KskRV%S|nsz`6P`x1sU0Cqe5^Hh8}I4DXe`n32W
zq7o^V`>HQNP_;G<{xbGRS8<(&)bVO8_TAf)-bGA!5)b*%Q<sHR<F~?fSU1?b*X-;u
ze1adhFc&Au2|KqQQ(e_CP!v^;;v-y1wcJ#8G4P0q&*Ho~_Cj${now0A(JlO{S24?0
zAU|(dEs{l&>H9gtM84hC71==)wqe3V`b}Fk-4S;T)IA;1eM)kdBfgIHOYf<LJjqTg
zZbozzy~GDx{Vli-^Ij&L4}M6fy+wOjpi)q^mCCVZWn^J#>u9RV_o2s<eWzt1cr;;A
zQ_7(-sypr`BAr<39%rVu^_O^-QFPG_nRgwN-A>GFW|${hm`(y0ZMjiEkA0OD#vK(-
zUOMwxh=y#<s1?}@q=IOu>Jv@SR!gVZW|E<>=`!tW<H4I4FN>_ctK|_%6;ug+c(2aO
zw_UWB!GD|MF!Gs+^5&%4I-|Dgi^uMZ@W0=G3W?Tb*3VOP+6wTqc|_E=Cy6^vWnEyz
zxK?c@-<ZR!nIfjdJ_!Vqm%=YWT0`saQ1gvp$LKNowxTmG$r@E`c^V4uzsjO6-?sgI
z8!%JPhAt+y*F}T;n4_F!1ae=|49Zp`4-b-A71UbsNX70@q`^0ZcJs4txWTD!<r9f7
z$In^X^I0_hiOy2;rj%7zfbvd6pKZ|<c3r;PuFLmclwZUr)EZ5nPovbiJ)4e0My6e~
zc2ZHOW<Z47B-5qDT~R(|vLXU1A}^IrlDczEKQGInQ>2FwWx2<2`jk<2_(k8(o%ZNH
zoAkcU10;u3%yu-%C~F3bRy*pm6>ZTRdMnS8mdI*fN+*Q-^vJ_*vz+2wNRjc<DAJWV
zxY{b9Zm5a5d?(MH{{U`=w3E<8>lg>`q8i6+$G<jb(hU#KHC5YWMBl9GsG6Owx<{L3
zIL4jpC4}lG@0?$CScZ`v1{DNQ6o+k-eU%Y>?7bdbG|w%B+%7k_j0a1hPrW$x$$;Y2
zS)D!JKOQMoK5f)SQCD2CByfQRHt;`EZmPZzSMSxXEvz|?srqopZS``-ZG4-NdE6vv
z2|@Wyu$vnU0xtU@BJRI*<<?ZwI2oR%$i8O^(|Y+qEymukG9F_M6!$~|GTc#1b^EXS
zb)+Kbh6R;fCBAQMag4^Pp=pe5nirF{!{OwW5cg3+CEs-URo{Msd_EnQrTY0*MJ$BV
zWOeCZS}O92I=bSED!ME-0t1g**mnUH6U&{&*;PNH?XvjjyHv1h{ZFg3#2?h?@!U6>
zVT%Zjk;NbqLfOPc+>w4aMd<^cX`W+$iM+V{<#<9+C`a7^UKCYDQrpKR-+lUI>Ast5
zq--X+it9EVk4s$INfyBo0XY#WDKF|&-4lQ5)N?|{KRaDS_@r~2l!~h<xV{@A(-hNd
z_Xf^hGh9G64FQWXfJ<~!P5h_X5q4dZt~UA~r`D%DDj~lDOXQA2_NC3SE!T0_yr6$X
zUmX;|n%hjH)(R^mhh;X${d%vX#;@7U-pP*H-^1KwMVM+Th}k0UtH1m7p-?QI-B*kY
zNpN~BVC%B1Tqaw0l#;>MO#}zw1pz*v>*wdAY!TbcHx0DLvDsqNlYoV%NK<fC@wzYD
z=dXn&BpNJ@xOh#~K6?6+MZJrCn<4s1KFW*Zsb5#>sg1-rd&BW;vMd(an{tmX=uZ*-
z_Wr#Y#9~546m7-esrLQ;{d>gl^|r=6(PS~py~u$N!2+iMd_aT0$6u<ajvEQ;SreJG
zDJ+jSm98YgeZ@bg{@qCT=5>{AX$zxGnu@6w`!3ygY0@3hPtW)2wJcD}W<ZfQ`9%5t
zy?q&qE4iYl-8boFG!s>55+xC!iTw2?sWOLte^M{os>rUq@(DI7h`+y9QONe&m-OGI
zxjCk)TN4@;-B7ms^=}6LEo4G^R5OqsHUM8c@3&N_;{d7LPxk6l05Sux!-@)Oh=sSu
zNN}oi3YyUyvkp>9bwK|BLq=anC-hIZQ<^nJL>2!4UZ6&eCL(qvJdP57nLg>%mQ{D%
z7v(nS90F)6&9dARe!YPzDk6X7)L5>fsw%Hi$K%5N{(4GqUD_r1>Qe?ntGD|q^$ZnN
zQ-9y7Op>olrpe9KOksEVUZgfcspF`uuIsl_S=mQ)UY3bXiD3rezDXU%lobg@=J=}h
zO(P(Im_U^q7`-^l24FWe)|yl#L|xQVbo>7Mb^9BKO<Q36#kxX}B8<MrG(ZDI`9xnS
z^S1p($#IA-%4StctVbW3uA}iuQ4Q1|)VzNG06lOuxv5p>7i6hI`9?)|Gd=!YthA2w
zXIkz1SK>Imvf!)7n`9)Mg%wlh`gKc}6H+5ftE7V&ZKG5vxq8IH2U%@g*-=;I(NR}z
z)m1pI`|OL+HOrwcds7z0xvYbU$@ZF#{{ZH;s)z);35jm2<rO&Z)hlCXD=d)3jyCbN
zz!`MpqNmWLrir%diio7ExUSxMrZ$HgDPCOGuG&M8S7aElJ3iOH2B?jumE=<;G);(!
zSM_cxNwWQysqu2FoTAB!%tk81fXVLcvt#HK-(>n%_57kLeZG3Kt;T9&$6C0RY(|JC
zq-=oj6JP%T1wMN5mufBvrLmihbv#&C$Vel$zgmi-3X&qCFBJRjy6xv~yyD!}3xT!-
znk)LoKMw{WSXlu)=HlTIA`|X?)i&}=`zKwb3th1XWB#=ITUFnhr`ykjUH<^LNX<yp
ze2RlxaohZUo;9^lR+F*#Kg}6VDu$v+ia@4{ii!Sz3G>m$Po7icb6{Fx_VbV=IH)Sb
zLRFTi8;2d$I5w)PDrB1~uN3-|q3oYfjLgQgs_ge)n!qn6RMBJXJ0`it##3`2Fh{wV
zih!3N1e}n(A)=!A_+7Jpu4fr;RW)v|t4=$UMiULkkR<TWX}8hv2-|Z6aL;fTfk$yv
z6+vD4)S2D})_;Z+E7(m-kmF=+BQkxsw!BFbbJ<s9RYhIUmvr4zZk3rvjOV#?vZs_E
zZ53l7Qb&%AGa;vTRB^;76M!ljsiUGOd{mKDd?!|6%ptecMLVX=Z4&<gFQwG%uSV>!
zJQ*Cvta2RAW0r*E=Dw&z>w(48A^OX-;&?<~r~wmgxpd4ODc8)#?z<d~s%%r#<FswZ
zhIOOdbeGw?9K_pH?YxdEvhoqC6G|w8K2>^$b?GI%#*)5HXK^+IaHhO+>spxHk8(Sb
z34`c>O_Cy^{XhMQ5~6g+^u<e_V^A!hY6e90ikz_;=Vmk`AtN@+Z6|wSPDV;3N?v#0
z@AJ`OB#1^|9mwj*a56_o8775RVLpp={{RxhW7o}gQ`1H{6u!ilTZnQEqHNr1Ih%<c
zRSUub>^mYNY$Av$U!7^blwk6*oKWT5y&VDzFHCsSH*`y~D3TC%M#Q&mPsysH3M!&)
z)5B7A3ZD|EBz3`YU;M5hTd1iCY`cEj3jNdj^@a02TJ-ykWH(q$8cWf}<;RH%Gj*hm
zMk!`e8YpiQq^a9@+7Rvn8i}|Bs5|oLaE+2^%cZVW+;3$Rfv|y@3wnk1MmdC^z;UZ-
zCm!Y_jVsmIgKa2GHk1{kjVaJWCd?H<!f_OfbP^@x9c9amk0Gs>E!S|U5(gJZ%EVlX
zOxTaZcmSI#38bKl%~C)x**LD0bCVsn2--r}-&<{PER-qr5*$ny@Oui`U5sgqHpyXD
z0w{!Q4(Xw*!sD(9IA_V1o8!ZQ2Q~btSJ)FV>M3!Wyk91;UuwoxWXtj3Sk|0lM$Kg!
zc8J75*4}A%2ium~?aidy=pqaeg2jwmLhRb5>(%3Q<Ylg*i5gvUw%rZ2{EH@Es*V!X
z$E{y-5h|x`TS&w$4(K9gBAX#4GnUoUa#6Rq)Gb5IH1;Eom6l@-m*@f^6G^*lEY)@C
zW)C4MMd!ujR{3xxG6?#OJ0-w%Vg^Yvwk9_^JLJtyOI1c9F1H<|VYv*9azPQ@0YsZq
zR8!_ENUEI~Y1QQptx%>pnBBt2ZDhog6C{~3(p<@~q)n12B_)}x3Ov(}gFxEGbCX2p
zc*MmCzPj<AOS+s>z{wcy)O;c=dOkI)jYa-z#w&Hsj<PXX)mYVI7B$&fu@nul16d;b
zPlHbwu-gtg<WeD2Cs9!mblt6mgvv-2Sk=s0xz_P%;Wb;A#T<Qx38-l60~xfCQKpAw
z=F!#}kO&TmBWQ$5fR)nSEW$J-ve{8aPFs5ZFAQ9RK{4ClakuBnRB<FQYLB|ZO#*h+
zwqf>}c}W$*-5J`WrWe|Q7Mn-U9G4=Pqe+>SLuu)3gt_tI@D&kt$K@1d29UdA*!IV5
zkGQBPF;I|eMFj4xwHqwiAJUeQX4ToNdWWL*nD$!%{>(Z0bDYd_o<OWw($2~>cRR?+
zB1Hry4AfVeswgU;m5yWTZ&7o68xF3*eH`O=m~~S@i(=TrId5*n97u;1<#N6w!sF`Y
zv8>i)D@16mD5oAuXz0j2JzYVC2J0uv*{i*Uj6-GlvGP_cU6?UN*rwFNd{`o3*qxwg
ze=T2a*A*WV6cYJipcR<zJ7bAo=9crKK(uotwZ`dcC8U^+8iEXyVi31BG<J}bn?5fz
zf}lo5;j7BRFv6E!63k6VuO)^xht<!mtd6>hpH^ncs<Fr2Vof$lVS%+@bg#0~MHxXo
z)<#L0wuspnnxlxR&yj4sD`R6C$*&)b=dx^O<PzX^hRS8-={qV}D5?M<JW6hs!?xS_
zO_T4pU(=6MI2WSa9<ep=Ua6yHG4hD<<JRf~2Vz{XEF5%X97YuV*D_Xs3CQaC3yP#l
z+N!E$?NqMxy`b22{-=5>^%0Q6vXxxa*0HM0@*;vbF7a2vsVuW45rsYbL%f#v*qKoz
zd#do*m}&rSrj-KAuM(EnQ^f@?BVm`(R^z(Kq>o3k#9^?-RrH*F>V__w?Xt+lITD#j
zZCS?wPTY>#oR+^YnK}&`F!H=hOJ38PO>))@mR$_oSZp!txVJNd-6A;C%`(|m$ZA1E
z?@Mj=%5<Ix4tBk=Hi9aPFHD$?*Q(r<>L%+o8~N>>RiryvdXcF%OgwR$ZCz}ek0MFO
zv=_&^!_62AZ3qFb#Hi;)nMN0_+E0Bm2=yE4A|+%w(W8LX;}$7!)r1zA6^nF}V>2zL
zW1&Z7vNu~JClkDlo6G^JwpkiXb_TVwT(IVNa62r;jpBLI*2G(SxK)y+z!{83kWY6K
zIiAd`=%ce;!9{dabyaOSFBBx-MrenxEnvX3DcvH|jWEP6Et{!W673{YKHuTBjXdun
zoxp{+lpA=B96j4Haj-Ne1Ugn|j-caF@x03*$T0kZ@hipLj!f88@p1@|APF|Z(quCz
zntjzLN;(vQa8*@BNf4D48{VQYohHa_mnzb0YIzH3c~vOtFkFyl#kRI~Ah#4NAC~_B
z;!Vs44YZM7Z6CE#1@1no(v5OY5DkU*Ja$MiJ<c*yyJ{gU+Agbl`OW9+W)#hQ+=4DS
z2{K$VBuMntax1G_7TJ2d<h%gzBPAD`CPerXh`vW|F)uw7OqpRrjbru~F{ap8R716m
zDm)nuCB&xQeo6pEkYX%GXc{6{-BcwdF5oWBp=s&GR%LYNO{aN2qT?A2jmXSQX1f$i
zh~*MYR1-6GTnC;pizaMY4SQ5q6`>8#RaG@6iTYeB%6vaF(<^$nqq|7WOw6TfW(0Ni
zje`jJ39{3xAlYZMY?6RDKmtno8mhKA3}%4kXciiOs#%^0?%mt+SqDWlRow#h%^L;I
za+QZuR}OuIY^1rt-mF3P#(6g+LDtOxOogHjP8v3ip^Jj6X{tK4nC03VmTGPzl(|V8
zFFMzmpq*0FkYm&wlWxAIamnu~yVzh~79z5M<4mEsw?8DFsx*Tab0N+BL271oWq9T%
z0wuOq-cvS7%(7XQ29*?>f+yk9BtTbRaiDE|n=!#nK}k?+<6>7#X?`r;q2U-yAMqDg
z8j(K6OxG&l6ky>k_$AvFkmM%VX{JQmK<%I>Z<~^Yy6<So+gjFwhvf|m9hi+xLc8^+
zd8n9+X@phe7FHGIkx^D(&AX2hJuS@kA(fLdtYJA1xX3uJf--_YqzxZ&w-k}Fxzs21
z2LZsJw~v-zy_3O!_ECM1#>S;sNUOLtZ@psVdigPqG7H5EoR-nWuMcF$Yqk$ImHA#H
z7cTV?Pp)<tO=WaEM-*Fmx6vpfR8?Eo$b8l>;nhd^%sm<2_RpEPt+EK~jf<kZ>-|LF
zR@n}$;+kq0-1-aq%V{!fU#@CADDo=>-)|)yCspNXvJTrp!SDx!+(|5%8lOs|WrDx@
zKdSsAY0EoWbOOI5DV~*eqb#U{km_8FO8dQSQ)52MD~BxtMa{~|SkhcZp$u?lDigrN
zUsu%gl8iTSNSTq0Txt7xb?zyO>b@TW%Jt`FKPtkAarx~v6{yagbh}g_V!~@gMj*;7
z06nsiCBk_cR4%%ms2IkX$;q-fMO#B@a7<LwwNA}kX#o-nG}M4Yh};Kxf;Pjgx}?hu
zwqga`E<z)OW>vRX`r`DOnJ*Je;yBUXTDg*rO;vW(n86}^g^;c`lATEWT4E;<emm~C
z+P<J1)sF;`K}rgZ^!zFFW-fNd$C{wevRPT^$Z}<+<h*v(l(2@)J-ww(jHpmZVw8zd
zS(Nv-ZPr|E(~#l3>WeLmf1%>y($d`ysE?s@SfYbbWmAtl<+Zd)nDEG;$L6e7qlC~l
z1<mWsP)pu2ZniEW6zI-2iy^ywM@D7L$u6d9^?el_xY;}ixo%-;4sBy=c=PD6o0$77
zESLc5BN3bKi;-d)$3~lZsVGZ*S$~KB06y1frga&dGUBV<TVs~gcF`&`JR;5VP<>-1
z5i|VFUZxJC=#d(b&n0oj9v*AdSlnw^-p&iU#GR<E!eHMhtfr0FeA!lCV>Eeu7qL9I
zOC8qCLjD{mSq=$5E`|K>gjvIe<Br`{&sT-U*=dD}U{5Q;L)zl|j1wm6k?8cAi>BCS
zu;E!0{L-evmd6%rUTr47T|XGTjuOfPnFvUBN8!^4m`9V^cmiWmz>pAuMOfOwl~DR;
zzLQnzqZP=aJC9D6HWou!5HE3g?Z|BsV{xfkdK{J#LtWvJ<RNA=GC;emBMxqr`gN;X
z3f4{;SEgIpIQ*=N%kbS)nUU)Cv^%QGwq>A<*5WfExboq#7F<~h>YI{baCD5M3Ig?;
z{{Tk6J8Pv64qN?}lwdj`8-;foZLj4brsNqGxJCB2HP75bZxu}27pAj`CdSa{nKxrt
zv?N9cHeD=`kse%4#n}-eHzlVAL}EA6SpJOFWmZ)<T)jcSBg2<ivtip`+%rgGqNO3X
zk@0zvxUQ0nI?FOaJ<CowEjWxin~s9@1EE@`mpLb=&~im)sNk|B>b41&V;8QR@UjT8
zTFGEK$vA*7I`}bS+k#5jfxPM|wC@oYdhbs4n@sXsZ9VkH86<WFO}D5IPcK&>SYWoM
z;YEKe#UJpaAGo4!#uZrYxMB{1HZ8b5W+xEa6IST78y+3a%)vr_I`>@tA8QjZvH8Et
zniordT7<CbwFVXgCF^+dNwx0#*IRU?MUfR9ZABH>>m|0#nt0q*BM;QwS<w8+s1(&1
zmPMX7CQ#0UY|K{dF<GxQ2_d_0X&C{VM&<X)D7f44)XZ8J7u+MtBvYgwo$xJ9!$&#v
z&8aQru3OD&t02WO8z8rvQ&R7^So7vbl8j7<+m1TuxCbT2A~=Aku7U!O9WL~zHyv?w
zd2?+v$MU&Zd#z<rq+YWr+b7iAd8Z*<0C(WXkL{Omlx+dJ+r0KAPUVb{O6Iw)0B>#`
zT}>=eLg$w@{yKA~9vdROBM$Y+fofhY>K8&ag2yR3TGw&AiwZ1gS%Hp6dFN%n?HUMa
z?8VmE@CL&Vmt{dg;WQ45Jt_YH7Qf;NKQyGyb4*&(ETC^EeZ21*yBIZ}idI<1IhEE;
z%6S?}?U*hG;XZMc5-4`|BoYnCJtykUoo5f8s#Ld?OL4ho)3=jOzOdzX5#5?%Om`qh
z0G3Z}CR>r2=Gm(Rir^}j=$4oIY4tU$1E-m`Op)*!9W8}Zl3nA}tl3dvsKnFuvQEiN
z8#dgQO$*J%CxuNKBqoL`BYeg-46f3gwcFRpD-PpO=L(+<2iwhU58>hKZ_?+ey%7HZ
zhQ6Kd&d$?K0yHqh>+99IFR&-uazi4D2_=LFNAuH(zD&5{fGG$gKFd_DBV;)qf=bM8
zmig&W7{zjVRA>+yn_$Wu6>Qsa@@2D_+5jAt`Wy#&p8d8_A?f>0^uN)iK5vF<*QJUq
zcK-ktgv>0`J_PK9{BDbz&%(&7oHq^hd)@>4#uen@NoU9A33YkuD!&=kTRPI0HcY16
z$C<3Xws9lFJBZdG+mOlF@1n5lQXVv((3qMGmv|r%0f@-RyGa1rhKH?szX-7s#?JFA
zV{mors&1T9uFEykYh1Govu`0lxwK~=W-Nx}!k;cAj_JivVUkClP#4$|FcRa%8v{pC
zRa@$N8q<vwz?jK&YtvqwROk84hqTAq!|?gCub&rC9GN7E)oojKhF6KH2>`l%vQ76;
z8}y^3wHkk6Av9B0t*vpqrypUwlMcyo`v%-@$}*Uo*+SbOaGV#T$ZLac1gNqZA#KOU
zw%Kv@NuX0GbpoT*hKk%>;kI&TTf)gMG0Oretl2*qup1VULADMXifA&Gl?NW~qs?}U
zxE(SkwBnl3YTZVnr-9S&$tp)VxN_=H@4Y#TYJzf2cgQtMQR-`JwE`?keFv(B%a++?
zbcX`NAd>5F0&v6>eOi>vo(?p~tBOkyi5x`e-woA(#PBT7Tk~v}`9`>NdEbRktiF?9
zcxc;<3dTth{{S*{hh&6<aa@k@p2|;~d+eA?In(V!(X8?<MxxL=T>H~lme@Y&qcfWa
zP`mB9vZ;cqFP*!C<p>bIO#NqT<{_*ainKagLsb(G$DfkMHuMUwYUJd7)OJLtQFc`)
z9pp*63h~>Q)T`IfJLxe!%wsMHxf}+*Wbs(TA0sMVuT)Je@6?R1R{EsYpV4}RYahld
zWvzvL-B(z3&fHB2NNl6C>EO2O21BwTn(_^o>s3Tvv@NC~sJWC{%qP_5i{wES>vr41
zvOKQ#E_+HyoYj4%M^@7|w9mHU2W{u12itSs$64Re&!UY)&T!+n%)KGT%kj*Kn3h%9
zM4LN^D+V~Jqn)`B6hu)KM4f5n1Tgx5jRjM!L!=rliD0^WT~~$SIIbfKQb(MXIM!n;
zDv@C;jFkydES^W$76=%7iL{N#6>qo5NmFcpsecem*djJ<wm$W*jf&I2nfn(_AT@W0
z`%wCXNr2@U9E^HFUfbHtb(ewr3%i;ypJ8hZ1(o*l9E{s*VDmzz+cMwm$=HXOxQI>^
zsL~fqwCUY!tD&sUmZKAwbKj&i7N$}6P~DLVUu9euV+##BO>jXcOm;@zR5e}WTA_D+
zibT26jTX3Wz+QRDc+HG}2b;C8Y4Dc`<0lo@o*7JoiiEt4i)AMikWf)!>WekR@Eu~t
zSj)A>N#a*E%aZAh!;c-61ZdVs@=s<>d<j0~d(u=%v}MjbWUD6D&7maihqQQ#F+qD$
zq|;uwCmCHsB!;Jtk6#F@HOBHyT7&O0*&2h8;?(eJuHt_$<!o66^G`h}+XQ}d$i25o
zfqb5DTR|q*n=Ptw=tDNppGz87O<+2$r#1Kmboj>QWc!<{qPB@5e+L_k#6V(0_G~P`
zY*Eo61!dwD<VcS6s=@NV;rW+j^t711k!keHTbCb?BOGf&Seq)YA}gl!i6*ibIWGbW
zX4b?<+D8Gv6IE5wx(kkG(CQ;)DWMcNCMRIjW|J^`7lT+U?US_~#)*bIjVT8M6<N)u
z=&IX$lJ#7Mc%z}WsPyORrf7l3yLHDiwaRddhM%C1MUT5GBXOuVq?cV=S$r<EksB)*
zG96ek9g?UZ;f#f4&&rgl%iARVMZxheQWm&xsC^j0@i=edl#eqmn$7|@T>{bAVP3J=
zS2$J9a9{63ZT6jB+ix^{j9L^*{G%^}XR5QUv0YEX&h8b79W_jb3X<OPBzBu5v8l3<
z!-DMC#NsxrJdQ<}!FFG02pW9qbo*HFs))~N-l62}z`<i>c2-zL)x3$VQ;HVrBN&lb
z*tp$ur|#sDESC?l#ass3?KX)mB<=IG8n%PiUS#{KSX&$cq>lAZo{K$Z?0>^Oa45c)
zHF7p2(zQNDV}aWm5#q57{{Y6=lD}N^cMbJa2&8YybV^FJ!Z_KIi3Wgaz7?I=!nw+D
zOqjIp11;8DjSb^g51GZ3FGX@I?lB%sY&g4%<Vo8yb@W0lh>;jRrgV0^CQZ}(?@<@9
zKri+uNsCM9`7>;htZM~_3M;DYrrUS2;gpt9vS5^1*n@RdZY>s;hdk0q+Od&hbmwDJ
z_+Cvih@(u5`ExdAlLF`*W}Orz6e8S2+3q3|CtG+X!z@I!_q+~=p67=JnT(!hJ)y#b
z?zP?s&WC4(ndACtl;zd-xy_WAISeeGrZaEHw~-xWvRtFD0d`U`-!vxNQZN*7kd*~<
zrfrvJdc&v|E$S{yI+G@YD8HI%Bg=L68LoAw87b_+ZgQ03mn2yK01nadY-6@Pp$==&
zU#HB+S+jg0%)dvn8k;K-xq$v;66@=moibw*5zXR@PJ5*%P)XF1NCc*Y-r}Bmc1hE!
ztV>mkQZr1_>h7}{j@%@hltqgua97ewxRBm<BdX{Tqo{33L{FfFqE%Jd6xTNkA!$Aw
zM_OO>h2hwi14?{#*EGJy^s>dd--pM_vbZu9mK6m&y5`ugn&hEHa2RRV<B<&i0BF|0
z$r`lM$|hTU0R=@3>L(|+fAHK!=I&Jc8pyuN%Ei`^rLq=)7>h0DiMHR1Ibt-#c~PAK
zP;vumyp=nI?e(jvcD6W~Q%tPw1Hv$5*kf6oSK^z>p)nYh7|`T%4k|$4BWOVKD7u_T
z3n@-J3mc}HlLEq1lB2mH%M(>FMHNke%$IdFP1nl*0DreueLoKABp8S7YAG?3WMPTB
z-l~RFaqJzHgwSc2tQ(KXkml{O$fA;wD*lmAB&+uG)7R7XgU!Js*X#bV<Br$VM(s$#
z!9d-9G>7BK7B1$-WDY|ti>S&+F>KTY(|vf7vLz$aR+nQHk}17N>OIanScM(3O|Pk%
z=ez!6agOj4G7xrHh>y14w`ozumP9C`fyj{iP&HiK&nO<$8*;~OAFqRPifc5Pk)}C~
zoRH%Nz~?dv9_ETe&bb0hrrLW~B#e0?t(y*XKU4aV2eD?G^Wp-d>7P$B4CHfPaqM#@
z)|^hFCT$rluq)~q2bM%(sD~ysfg|p>QY|t<)Vk>>-IGx=BhAW$_@aj-abqcc{*mSR
z#EV=C-%PIZygFoe;$Ygk)<)HZrDJ~6-OYo29!oCB+AM)m6eiYKq9Z`@5uo%t3rw*3
zyX#A84GyiK$jX*}Ig;a)b)L~~fE;o8l+M9d$|S26jMh{&XN-FmN#bvTt4JYvJ>D~-
zvmHDgYv0FjYhbqYY*q#CJpTarWo_uw;Z2b1q}lh79utoH%#)3%I4X!jxOjNoG{>|4
z#^a%<FGa11mN=sgaPEs9RqE-hrL=Gzr-h~-m0ybz;?LWSj(sJ;Dff_jNH0ukK&znK
zQ*ph91b4mMV`+91?Yh_!&>lICxhqYyzf)e5fdh>b`8~ZuF(g>r8%8D-Hv~vBMYL?x
z<;NLPLB&ReTopCxVW%3kX{;EP-XEQ6btM)eB>cRplChT{P0uA8XsGS8HR47ww+`gF
zaGMvLQc*$NiNW`tGeehTWvcm330;&@R8ycPU8lL!W~O5h)Y@qA*PuMmu(2B?V57^9
z+a&8k-*5@QkdAstu?B9+QK`K+`0@Dm3yt`536Y0QE5nfX=i#eAQ+1aZ)?7LT6*fI8
zUM)?M20L<A4m(p8ro_8!#FqGpwq+TqPR42O>46WqZPaCjX!k*Sy3$6lFtNYZPgeO=
z?an<?%N6ckXwktJYXQyQR;R~t5>Q4$K5AgDDmA((cvQ46RP^C?<?RQhnrlh%>dFmc
zGA<`s%Cd^4*gpnK0EU+BZlZ|Efx8(CcH9u%5W=$$)alnX*B95#X&yUTK_?y4Nm)DB
z?bOMBIs?HP5fZB@A*lqT4d*}#Gp{z=N5yzLIOoA)8(!!Y+!B2%Z{g>nQ{NUU0vX;W
zn|^2#_NyuNV~k@<jM8dV<fO%3x~0u<OB~6$G3_NV>}jnl3gf2iNY*tD$Z@$Kh^q4d
z0EljqbZMp90XGiKnA9u=`qNHM*~#fyVwaA-{cL#;I!)HVVfGB{8&NZk)2;T&1%|{P
z@~Dut5iw0U(^u!-&8EmPj9A6Gsjp<!mV(R*k{HPi=y4F0!f6cJVPu)UO}5JjVBn&3
z7oYlvk25H5N3@2v?!zt2rd0|~gzB7Zo;86!+cD%fDSgw<M@SBwb=iqbyYvyc$zE5q
z$XlM>?M<oY`@Og?7G^mb({CE};FuFN{{T;P&b6&F!Eu{gxl`wqi+pwYPb|r|E|2EO
zu#n-oBFaM&nr*>~98kdfVcuQSre>MxSE($I6I?G+^^UgpF@{WApoH)tH`|zI{Fjel
zS7XCrqE=$aRBPQ43&KQ++gRVr!M!2his}JaWSYN|g!XG~X`r3-xa|ld!C^bHstqzc
zeYA-nC{3fAa#L3wLA*y_wR_Z-A(-ffGpTj-^-}S3jh<Q4*E==ZSP=V(yoqkSf0;6D
zmpMiHjr3`D<=)u_SlIS|#*`Gf+?~gluc8?9#_G#j-ow+c^*HsrSv1yyR2@XcGDwr)
zV>sd3J&|M;y}tEyadJ3WPjpcnmdmfB?TZ3P!+erJqhrK+#kQGdwQEj(ZhCUHpG_62
zdASZ#VQ-Z)Uuy==ba4i4+>0HLa!^7UA7(D&#SOA?TT<Y!pHP-_^p6%CLLNDj)?zU(
zA<DR*$0al}VpqH0GOiSH3KVr-(+-nCvP6C7)y>-iUXwY_GwQoHytDL~qnVrSR!oZH
znX9;T3iNUrLu7cjGV$b$ljQ`FIW{ucd|3z5I}y=Tn&;;}EIc3qTHdGbs=~(XL(8lP
z^zu!eB=w)@CtLjm;~EvCS(MBDO~YVBsKfB)>F2X?B3~&A>(OT_I_m&~%+6^lMT%ky
zpaJ8ho?GkRUv>WgN7K_TwPI9yjaze+!+wS;V-f2nW;Br;k16V(a|z=L`;=|cN1p5>
zW{gQ`43mlUmb1wHEbGP#kl;RxG<zs#F0H75vTv*CN!mM?t7JU-w#;{A`?~ts3T{dz
zGF3-}N#Su5kg~Lo(Zb%y#cp$)ev=xq$LS)|Y4aA*rAB^r#L2EQ>{Tb7d@O-UsYe=E
z5Vq6P+1UxO1xVw9H#Es5Y-%}F-iu0SM+367P@52UrikCrKd5UQgHd%Ay-d&W>Wh4#
z#Y}mdOpxHd>{h!D$w^XNM`5<(5u}@7;5^)i3Naf&`CBf6lj^t8Rl^U#!S$L$H@49Z
zT~1M7rei8COAy?SvM04Z`L>c<2>B55B>;7|)vzRRQAa)DdJmyGgJ9`W*$!0z8j}27
zL4FgGY~({0QMgkii;R1QEZ>rHm0Tu@Fr!=>GIwMHoI5wSpqSnU{$Ymjixv+on-rlb
z6K<e5!oLdW<EIx|DCDslemrz(t|cS3?{&u4s%OKpd$s1Y(wqmsURk3MA$Rl|_27>z
z{ZU!!?zz}YOph;*j^ntLsFd)#P*pfT#mP%7VLr<-n{#1xURQ{kSip*^hD|FAR3l7-
ziBsZj*_=xp_4Y<vp@~=0#GNHQxrj6ht-RA)l5>*E8NP$tHya)<iUZSJOv_ZYLp8{C
z4mw|2onulmBaNB5t}ACTkSCgysNqNuL<4W1A`}r9Q4vdL4zlY8n9r8b>2{^JY|z>R
zmiKbB&Mh`MLp>RJwiU}LtVVWXn}!UMHulc7x_wFXFEJ3d8RLzO*jC&x^WjxIFYTg{
z?mO|~qi5D|ZS+dU!yLh+7D5#b1gwGueP0NyA+}D-0A{SFM?oPnUgU&blb?Of(N^Lx
z!ebnAyIZZ6pBb-mTbH)^OLL!#9AE7d???!?aafYsmd4tvYN*Kw_O}vVuKh>X{sHNA
z+l@wNQLQT`!DMP{CTgeQbPqb|2rv!6SJF&@MM5!eVre*e*#wn3X`LQ@glV*`O3A7;
z(P}GfWlU=`xN-~iaaa=pXWhpd`3|h%FQCdZtqYDeXe65{b)Fnf3Dg?6@4vsIxy%j3
zv{(NCBX9H7C>qWEAjZxq^Dj$ShIgpB9yt0)t8-1UNOToUwxEV)EWw8&M4kMP=cy9;
zPD+cquX3CZR50Bi&GlPW{WY8k86~+TWX$feNJxUz)ZOBY>(8T};R&Xc!N$zYb~WIF
zsIT1r0M`{Qt8(aReN2vBW)33ac>a*#77&<;B*2^IlL}Is{2T6b7nxCBYNCpwh?v{d
z9d@eH+g7)!xGT8pe#id+k?Nfk6Bap_)=9qo#pUFc1jz(<MC)tmkj*QDNXjj#IgKxB
z(0eS8s7V}M;eQHHAAgkK^xqQ}&UFfgZNxQ;aa!AvD@9wBP~|fsu$np6C*MvDk8Pn4
zVA&TGzNXbtSD~DHUo__)z6^UI)7Xzhr^pV%g7S_r$95c%H8GOha(PFQD{M5opD|?(
z5cv`+2;n;YKTot>>?Z|~{7b8g7mnV^vDn&%t#-mYXS(mr3B@JZ2zE{@<$3`@byXZe
zUnss6K7ZH#oo$Q@9V^SUHVZ7`-qth&aIS9hJ3NAM$de_`*-3f!V;qw<*(Z;g@IxZw
z^?BcY)qJX|`Rk-X{U&INsJkZXzTe;W>Ju%ppah_)vUyL9{B*(59S+QO!TD60bvljv
z=<WBTQQX))6=yU%E1kDdlWi15SAOAwe0=<MRFX%Bi!rbYRyFd;L2^*5#>`l9Y)!L9
z;>L1A$_*)~w%GF}K~2?m5moW$$3~HK>h0VH4yHwy4Qo!`Tp95U7r(eNCewmn2#Tsm
zsJ>Md7s7N&8$h+sNVB;ZzHx>im9<r!emvvRVoQrYSF@0<cHP{76--+aHB?Qxd?9sX
zYpu~((whA~&uFS~sO`z^%xUbI=SH?eY_wr0h1YvcgM{;dZ8A!$?aY)ul;abzVf5^X
zK6@(LhRa;_swu|98LRZ`d5x0Uj7tN67e9z&r4x+jB(gDpWh3OK&v29TeX1bx5hqi1
zRT6fWPu!eYU9MGUZsVC<<iU?mUX7dYMrjzfW48JszT|K<5mao4h@qc?-6clXDLF@`
zIo9(m&J6+T&Mezr!b7taDoffN$tLuIdB&r@tU4mV88^FsrBqavMW0POY%<JSj~W$}
z{C8HSG&2*u$=9tML=b1`M)|gm7c$}~sJ=dt+cqOMXV#+U?Yhu0##-Br0@Ql7r?|cb
z{2f00MXMK@$Ly}LX?K#FD*$kTrk-L)w%RgrY3@DXXp9jRv?NsItE|E<IWI=Eaz-T*
zvFn`6RA?5dsfdwe?qMK@xZ^Gpq(R)^k(~fn2*o(<y7Y7EXG}`2iMol<Wq&aqm0HY+
z8f2>wN8vXa0b(-5nNm-iN{l`7+PZ2YAc#CwS*15ItaOJRX{e6{el@G46{%>_1bGgv
z6nO5ouBen|iDi>ygd}f?Je-q%gkjwGVVgp0THnnz&1*3ZsIb%7J~ArInCSHGzb3_U
z95&|+)XG`av2_a7hP%Di-i0zWXB@JW<WeRicZH>8q#$8XTQ3RJEDsIB;^g{;i)kI}
z88`%+No>KXw~Vy#DXd+19j~0pG;20GKI852XoQin0#t1kwCYT$(t`r8)m=H%42B*x
zQ)i83)7s22Ne~=rBx&pu@y=US?KNPEYQ4g1zW3z`3a5oy+*#bu5%oQBsS()+QXZvd
zwHAZ?u==(X^ICyn0y2v++<melWQm7d6A<0yQw0znve@$0kZ)T2>BVWdHNX*SQ<>9V
z9cZWME<aB*ODkbwDJsh0C|ZYoPj4zS)KZ;(C?inDP{lV~HySZlImki~By)p^yYzwe
zC5yTkomZsF{3aP&W$YDA6HZ<>@?(-1Lvp#+J;*DTErf`O**M?kiztQ5k+zOE*H5v$
z3qhElZEq#IJIy6W?HXByDtw3#W;)@VfD%%8g1T#g+~6dr0H)e;9jYei1qQj)&&P1h
zKdQ?Lj_4w|kaCwN&L=l$mRVHRh%ItF(+s$z+iKgStv=ZX-YjIyZer~mPg;d5Sm5?$
zxoz}Wt`*0qEko5?cpB-ZWmS{pxa6C8v8)l>L%)6^oCs{Q$<}`nd6gJ%wDV{088}>!
z92bZTi_?w?fV7yl8?M$BuS3V2krz=j>pkCg@MJ||Lnh3HkmFM%KN*<4m!tB29GW+t
zd9iHV<K_l68`B15sm?!wS82t5J~J{bdML}Yu6iuW_@YoA2Ne!fRdi%_P2Ob{$4~`T
zvo?uWSKggHNMt&Dq&hdE8irT{7(QhU#uxdCBdvx>HcWXI3oL;d0kMf4;B1&7a!P`m
zO5>Y~FL4bnVC+ECL1U)MxE>zocE>0r3Y{y>Z(mW`k(gjudl@NUxbV=yY$8!&ITds-
zWsj196C{#UOr19qi(jjYuJTe6S6e|2#4>B#!w{8~XAfgH*;L$Y=-G=%j$6To4!EvL
zF#}OUlDnf!G7j(unsMIZi)t&Ly+iu*(~Ni2c5h#-dII(<kKElQ1p3KVuZd<gLM}5V
zQkbg<PJnit89at8Bv&0IdGZ14L1?wTW;2S*ug$Y~IYSiElpc1!+6`pQ(9O93++usO
z!of0L(YP)&(K>4#2+WDln3~SQm$5uedi<y-hGqdfjg4tvviFkGV>vgaWy7@!Yz)=L
z=-NmyF;*eh&4qR%p&h52h>k{CXao(&j_4aMsP{O5s;XFJ`qPSOC9MXWV!2K)ljU^u
z6R)$n+x*H=R$(kLUk|+6Lx?~rJ?V1cveV}4t&j`PA_%IAcEj_0>ISS}T6Il9N>mtr
zl8yeL-Q2)&sP*!v2!0>zIJ6FTRx@%;QQ=h-G+sfnbhXDc?gpaO#KK>Pk7TW6mr-r<
zlyTE?G{~>YD`x17fY@P0=?4ZmFb+8QHyy_eQLsVkV-#`%bOUZaofO#Rb7&oU`&U#`
z>3>gMzST*$Q86m~$&5jk>yt5{r;|AyzI_ILwUl!Ne~~z55l!U;?*Rg`4Ty8=O3uUe
znDD4^u{<&y+;y(_N{4f&u-<MNs{KmuW$3TCtu?T7?Hh`}LZKHW=z7VV8ytFl#;N3D
z`xjS@sxE(~(&;JU6NHG*6G*7qI^OPxD=w-Kxxdz1DnYH#%?-`v&(D1}YSLI_l^g-N
z+BvCmXFSWC)yVPr63XwdY>&9vL^2jh8(v7~jO;}0oZM2Jsy%H^tgOSp`1tvC?e3<@
zt-jPtc=+t!O;ymS<x<D4o0e&oV`A!Jt}x)tt+8hvvtfqBV#w`2ZpBl1ge3wMLL@<o
ztTKyMqsGbg&Jkict{s)!)8)<K7C_A<jmv=9NpsoB1sM_FCzzVYF4UHl=NlJ9ReE4b
z(%)E^^?|NY>nW_846Jb=<P}-oAr>UdL{f8ei)UIP-<H$E$kE1od!aN)iUjHh+~EhC
zYK3>Ge^UA(6B%OKvQ2dsNiJj0)Xo%$N-tc(=7ZWe@tZSwRifs|wBL7iUYCdL+Vb*y
zyos%K-&&{6_XdUmbHsUGi#mGE(VUoZIl7B87Srp<So9m|qf=p>MQSD7g{($ZhsfV4
zR!{ptMwQZJ9c|GDIhZO)79XNZ3ErdhYYo-Z#O}*1EL<BF^1N&C+n7u+*RqiTi`~HN
z<1$=K+n*iQoikt5ps0=gI?xz8$`kMN4L-+Og?+pXjjTpNMs8(uP7=Uvy9m#xdIHBW
zRf_XM=X-Q@p+rGft`Uym4WqZzEWvJdR6whpm)x?*mljBgwo$M~&Cw2Kf+Q?9o_>Nt
zUD-Y;Pz#<`>(K--62jUIb*c8*P*29~G|~%MHlk`pO(ruTuH^iWDzO=J8Ib1@?ZRdD
z)u+)^Kt#!)K=6X4w%tt4Z75&Gq(`p7-ho+>$M*JFUP|`%)-lX@o4~IrIUS@x<+y-=
z@kI`Yb6s)Lx~$x%Y330xGt28q1<amZSK?Bjy5K3JahpU?WXJ<>X^`i#Cg>^kbUG6?
zQ#i?6zPQG25vvwG<R`t0@7Tx@Mw~}xEQZ0T4Si}IrB`GbCc+?{DmX*jA1#MlYvz3d
zH_RB)$hz~>)6}o#cdTsJP<=zQsu=!pX6m^Hz8#J$DXeX$eW=B<C!NQoyxSh&d!R9-
z_XLFmL|@s~kCIyYarNb+x})lbi%;{d0j|eqTTZ_IQ_F8GiKC;pluG--8sV21N$_RA
z-68i3AV+n;<G&>&c6!Rx2$~tIl^S`bdNAx+j7Ea?O7j41WfxJ1jzckNN=h4Sq;mpR
z5EP{Xlfu9lastFYwf!|h&M)jWYL8o<wt@spKFcpDpxse2;|#pqxkX&bIP-3H#G*F9
zBP+h@yO!Hd4VI3}O5A8cruNYz4qE1RPd3mU!6QZeB-5=>%Ixh}#~G@>{&mEjcEQFb
zBW<hIri}~rq@d3OC&*NpaQ7s15mD77R4nWKSiLJ_o}+Z)gVa7HkE{$MP$!L+VwD(@
z*<E87MGfbU#yCfL0Y-8~Wr>Ul{W2pX?TVQnHV2?TTFL8wPD(Uq(uZC&&KqszHFXk3
zqD|~hJOX`ln-MAy03?`-JX?7I!Qd)8I%{&=heGmpGHjkpRP@%>?AqRAHTa}SUeUE@
z+l-<n_&Xc3A*T8AY}8QH&$dd7(jVF4`^>Spr^xV1h|l!Na=+JZMPlmRcZ=)W(@q7C
z<r=A3Co#B-9|_Onu~%a#q+5(*dOeCy2Z{rz{1!xpAR{JH5XgnaWJ9Ev@b%O=UWol)
z*!nB=d8$rOU>Vd2RkU;JtqNp%E6>Ga%B`_=wp>SqdyKTxib4)3Jgu4v3!HWqvVRU7
z3)Aj#s~)H{!#6xj70Mp0kz<HdtZ1<5Co?Hr8wFV|x7bFctYm6LP;x^pJ1Bcc-cn3S
z>NiS{QZy3P%6iy!$)eP4SW}fTH5hV3gEf{dZX`J<M3fj;3MfZwXU)`P+!N%gDv_^#
z1d7uswLNcTr-qXZafPG$zhlRe{^H~}7f(IxGFkFPYZ_J!nYL>wA}Dxq1=U2{QAK{O
zlfokY>(B*eUzlnZsZij0e;&3?E>T+CtaB%d<dbNh0ddzm&Ib`#=F?<N9Cr}Z*fz;U
zND)c$i$|}4%PKaWQ@d8ytp*x6W^x4x5gS!bYKUBve#nczP~M*-LgwG)Ow<!OHT|!+
zyo--k&XP={4WnuREX0uL#234y+Nc9Og!c|gF7z&NWHe|MIxO6T%xj=O2(wHy+e0+6
zb@oZ4?cniqQmrdJK-H;n8k*ffAQE@v6R&rcN&RGs@sr#^Ro|dd7SA)*Nz_>VW&V?A
ze%)`Zn1~rI)f@Ngkb<^O6m?kc1elJHp_r(O@d4$*I3RVOvrkmHJ;nidr*v_0Yx^rF
z9eUDzeiJTbbb^x7GW&MLR{PE)iYiJw$3|5VurM8vkvXOrMx#*4$uV5!8p5%GMIG1a
ztYuj?PDEGQio;;g5_Scr9(4N;fhPySTXsIm&q#ym<?M6bbRyii-*063app1_!Kl`~
zU*E|;^<!Le8x2ZY?9CjZ$vu<cqx}B>4hg<W+iKe@?mGl%D$zR3$K#WNqKc+M1RYmi
z=9gK03(+gTn1&Wc-+!|zq3N!KV?m8QW<_X?USNr~9v2|&ppNXVD0vZSQS}2OqLYrq
z%5pkJFvcXnyQ8$IW?Rk2WQs#5arSk^Vb%@gZ1~9Rs-UBMxhj0C!DzBPXzN)z#>uxD
zu$t~Ok;#Q2mtnrs;7l<0DJ%(+3OZtpfQYJb4beK$hYb@LC^YMJmigv$u6156-L;KO
z>8<^gz;POtiO|VeK!EZgxD3U1M0b`$Wa}i*15Y@u3)>hnsky_!^&QMFBZH`OajXiW
zrP`BvM2yawT{77+dno&-9Bkt@_`2D)O3a}K)P=)kwH}%D7>-um+T+;9PmxzYcTU@-
zVR=&1?HM~HT#%}5k~;94hDr_zmk~4t`gbJZkz)Fdh*^eH{P!lF8@25uskPPC9@VML
z$ZZYMj?3uiHchsQO4>LEhviKiK_5B&%%@xRV7%6h+4fX(@clB(u)CXFb02#fVpSEK
zxmtUjNc>0nak<s+#+PG`Pl|3wwy$s>a84Q<jr~R1_QXmGy7ZBXUuJ%vT#C+VZC#M*
z)!ojV)?}*Gb+jt#la1JiG}X2Dio!hPVHa0shjLCvBfHBG#&s`JqfWhNN~ned7wS-E
z;dLaiYz!P$(o)tVpi1!o@pEB=AQVq!aS;T@^!EV1(mg@d>5sD%=ra9Xb1JN{W#x?>
zmn<tGt%F^s&|XIyn8bx9$Po51CD|9Ku<|*QwVUf*$142QX-EU`?<T_38y<h+pP|q%
z3rv(VOlTooQ)Kq_8I)JViMPmzTw&x+VofnR6Om;As+jEQq9-Bx2<1~!Mt;7|i!Xq)
zqKuz@<e8}{-~$pd;wF2tV4T1Vg?KgGMA)}A37M_huR&ha`fWkS4w@{NTa!}7Y-Mdh
zH$in|J1oegG@QvBZ3Ki@^rq?1?ssRO=Fu&q&&Vc0#N?ZGZe)oPY?~WboRZNLCQM~V
z7-Vg{h|2cdRTL#%hlwSPj(Sz*wLMv9zDPs6qKYS|yDC}u<*a(GZJPn-y}e77AxiO`
zw555(RF2pysXAf{!Lxg-jR+}`w1u}yEO$lqi%j&T{5I;M%O83*Y6d$6$I3O;vuJ9q
z*CQ>uLn>64m$+a+YQhTcVyGytD7yDYD=B78=ASt2tt4WP62Td)ue4?pz)wYLGxCtu
zJABaFASHd#-*a$@c3v7o>H|E+EU&NTW9v4fxQ|)4j$De~*F!^fww!JFio=9b95+qE
zE;0~XQAT)gwak+h3`8}e*A*kuszS^>k^)J-v`eg8(toMlT!vZitV+y+>nNLc#P@Nf
zr5C1DHjE>XQV95M$KFzLzR)8~Fybq-NQJ)H*l9PXSnBOI7|opxocM3Q3n-C~&VMBc
zvIWN5j|m!R(l2ni_DtSZ*%WM*0Cz%GW>cz~3#zl@H$j%-$6|~mc=S1*MK%gcVI5aJ
z$qVsF9CMp&C@aqsYrs^V9z=>;c>=-whP^UKbFLeOIX%1>`8{*BcP+^SGi|7`W-`Ge
zPi#C5wLo+97x}tJZ;1}MrACycJUJ(rV0%Fq71va|){5x3wl!6R;2JMOHzkP{0={|P
zL)m1cy!x$7DGV7n5A&MCjW^g-7^}JRNc@FYxozz(F_%Qw++$N~>RPu*c6Je^$AYkE
zYa`AfWvFqPl8Gi05=D8w!uDEvLxA?^=If!bC*{#rWmtxvMzh9j0-|TO$1pqsUCfpx
zNfl_MxMpa~W|5&3DC$D!rs^9e+l5NjC|Fb+cTcpxM=7K^NG>^Fl}uvBOjt8tg3L)V
zsG$mb>8(1gCpeKlkN|bU1yCjGZr)(x2feI(eU%N0BF5(SS;qe7AEMV#sMU+QJW_5u
z25hXwV9k|VX_B<A_hh8EdAr|zK^Q^aP|9b#>K_)J4ca;pu9!{jZhwYqgD}bLS`=69
z=1@p)@yfNB$d4eBsA$qC@Q5$NSmK5RucIpJDhp~Wb(UD>Ywm5}Tjv*}Rc)-4GTKIQ
zSn*)WG_*%8Uu_tUFYE#l(Ze?sTjUPB*B+NR&b)d?&Yz1mHo0d`<Iha3k1gxnHtrkd
zECsa3m~Ig^BNZbt9y^Lo3N~ijvIDl@id7@xcl^k=Ep7SPay&e)XnRJTRcT0?Wnr39
zLd#Y5uP15MYtLgimN$>fx3!9H7)T~wv$OZ14dHBsec(K%oKXd_K^5vn^~R^!GO#Xl
zc+^^TRW-Eyc6Hk_BtCJKWyoRYrGw!;98aY{9dH^ZjZIoZLllpv-B8D`@$44QA8wxc
zWetb&1_7wK6gTZ4D-oXM07gtvdAWVYIfJo*=&!4)f{cA7){MHm(|=R+HWO{&$-SFX
z5)?~#G}0qLn*5lO2t_^Q&vbDaW#n{4_++03O`31AOhFH~czcf}*EEYdppP4`Sp2;^
zr>w8Ex`C73Ms^zH_4N+Z{{S;JHMMz^XiM5WO`1m)2N)?bA9^~p2B))1qIY%be-ozH
zD%~x*wOSO*af`cYdYcwSMA4ZlkvU7Hoa^ZGtt?j8yyAy0D%l{SDk&-#F4tRa4UI`h
zq7FgD=2_QUH9+^gGoy^@00~)Ss>8(8c*5Z#vfQt7^!JIfBZ{h`qgeF;>2prfQQSbf
z)O}O;*O@e{m_p@lH;l|uOB)yBeyESibe(;sod*C_;fjU03M{4;;sN2eT$ORZ_~aA4
z>C1}Ko~SgB1@$GRb(I-S{F|CLCADQ+le3bgVNQ;1AT0RONyF`_i~Pih31kldMO8i{
zlpL|kSY@n3F~rR0WOffnzLE|zUF_R>N;)@4`6GmmMZAp6wN^kDIZahGCW$&dp!Hj*
znh4zvnP|qEPsy?EJF{FVTDg6xcH6{_2$*>l;)?K1_R{-JGOQYzu&9cp3cX!k>DF7X
zl}Co^z69$Q*D>ueoA?y7W6u_4lg*qa<w|W_eb-1CWx+lGLW=Sun}RA^1ZE}%OH8_p
z+;OsocY^%!YhUoMnI=VpdY8qrS<PfnEDt)<c`r(#oiti{s>-?5M`NSRh>T)xRA&HM
zZ<wjHFSaa^nG*9%vk00ir<!%H_PU8#V^NJ{57TDP$9355z=4pq#FnKQy|T!LazSLG
zaT0Ck9zs-BNmqswtof#i-NA>evMb-l?eE|esZC0i_@rpgnZ%nI-C?C|iGwCH^Bmn;
z5^SUjIAgdW?QWFZV~^!JL8y51v+&HFUZ?g}c+(D)D|nJk=9v^{gHP63ve#`RDYR@!
zC2Ucpe|4aN5XrXI)KZ?wZLF@XXgVmHRUt^z-&i_ze+kE9MaUvgp|p!0TYZ;Z*?1AL
z#8-7U8rj{+cSK$O5kh@^N3w;JX`Y}~IPw)u%jDw^vD#u%G;yS>3h&X(jT%rCRV4x-
zU$P<>PJv;a`cH>RO>ZhpoFd((8FobXTa?&Dcv@^l#ZGb*V;px0)Im2GZ4`wKNf(!_
z3^6t1(+FEbc5GR}YX)1f7>v{Xp6Q$^Xq#~^=s4*DseJ>($_Xcff#5zm?N*=KT&+1@
zPY|1hd0RLcl@dyJ=In8m(NHHj2R)Ei&n`Qvj@zQ5r(R{qi4}*W%#;nb0;c<~JHfWW
z6UwP7{V0j&rA=0&*j{>Oqt><?nB|@-)M=RnC&hcNq(bajv|Q0S^Ng;z2j_i(cU48%
zm6O4ZFCDgm#IbrjnrVW>hKHIPZbWy1qHMeFDvF=q$4Pv7T|>r*nEb(gskp4Xtzzbu
zK)()4UC8e>;7m7E-9MtLFH!`9^(t?+%fBV*dFf9s{(AJ)f#qvv+}CB|u@Xz|G=PTd
zVcRrRL`|2FugY$_0F*#$zwW+QrU-)aK~&$DjrQnX!p9J}(nt&84-!>G`Ax}x_v_Cj
zU#E(vpR3P~smmy0$1N;ky%I`BVOGSEl_6}`ZrC9v`=5f`c0>;ftGc3fZVIQlDtvq@
zqV?Jqi>`+Py_a<fP{(hpWZitP$I5@-$6iRqS8;hbqV2zrp1o|P^ocJ20CiOB=`=;L
zsG_POZoIz#0Nbt-y1sXt72KEMcH7U-`gQS8`@5+kj}$-^+rs_V`uOY62XR$fBu$rN
z`c*gni~j(>Ur|&|5L0DD-4|~?4NCI#2!NtOi@NyVe!8$^ibhDESH|Bv`RkCP`B7iD
zlwUh}>+q7IZUy)AvU%UH6IJEZTtzL!(RcB(_4-pGGApqA@3fAA3Y!n`G(|;C(38lo
z-4#5dqIJwk5O}X7U6*tozV|sbvt)=!smJH({rcr-x=mN8t~VKkX|**Lz(EMjNQn^<
zH&tIMzq;?bub#Rq!e8?NKcJE?%6xUmjT6WjFD<<P08jhduL@f#s;YV25r6gT%hfBX
zKA?!M57{?fKlyd|l{lvAsj{cas%)G1->xq>Lf{~hCnR0=1>fO3e@~zF>*~6Ko>y<`
zrPr6Mbt|}gpf1}dkB^T(J#$A;Ly2wo`}pcNc|&yN<dbFFu5LfNqmHKAef+Oop<X1e
z?m9nK<@WehPmlHfy+(FJpke?BVoT+B+mH4By?rD@6>!sim+9Ze-Eeq}Hx}Jp%YHkq
z`>#aS)d4h7)>h=H#S@Aup3Au>{@?ob#!RO8q7K}VcSRxdxAg18mzDj!$|l>Q2pI3W
zr=R-m)HmHy*&XnoJ1XzDgx~)FZk*PHvg@zUI4G!uD7z~8CHwyW0Q`R4eP-F#Yv$6(
zmm}F*LUtXKQQS}?V8n%0KFUI?$v01w{=G$U^-$m<iRXQj&rx1gRYBOcRolvb>Cuo#
zp-K)dH4D7yD<S2Ou9J$WiS>Mz+afCe0HSqIHflQAh^V4`F9Sti?fn<8Qm4KIOf;yZ
zhMVq+yi@P~tM>l@wCWUxeYg`W_Qf~c#0PE9@Agid#(_kqIH>KF%A=LE?9Y_4c!}4-
zX-uRlF5)~B<xzb7UK8bZ+o8Nd>aME$ImYvP%6i<AWn2jHp+U$Y**=Xdw<Hh|M0n8;
zgCgN_0an0O3+f?Nu(4W4h?~gqiu<@;3F^ysNyzV_F6qccQCDU7Pbt3JqNhk7Qu)<x
zn|h_jvx_-+?jcZhG1_sO*$r8Q?h^!vHjLUe41t0oKy&L-MI|L)Jv$+Efu}>)AF}f)
zN{vUtVdc6nfND-snwdUsnl49GN|p2B<@OV!y=7dj8x8js8=#Li*uTV($G#%WehO&N
zigDEpe?)a|^As(2)D|Sb@5zdn^CDSGgI!|cqh(?;=CI7S9v9J;+(#Q$n-`VSF5bk9
zoOCd&Dt4QC6ePQ@dFN|oyEd`Mq!$8Ky{u>BgRgj9l|o0AA>BBx%C_}UZ*^;hvxC>o
zcAkqXW^OYVD1~MnicF3)bb2D#MJTPDIgP%|rreUr2XZ(V8aSU4f<&Y+5O&k5@>R9M
zMl`(J&1igE0;JKbK(KsOCwn^34#kU*-GtcAQE=nF;)tlh6Cp8e@o~1>?f?=GB_5Od
zu}`k~ew^ImdZ%}!`L0y+adGRadnC47EM=<(N87`UF-elNWaFf#)f@zUREa@dO~qhm
zy36W!)WnF@8lR>bgL|isR>7Gg{vPJFwH9$-M$KFR2`&Rj+iteXca;Gg1l>8PuIv8*
zRrtmeMTS>PSUTWXy#_gHm)+6k`Sfdh7T`w|WhGTP8MXZOo^)Ow+>?xm**M^+f{I5Y
zWG|!0%neEW+$%8sn{LewfaB#tm-aa94Qa`<mu2gION!lK_`KXE*2aq7t?D$V_Q=z&
zz=t&07b43>rZDINq?R8B94AQ>z&mFd4m;|SgB`!X@yRwv2C3FqpuC3bHtfo`?`~ek
zByks=ayy7<<493kR6!@?krE1%OkcXAwy|>l4l5$tN@3XB&X1~;zl^}i@q1Xzzd0O^
z9Gr2neb`nmI?5xgwP_*o*%)4*^pAfJA5i*DS?h~dGAlhKuKrDIoWn6%`SUw2MQH_K
zLUGRPahn#w^%O>jxZ9%k?(t2A3`<#vE)_P~<IrEhXyY)h5CH8o8yfiTigbI@#w977
z#}mEMo2j(8#zP%oSz%Sq&zBkK?SaWQ44V;_ZJVyUC>5my?I1D+tvH=BH9$0{(=#yg
zbjF&EWsq6SsAm|3ei7%(o5{ypl+m)`q<+CXBrlUn$+qD0YjsA^Espxg^rH({EA+2K
zW>($g78smK)cLNO(Ari*$Kk^>IL|vKLbT(~Fxi_bZ8WXA>*Q{rt7;^v#qt?Ts#UtF
zMFnhHg>vLtgk?e2T|{ws2`Z;ER{MfPP7i_Dw;>+1@U4^T4lm8z7NzfH^Z2HW84Y`T
z=Ihp#YZhg1r@8KXtE}8+R#U*(3TEiaMEt73(pIEKX;C~fA`sP0MN}I=AwgfIG>#$a
zMqZA<mxyaE)y0I`JE)^asTWixP;lomI3U}&ywxW*b++OlqLK=>Cj`NJW`gHeew#E?
zO|;8Kp<7RbhFDb1qjt(IX;;o{teFH)b!^;_0+kX=Yq%ozTxghOcU4qPrRtV3>A>{G
zXX+?eN2FH24R!=5YkLLJBo6CBuw4fiy31+@xiavwq&<zy`70MJc$ot)Y5{74)`^%>
zVre7}_P4l9eODZV9KU({_*k2DH1ivBWXzR|IdG!a_YszyC*qL4%qE;z{3MAx_<Eaf
zqN`+R-Hwap?dG}Gcc}TUMVeQZ30&?y8yeJWrd+k7w|*jwrdf5C$Vs-)P@9^|WKJ`|
z)g#-FNvvwG)wT%cJxQiss77f(xN0LOH%uC`wuHo3g3`9rO2bl&*1ve}cbajxMTo4E
zi?JU|95Yw4JskBXTdQ8Ja!O0wMaXAOD=EkERdQWgHpAf(O~e*KwO!3wjzp${^O2rx
z6<ZNLplmWd<i3NuKnACCZHduXBw>s-mo>e8y)|0;qZ5kDwDc}!Yc06ZWX05~2{IaI
z+cwK!^u?CL&$ccK54U|(I7yDClHxiHk+IP(8FNpO=8pdW!W-PAvG?g847KL&;mfbO
zwr&$_LI9G=z3wEGWo0CrMnZjnCpR!9T%V`jyXmAj8jGVoqLjaza?0v_mIgtOvo6WX
z9?>$y*^lzs9Br3YBJ4uqw##DSDL2cjk3g87A)^oHSmb;bv5eOeSrvHIHB;jK<%rCE
zKPi^PfwzR(X~$8rRdJAU!Q2sdF#ZIQvGPl9Tx+TFuT)+*#+L>(ewK^YO=-X}*!9(U
z-E^87C{?QlP3)%O6AX#)C}8Hu=QTxb(l*7QQWQbq$pLy_YVc#3p+my6%k4mGD3Oo@
z5^nIEf;}^i$S84SF#+ezw-}P*#y)H`4uF}*bC|YDJy29zTD^u@Uuzbf<@2HAIIDKG
zg-tQ&@C}H&Fz8N&Hcx<VLw$!hf)5Y{A>?XG0i<u_K9liR=H=R{N*3BtO>YYx#V1!9
zBwJdyKlwIjx5yZr-?W|B2OD1D_XxQ06+rB8+KqMiaXRg%_=WNkb30EBl{c;3Ov0?a
zY|?2{l+WsQZV6QF4WIl(%bVkIF~-c^bfw1@_%_Ee5g(Bz+(Z;r^K?0d_7SIS>CC)x
zinATFWs!wfb5g{XqgN4=aY7TaJKe@uGdE3ka1jKB2v2U1o|EEaQFRT?Pm`H3Q(T?)
z@)^&JXIvH?UQbFm@>wx{J7?s{wMRgZc&ZX2^!}-;y~?x8M6bZ?VYuus#gL%UO?ikW
z;P#k}Bs)gd%|j4$nFTIoEyPkqRYcw}#fEERBB7&S){7z1Nh^!Rs!>m-2sl-fS)C*H
ziw`NTemA{{<#?$*6?m$tHuq_@VZiN*1FxS1RqcqWr$c%<4ZKU$E~a6Nk<P`j+B0D1
zO32FDv#*R`B!1Wd=h#(JMC~s9$3?^u{VTCm&U1rlUO;+LD)RAT`}W%e#~_g%m6NfA
zmRph;QZyk(O~4Z(;!W(RJ0kQ6>PJ?|{I<G(v~9;~fKuNnae-y~NU@zWZDce_z#e6%
z2oTS1;&3D#iF#XGEV7a`aP(a+jyQ)A?uqp*AW4lg+rK%Xv5yKA3e29uB;jF~9RYE+
zqYJOO39%Gy!{)m-Z?EO55-Kigbw62g7!~bcwC1d3Q;n0WD9PK7<FXu3U>qU?coav9
znxHfSL$IO}^uxlx;L|!XxdUFM>T*#@%$3~w=tvN0-g!t_kWP!dpSDL7MGhzc@lsa-
z!9-q{_|2R==Pkst9ET299vfTA+onO5nI`4O0wQT!Get(9WQI{Q<WbICMSh+v!x7n#
zMx0Pg*JcK~@I=`DsLaD!lZ!;jicQ8Tgg-MRR$3KQv2@XdimtaWwa8p}iNSOmQ6LrO
z;3%Nfx9a0iFpAAge@`-|{{Z<%Cy>Mma9BwO_ZFFm4DxSrkYAqp9FQjw3O?$ti6Zq)
zmO;pW`e8Ddy2Wb>G*WJzi1MtXH85jVNPIge+PZ|DfkY)CK6{7|5`3>pEkB2nX45BW
z9ac3`OD`=iWVoeg2yMv|dxy4G-Colr-gJ?+$wdByQrSE<JUnjx!nUbgbgmj5ET8_Y
zeNEHpwunZmrPd6J7Jq3<!_cEZ89?JPT@_+#N(rneHrtGof)7M-5!KvPuN=@)+dkC~
zPVedGsN8cZon>EK{ZwqGzN$ReAV`Fv-)$s5T-t3%b5ui7;;y10D(;DzeO}vB$k%(i
zdes*{2Vt7IvRknCP05hJD7xSu*b!H@fS;inRNYlKR$jjAPF;uKcy!!W_ST;E`wNW<
z_R5O==%Fq#G>Y_R<B0Hivj+#lq988&a^J5r3L}rYDqMF>?K3^KunBjq*tK?;Yo<?)
zV@D961;dhSN-MkV72@wQB)fj06G2_~`1$+vPoesjcow2lXC+?b)vmE_Phqk~$?doB
zE3&7Z*UsN=l~*|%xfIy;l8MEX73{G2xWBDi9sr~FMBsv(FWncb%qg{%Cw@YT&?=cK
z`P=r}`hVrsgi(Qqg5@_Uyv|8=l}M3udt$RE&z^FoSjhU`eb*IKh|g`;&g-{?`|Z>F
z(+(MbTVV%KJ%pywx6|11VN1Mfqwt^8`u_bTG%Ev}mgF(x8;XqXitC7*B6<1QI{uVk
zSjJlZomb<Qv7*+%sEfU9*!){?g%Li#k0s~lth|0Bv5YitWc(~fN0Y%Xwd?qxV39Qq
z-94>(&c?2)GBIoTXm(OekWa0o-)>tL;;N~~bXD`WK{`>Ww7#M6i))PI8Z1K}TaRy7
zV8QPjii)YUE*d8%M{UVbHeO$Ej+HnrrTTo+zgrM1@oYS3@%AtMrR~mPAnY7N=3U2x
zSANhbqI~YVFO}P^3+nF@!?li7NfE6Zm=Px_SHr1PVgn8T0GN@X*%eo9_uGE61X03T
z$i*rvRiNj(P+uXfGzy~&)GP-Xt;zIjMKLJ#PQkEJgLPm8Z%$QjWN??^Q5WGp$@b`%
z1$QNbj>LtU-Gzka!~8?-2LUDfY>D<nRQ~-9!=<Q=+Mn#(M;eSR6N}+jWbys}I=P~D
zeVoB=wlX--{Hbrp_xpcNyCXo+ajq`a7>$d>&j$YhEm2eHPr4^XIIZSP%x9y(v2r^y
zTJ63GvI&p&=r-O}P8EyH$*jp;2r)_bMK;|0Cdi+%s`&o^U+K`r2DD~cv!@m>Y2AAe
zZP_&xWS;^w1lf5utFm%bU6X$s{B<OZ&M8G>32D}e<wHW<q=k(dOK!Qxk!(n+f}i_!
zO_*xt5sOQUOA`EMOp@X@v7)bWS}peaw(vez;e7Nz>H9==9~;CAQ#C5t!Fo|CHyGus
zuSJitBD(g=upttnAg`alQ}Nt;($o5bHbtgy3a;Lr)R4mh!6S1WMCGuT!k7O5H|1BT
zoLC%9Y6k^lSl~dS=Z$J!VP&mpggJ;xl>o@1tX6?h(A*bikp2^G_w(a!i*$+H3%Mr)
zOpaMhs7G9${lcSQI~Sj*yluaa{JQf~>Yq((OtFZiA}Kv1dv4=D_*Y~`$vpl37jK@e
z?;zq?hC?RKw;63~tRey#xw5O<CxTtP{{X*9d3iS!R5So83aQF9lP;;tVb@?4EV&I@
z9v|VA(UPQIRTu5{`00sX0Nq8GVn~k>Zekw@zkmI@s-UfdM*w29(4ev?E%6<;AK5yU
z`0BiA78@o+tFj=b>$g+91EQg>G`hBs>{#HV$$mb`*Cu2kxv~hZ%eo<W>Zwjn?j(Xv
zK)+LDyDD|?CpzG$66`3xHt@YHwK1lpU$ZY^;x4ZL0QkC<9$E6+xJ$p^p|+=xDsm;*
zz87w%L$z%U1W$C|&z_XwME0HtiHA|o)|>wTPNm0FLPG*w)5nGCroL-VuM|%|W$M}*
z6NIWQ@3L;IzuTlZSvj^U#uKlaZsKmgW%=r3M1-3sQQ?q+B96#}zi->AiV4S%Cy&3L
zkabUL>l~34Jasjv1e2=vRZ)Mp+o^HSWkgT+=}Ey&WK|c>Qrb<I{kn$A{3<Wssf~Fp
zllI@GrnglkueVZLB>CH@&HSfQ8B|S_lgCR&HBhc}@)e;Jm=lgUIDy@HKE7O6myOqC
z@|*tM4bFv;U{fL5zkMcCG1_@bI}7wUyp)K|HrY2-*%SW&5h5p!k0)GJ<Ize*r0DVD
zv?401J0Pm6A|}cG(GfQ4G^(1rqHa?}>hS*n>u5U(dEd$sc-egK;eW4QYsj;-TyqAk
z)l=iOQ71}ViMpoQb@qUX(qW-C#FKR&q&Fl*@T#i6^y+70-8hn-1vMp75#{iRzX|(q
zzRA_2tpnaTCm}7qjsEHT{@rmX#~f34Hctb|6LmySzy53e*RKa&%b7T;=_2{aNNmq2
z#E6PU*`O(^uE?H#Q^)MR1Z%z#p5?WS)?iXA+m$h=Vop0G@G;3e@KhDzyZ!e60B)E>
z=Hh!pUQQ1r<U6O|Wd6vAiT&59Y%%pVj;SewJMHCBH~abc=!450P`FwgD3JO;qtNi2
zRy18l#~{eGVl0Tzs~;3`BpE!WriHf`HxUF6xcqI=wwaX>#E)YlV>4%qdp`5qlkD;x
z#SfCH2Iz>pcuyV^$AKME^wBR;vw2wsKBM2)$eAcT%ygEj0UZ-%29XswFUH<>PwUZU
znfiXj^rq&^CHz`QowRt&$Qubg)gx&M5c!g-sjmAk$NO~h_7+^+slyy(tq~jc%uE-e
zS6eW|!$a+pt#U^9`B5Fynx@;LZ?^qcN~@X8nDXshb;g)QDG$d4H&e%z;)t7UyDADN
z-8N3EwYs}E#PQd1-7CbCBeh}1g}R|}0Eh^Y4EI(404i>~C+*i83mlHx#%*)Nm1hK1
z;ZD&w)2)#G4<YaL>`TPO1yku?Dw{7{Xknw8Y`F5~k{&LMtD#Vg27+AH(n2(W&CQE~
zAfkOJUJ(^G>Qq)Duqx2TM+BGtV@a~7kG9_*zTelN2O;LqP_2ZlO}FjYfMCoZc}6p)
zg~<_3MM(ukQ4o<8OJz-wc2vBTsCD?qvrNqv6P6BkYuZ@Gq~f6Nzeu8}ig;C0@H=^5
z+#L}*T`{t>QlgyFQ`W0_HYHx(aa5x02veAoWTFl_@USj|J+m$BZUQpnio6wgs(BS2
zN|<W{$Q|d9+}25r03v0zFw%5IWTV&4a#WzMw~Xt1D+(@_&bc8Cw*WgTVyfCF^#fIO
zpA6Q@s8R3Rkb?$$GoVO>^Nboe(wEc76*mGBFfd;P1gO3jZjrj5=uZ)mGT$WA#@nxz
zYf&=3#es;9wKBd_%Jb39wb)N&H<i9ykef}aapUJo3`}Mq!fvx>fU;utii5aWH$miQ
z`j4a6nkSdiOtz(}p1A}09E|1KI{wYL85;t_abGED+|Kx$k14b!8y9Sm2c<?qg-x)J
zDtiw-20k{0k6YWtoB8u<jne!s$RQcVZRJ+P;qqsXB4E`-b{?L(!|8X_UKx|u=Xyag
z_&1p3p>6Bdr>iYW@X{m48I=}|lWo1E0--C)N=B!$Y(J1<&^0R;vwKzp@T`@l_O-&O
zDiN57>b_p-_yyZ~JB_#vd#*v+CP+=q_C+Pu!n3n}YKj}$>oXHDb2Pq-B<0w}4m&!l
z8M?BaRP>n%1|7=62oROQ*iITcisO-<Kc}{G8|*%WJljOs<k^0jw9?-~G@^Txv7cvo
z0ruwP))*V>?(CaxM`&a`+|zO#$!EU<VTmjGt#;cM+)u4ZkLW$duIih1(jkSDweF>H
zrQOQ=3DCjhahlg&PTP{+IO_2>C&9!pM;MeuTsqNN#zxZ?u;96ug>7t025aIKy8&?~
z#wfh=g(>D(VPB9<G>j>}jw(9K{K*KL<<U;(x?<9L@Ji0c!V6HXK6_(=9Ep~GjpID!
zfUzB$+<FXu!>^-C??@f#B^Vo143vG#43ZEy;t(6iLeEzC_PA-9$-TjH9cPgN*mHrz
ztG$xtaMY8mwoWr4rctJpNy7ta_@vnh5hoaqA)#}fr5bUoD_0iYP}R-Jf!o@4qGu8#
z!JQ1-Z2tffY3MRUqeXHcqsbBG$Ag<F0V24mU!G}3E*Oj*Kf-7t*bY}XT&|*KYPl|R
zF=dg3>xV7$Y67;~OdC!k9G8A5ASu5}Y;e5g1k|8>k`D0*#^xSnbzR2`tZs(Rrp5Rd
zOk^<zL<eFFp2PDDTM#5=Q5+#bMt#eothp9SI*+QN&SqVT#;3sTeK=e}ek8U_4Ua(7
zxN+;9mfE}$Xe`whW-4TWq*d}#MR_U^ab!6nx3G*?G1CE)0*@Liyn;R3^V^kFQY_-v
zNtYa&Ng!U_R>Dd+jw&#&hiMGUZ_C_<=^ylqrM9`8O+w4$Ww&{o)$wy^5Nf91Jt6QS
zU?R%)fUFFc-cw%Lx!fZpX#SQEkW3JhLMu%;uSbZPw+5Bhf>mG6);&p(>zJped}A=7
z%Q7|>F$~rCm2od4_O^P$#=0W7%2~!yR11oSfSux~afwk|43(>1jCB71)XZs`ujm#F
z?n-i7$u~!5R|^x^Hc?5#sFTTAyAAo8BML7oY9x#bZm9d#uTxo1sCZVoO`^HICY)lf
zW9_+lCZegyw+jW-;E`mJ_J+9?j&8_tA81=`8}Aah=!xW=Pt;v6xT0f1F#D;(%{E5N
z@ydcrP-4ZL4X7-b%I%Y&*{ed|IY{Cgh4cb8A@%9uu#b)Z0P;Cb+mAoihz=;c0{e~W
zvNiq}^;jNyI*p)Oi|N|qGiuhpJoyr!<MC`i3<$<eD+e9XYCt;SxTq$~rVLHAO^H)w
zq}1IZ(CA^E`gYSxyxP*A7G>*7nD8nq(#izXnA^n};F9Vo_M<xbwISyL(&RuQVw`%g
z^t+vChn-K<jbDRXsdFEi=0$mVs+aUKEKr|C7u<b{=?p%+kPDEyn~<+CU#oJzQFoCq
zbAr_i3z?dOj^rTaJ7Y61w6%{mRFG6B8;b73IYo_<Kh)b~;<h^m<Q-GlR%bX0B}pIz
z0+qFK@o3my6RP-36{F1PFuB-Xq~LijJXJ9AjDC2@iViboG5wm#Q6Omqn@~vz(Id`?
zClQ+re?)W(A+V*&w4*VrrEboybq;5g(OGSc#Zdf-Qw^Bycb_stL1rq&18@_Q?+c5^
zRAD%_rfIg3<a$e`dYqZ%PIXM&oKk&uT6FNPURIq0iu+ALW#^t20nl<A@?3CK1PKI%
zQ>@FFE;)CO*67VfX$HF?8}{ZyiCS;Firhqu0)qxaF_6%u!4^KXSlf`WC&}S+k5jV@
zSkmBbef(3~h!VRg&~QgOSLzk7P17vBNa|)|9{Rr}tEhu-sMoc&m+r;L$&Yg$0=!b0
zkn8IiO~Z%9=40^?bevN}>t*^y*G(z4&^!Ha(~Q+~8&k=OpCz&e<w$-_nj>wCZZ!C$
zho5z_HDR<C!KQ&%{5Ka#Kb<-uZ>X~In%v_D%`2c-w_H(a(uS3%=Q1E9`iy4Sj%5&>
z7f+M$(a8!3z`fbnR9+sOGYiba(evJoG)})fp~qp&ookd>=C&}RUFD9+bXCZaT4mmF
z;h3^dOPe9k2E|kq(RLSIOha56K+1mHN|sh(-x+u(FzZEQt(lWLNOn2ZPM~G&Vp6Rw
zXJGj4>=a-utgO@Uz_Ry>+rH(t0q1+NT~IBXX||f+MB}9x20uPNcN(@U&J|__gjm_R
zN^0!b^{+G_(=yxyG+Q^_CmnN}jt~j1<sE*MDvBKQTOHCGY?B+kZUkA`AF_U@6`uq_
z>~cs8&H}N<NyLONGT13J3MU;6Ty@fY$5FAV&O3zZ{-WK$$KD7G*++wp$2zN2hfG`v
z^V&S7duBY86bS)M)?8hjWyNR`#=YzXq-&zhk*zsM*&yjO<)?3*)_qK;i$`IeOZFD;
zLV5*^31bnW5SJyk$;Kzkm@(TgXok~D=NHN|f(ycBZHAgzWfqx!HI=<<HZBz1l_oz-
zlbk8eB)1|r22-s^jB(p>$7D)YA-42a&G!g|f;);wv+{Va!gmm)y+&bG&@2l}>Z(;{
zuHn&bmd#sYVSa3KZB|R9>#VAyhU27sn`v(_T^fs-<a9-oT&cTY+pWTgmqgW#;vfSN
z;Ik$}YQyIm1IgHm(X^m!G$>BFA;#3m5ye-U1U;^KD$#wAJqC(uGx~K^H#D%u!DL*%
zvS8T1Hn^-wcWPB+hn-M^RTx}ZEPG~~R^DmhN7xp4zApP5M$ZeiOFSZrDWKIkIFr(0
z$GWP8biu%4NIJnsR#DOXh6+PzR@+|T=;Z6_>#YlDU$9!t4^QbI$8D=4+~7CU8H9P1
zWG34b5p{^MWW|uIqDyIGI4?(3k3K8Rsj((OIoewp)wH;Vmc)hpxhl_3;kGiPY6cTA
zY$RjF9Q(;)3sxTD!YfYgE<E_3pI&lYZd(G<lM9)N#uDpT16~y$j#~RF@bEd>3X|-A
zDOHwDs<VK3rj68GVX~<xomc+=mU6b6veU+$kKS>pY&yuqw8thJYazPn?lBbjA7RLk
zE26zMj|;>-QD8ChBaw>c7-W!jm^V1pWu3k!j=n6gL^5T@HF6tHI_vEz#BH~$oFoAU
z*dj%7wTDAv3O!rX%~!={GkYZ<>F&B>E!SHus!ZnNm8@5HRSb>R-26f;*A5wpoV0Q|
z3bp|@IAhv{t917lwX|9}t}@m5^rcP{QwG$oZ4)OUxW?*7NhI6o`M?ATh^}wjeR#N%
zMEKb@X4$9DuBx<LC3IO|{o8(jl%U9UvtNBX=&X$e)g2f;VbW_FV{*=p+Q6+c3}y@b
z*m7$(6)MWxvF$}1Zg_$yutL+)8eU8!Ji|mi9%8gKnRb|I)sCp+E*loKnZRXqX1C)X
z+Oh3QJc_r$sR0sLE38Ouvq<b4hU>gVdL^H$`W@-tKAoYyuJHX+!5Ilo$ab0@CN9&)
zb+-WKTGB{Y&P+;~PPpGT&4+u$`FGF409D)iamO(F`_D|;JFb)(zl`5f+GRQ|Dz54R
z=9G56-;}BeFo4CG2_i8#9k5X6*<Q*6!P|0%c2STT4pJ^ghL^6o)1RvIoioN~5C}gu
z`PEiW(+^Qj=!*J?rwp40i>4<BC(@R3OsdN$$I-b>%3vwkG=h=qW0wc2q%dmRTR$Iv
zp+x#ldc(uu;~6ARSRRscyBPCqT6*@H?hP#JlEvQ}HknG-<F>#>k7XU^+l3*HYQxQf
zmv6XetFCKw=T~!W6_<CO=)JaCr`X)dwt8!<c#e5m#5q{(w^6@oHl|I4XCC(PU1@|O
zP>~hJL{%JCMF~koljhI{>befF<#!mhqc%k`YAvK!WX)bW_>>E_fOc}li@40gc0+A}
zqt8c>^KFap$qi9BI$K@3Qrc=f!gp%u;?{&-y7-R{w@6AFZ7cN^Z4=amc0|sc>y}Go
zqZ%+w3d;PKD@p9CKU@f{w;n6a3X7-?Ms_@h89^lpBI+Ac=AN)MGZ@A6a|hI_yyF>%
zbAM25++>j!K3t8u=*UH)voNwY!@S~3ZC`B-38_3q*4#4<)gMYxH5VqZsmm=a>I(k=
zAQ_F+NU(k94Zn6^wv|$(0)8PMuwEK-voU>|?8~GZ3>+H^xx=!Xe19~<=rc@*Ql<B7
zCfUr5JZr3;amHs&VO@-peamuTw<ug{Q%Z?4E4*B9xQk=3k}%PfBjfD4F;Pl0Jm1Lr
zZ*LXbNwgD5v~w|uh-Z`Rv%8v;WmwUi4$@u4jkTh=!G;R%Bv<RJ$-k+>Xh`^rU@n(}
z9>1qvh&@$eI9`ZE^u?6m<EGOw*|H--xrJ2R+PTfX%A;cVKoLizpKazPfyWV$Z8+!~
zP8cU&%lY1<bt6+M?6ikTatn#L?3Sh2+Qx>%QKMDBB;xb3EQhi$%5}wa@fl^?_XLR8
zD~$MEJA`04{R&p<-nZn{p86GvF^a~p4#ct{5hmQ6;qrK*9}#62fs4wjhOPHd)`opD
zJWMCHb*o@DBiidLAN4t*k)fjWxjhcIT8{o!EI0UVHE1$W@b+JG7N0imL&=Xoaki1D
zQIXP9yRUWTSF-D*g%CZ=cR^JU5}Fo4fZ*3Pm==1~oVUiD9E}GSd{kh|M_X8sqs8z2
z3dn<ov5CY6oRs1NPN0yjMi-vqxyEQzSOz7R72L)dmhB?f3oH|lfj)?i5gQ`Fptwk6
zsDzKGnuiosU*`GaSo8Dq3Veo|>M!GV)9G!ht2-=Ptaj13#DEUAZuaJoD>55x6;Tm+
zsvwH8EF)Oc73=SRvdfbbBi-6mT{|@^)Q+=06LTC=y0)%{O}o-zNvKBc<-ahb1b1ON
zQada+9T7>wnA2#g^Flq+BvVqe^)vXsm*yEZXNW%$`r%QRZEYSW;Q9R##|NR>850~x
z$-i|SIEZp4k7eYWbeDyv@h9XjP~~|{n3nbREn8dE!hB#HcN=+_w#g|RVI7Yd;u!WL
zCAJ)Ih)6!hz^B#yTlBh1t=hGt&qZ#kszx_WX^qlYT?~V(dC2nuY-ZI+fOa?ClG`ZP
z2f@L0rWJoJWPBKB7RMO4y}vuEW1e=g&v~)3gO=z{k818KmSmDJ3m?YS`H+to#AHMF
z(@HC*>u*;-ARJ}6F0~dzrrB&xBQAiww(X`8i>J{h+q(&j>V_*s+b_a;;#opT5#2>r
zo=#xBup~uP=f{1OQ*_yS+qizBy+xzaGgw-V`4nhzvMSqJHiO(pSW%d<W!3=@Rp3Q#
z(UTQaQ12UNh%Kt9XRj?4{{V|xHomU((%uuWD&oeOb&FF`#b{tev5;>hw!2~vb`5)*
zBhEaGn-2i00S{XEOiZ|Ga!7lm)4=U+YAN7kvDLrWT=V1TmU?-n-o7#XN+sTmW|GpI
z@f2Eupw`;vBhQk;l9#n$<cP^pHq|x(Ax<iVx1O7qI`yyinjvR~>xPa>#^y4%cGVef
zp6Z=FU1UR+rVfnYgCyG$32(I^8w1_aRYeiq6>+vBsXCjbx3DtIKP|GYn+7a~YNj(G
zRb#UuwQclkp6Jpz2D_-DFP;8;^kJkPuJsd2>+y;ufd<C235jyJtWGN!tL9iXBC}D(
z)0w!@gJuY;x6-4&#H-WsA4|kY?8G(H;3$1ZUK@;9=-AAl5#mV+@2V93q_uK=SKxY0
zrgjbGmMvS>rM{@0+Lhu#Vie03N~}qS5#wp0PGZ?17Y&I~5h|iudV%!y4#lhLy%(mJ
zNc?#g78vG*$i8wMb(ZWxLVeo!t+WL26k}5~G;@HVp($@8Nwp&$z`ZE{0L9DHlN#3Q
z>e{Zp+B-~5mom-X+B{A*BepItY?0D*Pn$%dXauUAR%kY;>!zIE;r7{Po6rSDJ&j3=
zM(y4F8Yb-=c0+Hp`|_S6S%xn5g?R?*(rvgZsjO!UIE=JVwY-J>Yv!nKDknS_HiY<;
z!_=JDTcN5n&#Z*6rJWkV<(YwLGkA@W$%hz}VYcJ)%2Je;<c`K5<8A;V@*d9UL4{=a
z`D%#S$60v}TKwwwoXYY%k}T@tLT%3MC{f&hxKdi#8W$n7XhfufLW-r*s}|SoO455P
zY1V$Fam`V-l_6go4xUBj#ATkM=r&QMMOK-D^JGdR!AM24Kt$Ph>48^^W_o#z+bw>Q
zWt4L-aoJW=E-$NVqFr9RYDDwV>0znaShlXI2^@)>Heac-<gKi(!<a=KdhbeCj>AOL
zH*9OAHcTvzUbrqiRyZbIFq)338ut;8P{VG*n<3s&ZJ;{vzI$*N893<CciC6l5mHrQ
z6#C(l;hMdTS;GxbgN0`J>&@hN-Q4VcQN+$1h|g^thL5)7mfvyi<1ZqT@BnYP-pGpC
z1WbaH8rG~=L9u;sNU^2TSk=$S>+-{^uu8cwnszG8IdRlGD4^NLvW(%d>N0>V3*hHJ
z58zgQrF87=Fr8{3$W9!V+sPqYgedkhW1$1A*fSN;7M1mB$6K-BD(gYcRDMK<(x8ko
zOy<Ln3)1%9o`~jmb12t`x;DeTL{@sa^zmz9cWs%_>J}?4C0U*$m0Y(cAOeTjNxQ;O
zXrDL5u_(p)f0P_iRY$D%Ou4o-U8uPprDZbmC1wO*w4UwbidRP~wAddrB6I6(NDH~e
z(E?Od0z^cGpq`>NW71};KY>yub$mn2>pz*`-$EF!ws0kKZMR<HZp3Uz)X70PC@&=4
z2{*p=tAT0upJWklG%BhDd>c_%k$GP>mFWu(##1vKYFMJX$7B~1yaC6TZRB&A@8eSq
zg=QBPV`%O^?LOpkS@X{PMjS{_d76)p6`&$|j`b_*R)(33Gt#yhrg(cm5Z=jW(mN%U
zZ8lLzahw+Y*AP_V2-AW}h`qu4j{g8Q>360Zwz3?ai!IDDytJ5S+Qx|%nW(S`RiHaJ
zV?QP0gidf1j_c}XsH$QpD65fV>i(tMQJyPts8=$e5H#Aum1^_N2nPHC1j$f9cU^@x
zACDdrs8M79qKjw52!6ji2`1lkPaAF1+w_Kkl$tkiKIc?}^(Ryp3cHE?Xtw$KTaW8w
zOXBNJ30nsb)JcuYSr{YMKIRPgu-+D3_RfeWW9m^h`4JAzpcfQHE|6Lqq?q<`E@o$_
zX)-<;jssI|qRYn)WPFu`G8bbaw&)l~M;q*sA}YRQOoA#Sh7@`ug<opUq(#!~X5IKE
zY>bQfjFaF{t5m+V9@1{ExCmkbi@y~jUG@}LWxh#<#nTw2RhB@;tMUAqFy^vX@u^>d
zY4zH&otnIkqQo0<m=BRT6SyK`({cqt)|Z004k~ATIgW?4s5%YDE^6E+AO8TTJ+Bec
znw`A(A}cn%OX)sK@4YS2>El=9%O;@GH>$=X*Oj878~*^4nwBWcnOql#ax;v&!nxQs
zj2=J$Y-=#UGA%uW>N89<X9asr-L*NlEM)X{HBVrd$KH)^7HU^E>{entJlDA*Dzfqk
zMwlvs(G84TKP(EHSe4}pprTm*A$O)Z-D{TcusfHc2X=Nda7eGW0!j8(JeCbuV3ip&
zZ3&g?il<cZ>~k@n>Ps1w4h~_EyfJlG06%ucHg63VXRLT|F$+>@0l%o*<V}mJW_-HK
zW*&S)J3uRcK0y9`%G8q+hQkvOG&I+4XUR*&vwAIYgq5RPT*g9`X&IX=P@^>~CW#%x
zcD^K4akUm^LgwePFL1ycW^stNa5&fNrhTYWC?CS|jC~)kZsF$`$o~M8k`oqhsV{ze
zAFa0CeN*$*hrXi&N18`b!Y(@ZkZERE>S_i*suz|v@+Cq+9EV|jru!fX-(JXo$rn&t
zS6g|&kgAUT4jBp$<oRBpWtNvWnvm0zp2wwwxudobk+O;|0}7Mpt7_kQrDfI(<@q&a
zmDMs3H64sT8Yarga)yi8*n`W*n#GcNq>a(kxa>v6IiYJDa?YOGWkye3BE9O_&9P$C
zfkZgM<6!$zIIogz$mTCLs)@}Iye}2%-mJ2n8PqE(ESm|&t!}Z2tv2h{nA>($cClS(
zBt)`=vRhOrlB2i|A|mr_klQ8tP?Yyl@I<wZS*g}Ed44r#j4@Y5Z&7aziBczH?#$s{
za3nYeb_}sG^lCqFJED?>qjAP~s(j4hQeV+WXI1TB<JUCE>_oJWHdLC|qPoh@r<WCm
zUuf%N$U~mntdct0PYcbe0J5N@agTmMCWfGny1MuAqiA_%wjk~}j=xK~`pBNs4>N~p
z1}~?pHW9TZUX;QLNiIC5hum<17rX_x18B=`Bud+ipA!)poaRPtoUSBSkf|MJm}OYa
zb@h$z7&%-P1S2x-`^gHf7q%5fPt1o~?kc!qSsiSuXozrXW6PC2l?-|lwsG5!I#Zm2
zJAUO{>?36M!mg{F6T&GXk|O9>nw^5^8##BUj89I&%GS>wsF9Rn%sFP{+j~Ur9H^~A
zDK1Eg;R}`ffFc{tx+IE%*&A!cw+n>>uxQM8;1OXzk%<J(PEqbsn>oXD3skcl*GP2R
zPjJ|k;fF|n60EL=V+Dwh#+ciZUX^NU(uz6~09<WGL!i*U*qbUs=oV`K0H#V}(VV5M
zT3BTBvaJThGSGF3_h6h5gJ`oOK#1!k;W{pIb}|W($QNX^`KyhGG@FY-%djnQt<UvI
za{S*On~F%J&6=R9R_0lO5u0}vv0Zh?<T^?0=8NnnxY=g`A1LGlZ;1L<^#NCpVtEhz
zamuVN^rWnYnXHn<#v)j(^JL~VU|V<284GT99~Pf=T6nvH$uyf|$mbFOcXq~|bNO3w
zkik>^y8R^tjWN;YC9w*|uN=eZ?xESUgkDh5%6IU%tg#g4MTC*tYGu2vHy&G0NHj(Y
zQMBxVLLef3W!HFBCY85Y8ny4jrew<|iUHm@@_r#5(PU=NlL!E8E#6KM%~1V?d8jsu
z`^q3t%hT&R7fqS!dRn!I&%AaWwT?q`s!)xbwnOn0QnekJ^R72ok!3jPBa8!r2quPN
z1chVi!nSr{RXZl5*BhL!o^4!ao}Eol{xeq0n8fF@ZgX$A%FmVTR<*v!1ZW&$vQ8U>
z=rrKTF%%%wSK^<o{#Oe#>u(->60cOGrd^!imRXj!wS-sNPqMh7$5Nufiz~MZJR0T-
zbebng$0QQCWN)D;I%Eal9zX#6?@luhP&IXWca`K9+8L$sl@lSxSj+v@rR@)Grreiz
zVa;Q~1{-9fGTgCs!f2TTY1dgE4{cM$v|b)_kc3@03E8Fm2jE?`Pnk`nCJsup^QPR_
zBRKr|5)GzYMkB>|SN>;Vp?h(KH`G&Du}{+-M#6O>=QyF7{LFrfQT>Vdx@+28ziBEk
z8Agj0$!&~x9BHS~w}DD2wi}7QQ283xwCSf@EpxK=A3Sjv0s-UKUJ9E^{Tk?JrMiqu
zNJkE?q^`~GtX-~}@--pyjV;a*-<Haw=`qBT#AwG1Il=~&nTAo+RJtUSfM8gLpRsGN
zxh^$;Sg|S<c0(WemC%(Y<_pnYQF^=-!Y9=c5uycn+G=y2+|`ezRakZdu6CArrl067
zL>)N6vdOX~-C*?+5^B|%_Zf0P&h3MB;OoQfUWFfSL&x$|c`A|6`aKlL;502uX4=Ag
zti5A-9HmROS6h7I$aTn$kh>LDJCXs`lWtMe1spcXw<~58wcquS3T!&^-9t7jIqo!?
z?s}@Wzs{&=>nY{vzN2J0P0QI6^uNlNIANPMGToHy(N59F86fK*=s6`JKGO`k(mmT1
zQ*mpvye|i*!vY?uU*mTZYVMtGj|Rh>ie|-N2JzkYaU=^Zx8ML=P?X@t^V<?qHT5G&
zBIG#m$AOl~OPd^d;;fxW?8hTdj_dqes*dY|)2+Z|QCl)p4dg3={{S^?ldFwz%5x1n
z(g~8ZejQdmtv(ewJZxT>h9ts-Y@?OdNb7uDYBbh2Z4-(p6KLNfLq+NAY%G<njo;Yy
zbceoI#!H5Q3VL;qr<#Rvlh)+X<yT`jm9Im|vHIw9eY9u>E5+rR5#f1UR~tr~K#t&x
ziiUg}U6F~eUZC|NetCsrm)hF4>|m9tWtff%^Otby?t367Aq>TR(T_AD7P<BWjDfLK
zF+e}z=Px0Rmdu-5DVl2d(ZMWk<OGFkLyjqXXzqxz;{*bt`7d-xm%xaxb95s0QIYGG
zuj-WrcA{e0{0tT?y3k@QPQX%)%Qqd^$fH4FK#Uw-JF7|F7Pb{tA|YO47~lS{M-V^<
zQ_E{EVcq`#_Wtc^NYHcM=)csxUYStgch@-;<{wjO7+LqN*XdNLw)YP5UJVW1gwrNa
zoK9{lLVzubfD-PUr@N}&nS)E1&9#=dPv=d<uicF)oR)jHRsk@8RoJnsrAQHITM})+
zmnGMcz*7_v<~&7xTID!iS*O<;M9#YYJC(;K-jjvlm2ON1WFtzgH!UN=iqvl2<b);P
zFyg8DkckU)hWjb6#^Y)(Go{*nn<R<#^>8in3CzZ}qV6=(4Qk7<Xqu57v~ljsG0>bI
zO%XVtD!pd*S+GEw{{U_@_ao-2?D=tIa@LjW%8TPZsq;KHPTiNI9P^nLGmV;v`dy96
zgHKY+<L+a%C8!X6w26!({e|G?)T7DIvL-RtclELDNtqX4WZk)uG@!CrzI=*9T!jcl
zQAv2Bp(623krh|Mb)r39>+XMsGR1TaR)F=jsXUfd_}*16V=!TZs!&A<8fBp*Z?vdQ
zf6P|M)e#9d$&;o_ww&zS32r|7jwze2xJE>)^SZ9;tNr}-^j}882&3&XfnHbpEMKYO
zT`Tg`ntFO&eu&o+@C2ViqAvTQ{{Y|Z)qpf8+9{%KvMMPC-}krvy+w#EvhR}Pv3zmg
z?eo;;6(kDtR8=k2NR2o1*2>9JBBG$9WGIF3gZBRYUE;TPIOWu9+IQ8tFy9xNB@`|s
zB#Y%2^(T)gsj{bq>W(;e+(c9JzS}R4{*P8M08tUd^S9|w+xqk`Xmdy_tt2|5Rk?J7
zUowqRtEsoSzgsut!g9MKX>8i5SBO<#G9Y19TCax6D}>`>E=YOQ0Z+>vieSR4x$NT+
zaQMxXsAk&`GC6T${wm`<l;)#QyM!@R2+38{a$Bap-KK-{9ZWBQUdE)$>ufBZQHd6O
zcV#F?2Z<XK6(vT`VKUhlU?o9S*%#-n8z<F9lI9n#E#+13;nuIHSw&!3Q;Q4@L6~i}
z;`YmC1Vg@x1mAuBJF24f^4QO%y^sF@m3Z5(so=hc3y))m{Wa^aG{v*@Yol3SCoZQg
z!7<qoXUHcN%J|MeImXL;nrPW2Wzdq?8>o!;9C3kl(INRIQR?^b_tQ(<XWZbr=a9!d
zX^Ucx)QaW1j4@}%{{Rq3X~EM4GZHgoq#&!Rs2tPAiKfr9nipQ53WBp6i8i_!Rpm5!
z^>nm;y*q*p#|PEM>sVDmULwPY<BIpxYDlB^Db+j7Ce{`k6E)AIyFRj9xm8U~r>ZK5
zEf6e=Ba-AM#kN@zGB(6W+d}4GDqxF|4lfrAs2!%=R4r*R*hjQmuT%k$K*}=w#*!js
z7%oh>9c_d>mQ%80!?ZY3VY1wE1|MjRzSklD02Toq$JRSaF94G9464T8q0-9?BQeAn
zW$a5*@yjdg2os>P#ab*_aNo0zEsLngN0QrU^NpK|@=8N+jR93(G4SdQK*(!x%jk^c
zj8sL7DjW8c@#jr8-DuuwOmRlZ=bJ|(Jb(f*mGs=hka1P5Tvoca4U71_i&dSu7EELn
zRSzhoZNqz^7z{RBS?;7)c)lVovIN+Iks1!&j&J~I*HP+)(Gqh~qja;x^qxKqht8^`
z!z~@6#_Mk=p+=KxvK*|4#h<-k<UJk!<aCe!0Lm;jCT8J)wA+f~X07#aj$YK{*7LJ_
zsa2%peA4BrOGp_+sH)@b*OP+7g~*1nx0;5@5&_F)#n~1*0RsYII}OWmHXzvGdC43*
zGARtyYGd&~!#-l$AlW2m7060*1c}KJ&{0hu1#FFXP&~g-EhFY6=1Hbj@hzE$y?#lI
z*g?FD6#c_$uXgN`Bj`<;M^i#RO4_zcymwUV8p#0wA$fZpUzO&St6Yak8_B3}`zrj2
zXyrXB6gV*}N>s+1Zo$h2q<@GrXo2RR7sS!Iot`Td00bLP=8-U3tg($((+iA3T4b0D
z?&MTien(*Icd=NK)TNDKSP~sLt;cL7xDf(Lyd(&1r*E5L$GXWhBC@b!<SeCIRn-z8
z*&W6Qlu#{vc`Y*9LsbTzX|}|Ba+)UGUc`p~04uiIuJEoc=wr*Mm5A!BoRzp1jb1xC
zGeKz{JVztQcx-vRjJ(^Do+3aq=E!%P6WI|>DTX@tU0M{09%DJip=51vm2rYz<~Z(1
z6m(Y6tX5qkm~2TdwvIgV#|G<|oy*%qS2z-~pxceLB?&vI4mO3D&QVDIrQ~|q0<$8f
zhg)YEVB~?0#H*EFk^QjCW@@MjnZ9Sl>>YH`@O{4xkoNlTm}vH(<k?m3dsXT7>P_@I
z+j^|Njk;)&q0D+zNb_UJakEiaPxcx&7Bgqak~trec$HLod#Cy3t4``4^2|HBc5)dJ
z-jk?U>-FOGbe6?jjLcfr6u^|lOr9qYO%RYoONsTd8ye=coktG<l1OlM4zxG%S}WH6
zh3UVo98LxwXH8gBtlK&Gh1{vlF=VL_NS>~9+edhxW1EKJHZC|~LR&B-pj}-`{&~i1
zsG7t(aBOlZimX?6P9j*d5+rCrCPCS_<5guQTW%j{$LjWNDT?rMw=;a3%&RH0sKo<U
z9;k_DS0)2h4n1cUNKIviW4@KMq&O<Cvlcpvy6~4|4I2_tH&8W2KxZRTm)cFI*`(%9
zj6H?aSw_^D(TX<BC@=iyy`ebdme`NKGwwalW8h14LKALi9V4F`8cjyZYp>E<+*`Se
z;SHK)XD-%Njg7ELkzX9x2sM7z3%ujcckswk-uDi11a0=um?;3EcAhnmWBE(kl*16<
z*~`c$IQxx_Ycl6orw0|+h4Lk2Bu9C%VT5cYundSAywZyGMOhMcJxtnc{<{~bx|Ljq
zSs{yqhryX|3w3gqOHtJvj{3l6D#ayzj@zud;V8aA(~jp5$1r_y#b(FAB1FjYSYu^X
zV=8p1Fru6Scw0gi$sLKrWirESzXEZuqh%FQ$d*R6nE>PLJakqvH#ymlFLgf4)NQME
zF*6KnL^TP~u(W6)rX!P6MrKJVnu@sfM7I`vWmb#0XwzSo+uW5@K9O1a)97N(94xog
zE+1`;-Ak$gnR_z_E-?Y%FeW3~gm!1V!54k8c{^ZUQA7lr6`Ok}5zjStM7+-k#BMIC
zY#FMI&1OF~WK5n}1Fbm<IFm};NWK2lQ8!#s;>6M(W<|N)H${)={VZ78nPl|KDwxFJ
z)0~GNB7LIYzVg0?Fo3wDZL-=S3vD)QxhkT-A!BF=Iky1Qq0Wll-b<Q{yzlCRG7QU3
z@hv{Av(q?v71lD9aiih2PTo6nHpE^{;=zXFszhRZkXr>JM#ps`L_$>Qjbi<XlC;+#
z$Kp-MQRM!78cSHVF=NY=s!rEg$FOnc?3jwzwL@QSBFc!9B%2>hECRZ-7Ne2sOC!M{
zP+Unu977Rq0@Sraa!--GKth7cuaPO6h@8Qf7m^`5=GHnS{oRE$8n-n9E=dY2?oC{v
zB*uCf1F{@bNM<G~LMBE5CBY?h5jF%g+pkFWn1d<Z9_M@V_wq!@$(J>5eTRoXZ!|>)
zn(@l^=<%FV9iT>zy|=DxB*LqX*edgJ=ZEuUs;=9#*f!Ckj_w+4T|#3+v8`eW5VdD5
zk(MzAD=#q$3Z+ghQUY9oTZ#mz^6&oujbCigSLypH23+MNdxmUtL$tDbGixfUhAc-W
zJU%%0S%LmyUDtV2`~bf|K)(*(Knf=PQr_dbzp6B@d;90HNFgzz2#H_#yVBSsL<b&}
zPBh7qBBCzJ;5MH^dD%M6W1RO^xq1FSOF`{x8%(*met&A|+^0lvxb0D6aYx$>7UDBs
zkH>9@{ie&B2?&S+s;>V4mLtUwzOGv$B^8doX}(KJiBY6Ac6INmAT8P?$d3@GXw-Hd
z+q_Uwweq4WJXJRyrBi5@G|dZiIaNznOt}fPvRlfa?$0$<R}__rTY#>}h|^##iXX}O
z=~<|HL6Ty#=Vv&sTWKU9!&6EmX$hB*NdEvO!r>jbY=|fWUEU2gEjP!1%vUOkJQL)~
z>iCr`vSTA=W`H>WsQpXnzAx&V7;6~Hp;cq@Aj3G={pA)h44<ZKh+I%;9BhGGGX}(v
zfcT23f^$UcC(Y79!8QK?9MJy&Q`xP2__~pUxd#c9&4j9IuX@{rvhmq6Yst6P8W}>7
z8@SmvgzJonwumitr0D%Z=|%22Ym<L6oEUifO6}=c#Ws=yYGwj%F54$Q1Z|@1X4)f&
z2qcQB&0E8CpZK$Sb;<Oj9i_=C#vAD)0nVkd?PIrm$T{s@Wl)sfXOVGn6%i0!-8Ljm
zww;G`aFWn+j;x@=;$waw2cPY~4r>+I>1V00PhPg^b!*c`f>dOBfrP=iwZFyTNfyc^
zSj{Qk)>y}RLC0mQ7GcHqjTw;?<2e~Qfr$SALNc9B#x;jWs&#KeCN(yjIjLppKFz{Q
zmcuSZSxg|WAw?*TMtPHsAqk`=UJgQ=r%XTL->CR5zu<VUsog-rscAJQAfaNPCcd3q
z)M>5WR->>cR>^RaazuN*!+)$n&=lRW;n7d2-7lnbOkTFNg<TFs1^raHDX>BYO^YCX
z6M~NsS6cT1O4zyHLQzpQB_)p!JfF<W{ld2%Bby753KrV6uA2Tr@iMBTE~l4IkmIng
z>u#Vddur)1)!6n7JlZ3mNGglOw_TM96+9@G>Azpk-D~v4oBCJQx%PQwJ$)`Km`Ge}
zOL7?z;;b7u&MY{k62?C#8sISdh*4x9yF5M9g(tcop{}ZNmvcA~>0F~3RZ<vg9w!0X
zJGjuJM+eOi4PUGd>Z>4w<>Un<PCQW&R_TvL;h08Dds6U;HPiwIzst^F)<0PMg=mqP
zeYw)z;`?0DQP|?y388L?zf#ia;%PnVS6*Y4)KE4?fJ<xFf+C%pXhw_NIb}M^7B_O#
zWnwg@y+g@q=<%6QX&M-=d#0K|P65bA!YU#X`CgWkS<N|RZ{(UAdi2Xlg(kTzaXTrq
zWrUYhUN)cLP+1=5Cf-L_R5x8#)dynaMN-`KVWShr4$C`3kkYsfyI(HWYjyA*b8~6;
zNwc2GIN-Lb*%>O5iUJ7zBA2kTEkx7|as^f;c+g^#PFhS1TOv?q!V2%iC9TzCZaQX(
z$7Wm+MN~vo<G)gdvN2EzuNwkA{>a|vNkB*haG@akebqGgbuRSf<J!3n%OXhcIWm$i
zM@=3~*bWK^w$rYhsS+D;H*~nXPV6eGTMBF-R~jh%S;*F(H&Vz(x^Bc;jaF6>U5>}n
z`paz*`65Cx1*e}Ab)p1OCU#yuIS)&moZK41&)S0X79IZpe~(qiLh?zvxDsVP;u(mD
zIAFW%B!WVOy*DB0Wi@^{aPpeS&kc(kw>ijlU?O`C<}AyQsw%!0=}}$w{gHa?n7H6z
z$*%!r#$jZ{Jk*~R{OG{&98#&9T{WAgQr@zxr?ZEJVwM*D=PaN{7v#u+7D+nlNJzwJ
zP@>2%56$F_wp;+)xSpZo_;YkI^=y)+Fq3j|XcyS)l3}{s3dUV{p_HCdQNeJQQ;Ll?
z_vJVss-U1o8nL4_x=n9oo#}pKg*|C!XB;woS5R>{?AF`9pG!#|Oeqe#8hHtq6WT{U
zN`!(tYzId(7R2%}$1C%j*to5JJo8zOlS!p|=Bk}oLRR9pWbv}iJI%^*c$&OQXo4am
zz*nnGrx6)6wXOJ57`r!uU3=92QzEZX=^`KV-EC!DxPS~u7b_ipKs4l&HkxWNjCJlh
z`42H|#*MOVHW!69B(nTJD9CjZ8x)3<k~%64D!`ERGiA_mw~f<LLKXANuudziry)+@
zD343~Ozo&t{Iu5^3R|$KOD3tT*m_wTn{g?24x%v2LT!tRYR_=xcK9l~e2pYwSq`M?
zHaS|+W*F{2kHCn)M#XDly&eRZ<j(2!$81Vbi-XMwh!A(}lWXAD!YAd<MK-!wm89gY
zQ9$Q3UY=;v++o==Rzi7`>|^Ty?AUyqAV|%dX0JR5iYkCn+x(P8SALDx&GkN6meW`2
zU8Ss>`O@y;2jOFtLk9(wHy(}e4nu;j$yS{p7aC<b0*LNFh^nIXZINL*VNHrkzsQsS
z0F<qth>pUHP+EY?f`IG7>ME+fs7>rhNJ1j&B5r%9@8RvM*`9r(MTuutj7gu4+|I6M
zRpSgRNO0a&j=z~D4oNyL9>jnM(6Pl05K&Oh8SI2iINb7FZX-OMnHEe8(*$n9$J}1w
zj9E;8_%V#z$jNO)E8{#$2JdZy2GQn)0MrmyilP@kJW_(PJdGxNnXbku;TqUB+&e`%
zljOY705!LAW9hLWD!A_;ZJ_`)L`B%TJW8snT$LNew8G4i-g8lErBXtK!(7!+WV-Uj
zFLLoJA}`kaZ18PST_xn5S>yRCQP<eeM$oLWx7JIMD(~{QLB_2C1e{k1U7U#=2#rOQ
zeb=`{Z*7HBVg5#2WhHyE%qyCSMR%!LRr;JvFHLVUy1MHp;#k^a?UBLvjK>)QOhase
ziGYAgyOKPkz`l5?B&@QZD$4OH7&1LPOumwiJ1#W@DiE!%iiW#9@yZlZSxRWva2zBh
zK_x}s=~gI~q{fXP?e&hRyGrv6w2YGs!+iJ*c1W3KLbifiAtG*yuKvA~b^D?9TBV(2
zv$33;DXqI0l7;)Mg06wcH5klvU_Zk=^UjyLkgjg14XT<8gUJCn?q?9jg7HC59=#U?
z4s{!?d=`Gx8haWH9wo=9tOFjz;-bY0YP$@SGFj4IaEYX@k6zPF_hf8Hhy?Jnu?i}p
zqNvBjbnhF<@p#$JWeQH8;+XiqTVr{7mBVS#jzEr+vRs0}gR%=?5Q!Dj6*V+8<-aF>
z1Elz@ON*THewDY8d#eYVwa%<rmp`=UaMif9t;j~Cnk$GXNCGXgTZ%Yeq=z${dd|w{
z5LucD7bDN*)423luR|ikv4<J~Ide`CHrhD<0F)Mq<RwKE;s~SU{{WO_aScC<`03|W
z&*L^a5-HcZA3XO_FikaM3(M{C#%kT8YRa<?&*)=SvobnL7Y0>@YzG+Z88ECGKP*dO
zMMG<nlC2fyL8%N)X=~M)Z#h;_s3r{e=-Xt`MbxUPt%ll0fz7uFnloqJ5+b-Ji0Gln
zubrJxe=1t)ot3Vm=J{-?(p{yIiyT`w=Ej=)jakq4j<(cDFpy2(&I9eMU`PqOpyh*J
zn(|$IvxSs1bpeStOvyWmZ^m|YZFONdZ!s;Rlr1ZQMA4J;ofjlL;dfX-6Kup9V2!}Y
z02-6Ec@1fAG*1&eQG}iWXMJ+fT;tS6N2fFx9TX-p)45jh%x-Ja=1Q=$Y4kV06iEcf
zb>`KU9&QS^6`<||guwwDhzFCmE$mYMZdrX2<`tBRyBiFS+QJkuZHcl;&EDqe_nG&=
z`O0hoq<zS2o31w7G2$k*$h3DY%QKA9y4lLRy5xfl?9^%9l5y;!j?tKU9h1n|%l5=T
zB4mZZPzCTNjQRxAoJ&tB;H^e!jn!6D(^|@}ugc@%uE?r_jv71>?5j=FwV@J_4jYmQ
zWiaVF0P48X3M>0~S*`TA1n=wMiZeT#O46HFi$7|Ar!9EIAX?tz^szHIy^@GiG1}&(
zE-tnJvLwuA3lT%LA?DGd2hABZNZ_90LT(G&2-TZd*wu7{^#=Vy%9<6l^tl|XtLlsf
zp+UCMhGZ$S>Pe2%Zc1=TwHHsZ6+z*3)d#*w=+fzKU||q3{Mzp`s>c$?5zMiuwC}js
z9FaInT<m9&U4&1eo016?v|yZV83&s!g)<CS6~^^%7{xLiF}ayjThX~mPQ`=vljSmt
z8Rkq9Oq&RdHt`p<d9oOiI6iJZK!_*Sy9qJNT9dffu4&z_EsUueY6=_Ei5J>#)#b0H
zoeRvSN6KuQiCu+S>P-7c`5dT3sOCX&1W>|H5^6h!s!X<=6|@Hd1yr7=Q}t^UxQVDS
zvnyNMe5QKX&B^0U369&|BKvlnb;vCnaodjC6lm}a-5;c%bsBI0Qj-?0x3LWBx=m|y
zt>jJY-i(TsmNIN3n4`7R=9)AtFfJ0f^CE>E$zlTYq@<!O=~Q#^OO|l?kz0!{x&yOH
zp_z`-$i0UeT1k@*Fq3V?kr-HX9587cb+F`ITvRRU5n-UQ0-ri-=S7_SP9kH>`zrk_
z$FiJ8#)`)8SKnN%Dy7Gvc8(-@GEdqohT9Cf<4A8zVYgmn4fj3n!idinja*hf5r{;k
zwG6Y<Cb{X%>D5)SCsSjVxnxS{l7Ztm@}Wu|;UBzxWwZ*DkrkJCD^fR75~0DPLWL>Y
zJYyh~%_<z9claGlSPwrOn`s<~`LI2@@+3Dqvt3j7BI+wdZW6XP$mLdc6_}D@I&^ij
z;hPoMBT*TJ6(j*GJe+!SB2p$tZ8*mnPXl7|tHv%kfGH*<Na5TAorO5{qGlb;4y&qa
zdEe1GuXKYO*4;abSx%BSjz*$#TXt}DLPSxT)r*2i<Rga#o-MSBjfc8v(ifR?kdY~G
z)>p}KZDi65HmE{YRSLkWot;;j!>{eVEh*Vwa!k02XDO#3fHsElFLbM7nur_D0y1<5
zS(?zTQXMeX+s6u~U8rMJ3}vi7Yl&XA(y~wnY=?|dry5}+0X%%3kc9BIfa(&qH4jaz
zG2Bk$3f2mX1EI*Z7-G88)+LN*8<;}OD>g;GF2*G9Hqo>OAdW^uF$GfP3^Kn8;2v`g
zy!EHyTO%1Wb2YT$5`Pi(5sKm$Q8gbkrZ`yMTaAP*O2;ZBOh@tCn4qwokOdf#N(hm+
z6rM#xZMUHlh~r#U4YWH2ufe9|zKm}2Nz<v;3(r&Jl3*AOm34@!2RF=-r{pr>$B;%p
zmVV>M6$MU}I>G72w+Oe%aoP;s8?1KaW5SzY(Sj`amCYH#o4I><vOf()7|y!Ai4I4K
zhqJzV?WNj-8ix{tn%a~I^7M{L!nAUGrrUEc$#3=_j>xNy1jK<o6a~MjMU{!MuP!A^
zj9Ghx-k!ht^VLq!<97jXjnfCy4nrNAd(A4$<|4~eS?6B=03~otgWK6OWTJqp-U4_?
zRE5Umb467{K`qc%*-Sya8g%k{ZXaUiH)|l6CY4o!;L)O@`9)ycUSqN<p=^oL&pD%)
zqduW=J#%L_iF2p7Z%bP_@M>enhf@|{G!8r>+l1OhZR3jgyw?@&zae;RC(-S^CDNZ$
zjY@tgM~SL&5;XF9Qjv}H0N~P~uaQTX+!c3S&9vLXr%iDZ3XR2l#;HwdX1f}B9S|3w
zLmGWA$aI0`$%%MIV=}noIDm$X8uD$<BC3c4Lh7QY_W4EV$JF*|W2agjd6ZUL$F6_0
z)K;veG^*S}edgImOJzm+Rm3Dj@~WTd&^|QHPLO{PyNqqu-h?`zO)7jg`(zAEeSvAz
zROFiz$bR`3ZT3M#*%11(_3d3IR)sfeIMUdJES9-nWtb%C_S|!U2%0J&DG>r9DGDn6
z{CIU5>{AZLht()&WCU&(??_I?m8Lb>J~LE>S#*!O#L==xAAMVRnkAkDsIAH5ifXNo
z0_1|CiYc>@V=9NzyQ(LIUzAVn(ihSEi<!8*YfK7~HalNEw#xeuypU+yQx&ln?5mz>
zvsT<CK}itYL=k&+6%kM;bRss|GOh9=L{;*CB)`7N_x}Lbq+*R`DX=sM=%Nd6FEn&h
zWHsT%RaHl1*;jP%zdjRm>(aKKTMsCSzY$*_->-I4VphjlRx&}Bg;5E|9O5azjkjOA
z{B={0W-+o`D;n68v)LFb*J@Pufv}h>%kvsUB~=Z_ZOH{!k}4+3i_$|}ML@DMlp0l8
zqiCWnq9P!t%CCe({{YjjRdb-<RWo}|`n?iMDCB2^2z!9L{YZp}yLj>Y{{U{JfTwjw
z#@}TW`*qWsuDFEa@<ap>UH&%s9=T=Z&$PStm3Lj2b>C(1iQ~uj>%r~-jh7MKSCXRq
zuU#KBK?Ma}{HiK-$q1DYl$BKxKU#b*TwNdq@cxk4e|6n<`*qLU3a-e~sv#!)Q{(&o
z-Fj8s7w_Z8pFcfuEs1wj@}E9B=oMUDRDn0#)lq!ztJjYDu-FUc3S_IYf-cLqoxJ}5
ze!lYY<7HpJUP;wN?V|6xqU?+F(PazE+PS)NLGiLGk}m%M9djpkCFY6cd@B9_0B*UH
z$|yn(Zmaf0-{<Y;`t=@6!vHZyHdOfixBDXh0DZpxI`D1KmjI-zpqp;*6koco%hxt0
zBizwjF(Gk9cSKHGebZ(5{{Y*la%MTi088rRoVWP$pC9@E0JmS8nhMV~P(|^@5WH>w
z0H;Tkp)UnXHw<^?OT{+h_C@QFDsV$a)fIkGKf3<_UZR}xUPwC<Z?PIG{D1G)MUa39
z0&BXeCn7I9{{Xl2>!1+1P@_zcWQYa}<8(zuPb>Rx{{Vk(p*)63#E}$J$KS{O`RYsL
z$jVpL1H0ScE-G%QDyXWT(Kk<yqDe3{<UB`x{{YRuO=zl9wW{D;Q3xCTM88t)_uFm%
z0P^Y?ssL_-x+tm=?epXR0Dij^wo{TRsH<!BZ~cBe^$vdMLh6cci}Ho>{{X*D8l|~I
zknb|&*pHG`GgaSo`yzkS=lb;ybI3?-^7u~+^ZuSc@5f!;*#OZ8$|5fR0Dmd-<NE&q
z<<(@Vfa<)<ea_=bh<l2n66}k*D*UIE^Zhz&MN*1|AqfP~m3I+D<IBLWpF4fN%g`>n
z;5g>2X=Iu_iVd8%F^KNlR7Qh#^ksZoLpd?QIipQD<4S4VAznz>x4LrQqdCr!wtG5)
zd{<&5@%{e*ub<zjELlBQV#S(8W%G>tZzB)3hTEznih@GE6%|oDbo`=~Kpa?V5bvcO
zY^c@^G)0N4Q|M6PF<CDE02?t<ZrPZvt4^$d1#yPC7(PndW~#e3qvMi$#I(B%Vy7q5
z?N*T*)+Sh$-{Y`&5<rI73>$vL8?h&46T~gF=zyy8eMu2PvR3*Kh3W3&O?5nSe@}4U
zxW+HpbMYKvz8`jFJK_rajTB%MHDDBpTYLnUi<}8~fOKUB)l8d~)5hDP;wo>rI0h^G
zrpvl7-99?=p=6KF*I(firZM+JY^>h&?UPetQE~54x^YdEO2n*oXCjwbSt-V+nk;w9
zTQeGYu^?dDAW{`3A5W=GwO!VpuV~;y(+HUUl(BD7k=^9d@<x`*1ZQU2V|a;27vnau
z#Ta=cIOEQfBC3W_*%D}lM3D6_t?gumLSIUb%;(j&$RBXfRLf;0Y*l%wD(t%=kuUD6
zzeufpztmkMhcncU9gfX^H1yM`RrW<8i7Ia7`0B?vv*jNb9ch9l&4%PgKt*U{5}y2#
z2R9!Jqlmf06Tb>AU!_PV#Q-b@m8QFUqiX*E;a6>mXPEQ2ZM-@=_z;1dKrwAOmi4r_
zWYeZizWY{9GvD@4BW}3kdy5F$ZjvDiDn~#58vd~~;j8Uo)jeRtzm^?s6C--98<kfw
zzAL~>5$P>H5#q-N#Xw`U;W#KQfUt<DqeYm-^+~2VRm@E`*6fl$rNWZL>{`BtTOl&u
zj&g;JYG<V`?y|#3`>pbGlTDjt#0gY-*7^hK3mntDF&okxwsR1Fm*JFYvG6I+$E;U7
z>gB8On>QPf=(hVr*gM*a=%0Olv}h7oC7ZJ@c*-`lE9M9wA2q2ngi;2z;pf(#H5!GT
zbPq@{%Dp_Wy2SL)E5>olB9BduS?3pmiCa-R$=e1XBzB{#rqa60gi5ag6HcORs)l_W
zR%j5rOI0&VvH_u_WrpNlV-1_LE74=Rj!KB@kx>h>f{ipleE7S&ZmWvlG|-t%5>AI<
zYaWL^q?@P=+QQElQ8eu-?k+3`ir3CN2apAr=Hf4GBAIpuLr9=zYsR}yaoUQDYV5|M
zTq-CtTbk6{H!=w|X<ZSZM@_chiz*Y3I<Gk`&f<xoqusUdxE^nZ5F^4K%ve=o;)ABf
zRzq@BJ#Nmf^U3v|ld@=4O=NcB+U3(~ZABxc8$1>rc*>ZK5KNrv1CBWIwg{}UoQaYi
zplI%?(PbK&kZK-BUsqj&;1J%aqFC75u$q@PQ(}cKL$$>Fk)<d$j0@oNg2}pwfyaH8
znbxM~UY~SD{DUsFs>n4fTAy*YVcyg=a8W9ys*E*uOs7A?i*bTEwuaKV%-mngMGkiQ
z)r#Z#F{YTGqx=^Trm)H$Y+sd_B(ak%l5r7a$Wc&gL<3V(7a5h_0%<#dqv3ie<0c^$
z``_!2mWUj3xV#Z=fa}Fy!pN^=X%20x^z$;sfsoq8#~NFVg)ObhzB>&Q(wcd<qq-y9
z1#IMk6AlWv4>l%%sorO(ZAG=nuW2S?)j6DclqGi=%d3gtdMh*IkiOZb&qaJ0F36a;
zMY4;CD1ZvLx|yXqU!fkKsxy1$BgM$9sEVQ_>bhvNTf0;yq_{0uMSKOOLu7ftd8HsX
zc1}ylIvm4rmNN|>m6PDP77$V1tQkMa8D-4KQc_gujrJ^igu=GtP9q}QXeK*$d2WD&
zy)rX|d~SIaX>|ecwYS+R;&C8oHv*)1p)FLvJuY8kR{EUkyMtzN<1`^h4da;Igohn)
zO|=JAxekCh+3xd?I4z-bK_WgqEAoF(TE&}WmH9?TsMc>=)>pX-CA&%y<@<9J69SOP
zgNCF8L&%j&it*oX9YEA+_OkMcfqAez%c{|~&5%rKt|X{{4*?K5+I@@&guZw4(4mrw
zp$c%~n<vt{r}f|Lss7z-!G?{Exv1K^1)n7HJl|EZbf?uVW~X|6wxri=m)idTF4n(W
zb#}L4{q3|H03eca*?qtXBHK-{(8k!dL{|jF{y?>B);^zVN2eBacO$mS?j|=-3&n;T
zuY&cocYVBRP76oG*ho#sQI4%I0u@CvC07?VN|PbSN$zB>DyoqxdEI{Kzt{f&PN6vB
zDREU*UG`1aebF}P8T7m>B+fY2oC;~hN>~9qQ9iVm_P)PGYAG(Y2EH77yLs%q<%FrP
zr8IQyi;pB@-ZC2aKI1}82%?wjLEnuIwdc9UyVz67*4nt3oJ@u1-nU?!g#jWH&5N%_
z7KI7E`T`n|f|)51B5teFGHu<8(}fAobK0_GZL!Z`<X?T0{{UX4Y2K*a>23c2^A$WA
zxy0Hj3@g|k>Mu0{Z@jH3A}NTtNF=|dS9J5YR2(n>oquV0$yz=Y<ULUJC5T|uj7@U3
zn=yL+RJy5#KsD?%!w|&<P+V=1ZKj0{)k0N!ZXl{kT1z+0b%!C-N!IxGkK_3)44D*f
z@!Yl|w>)8Y*PEhZ*Ebt&wNO^k0m$w&djo=@%lYl1+UZMx>P4Pwmg(~sGOVjsHGA+R
zq!O)_xOSca;!TilA_gXksynI|E!B4(6RG&ic@|NGvyfU&e;sB7GW<G7paZ>yC*&{<
zmzKMV<LZDaNNp;aaZwe{#X?%<npkzRq9@QEX&tM6vD(M6(}$kpxc%jHnZ#J`2USxV
zEmSpW*4MwdI8qulPb%q(tb|eoAwU!uK9)UP;o66BbEP_?g5S@u$gdx=#Vwl1LD_Y3
z1UF?}pCp@odjQx2ZubX>f+C_0=((fRK-Si4Zc|4~s1M~8_17;&gOJKb(C4xQs4glq
z`C^_`HVucy=!w3_6#6pjd>v^V4fi22MdSX9)qll_(c0Bs4t8Oh>-w>p$;WkC9etH#
zl*n=lOpdxfQ<hReWvB%gWpHA5*p#U)#!qEO#ny?nQWZ4jJz$%iS89g{uzO8%6N2m6
zU4&?h6$%`-VK_+QIG`^&LC6=k$y{+!Hx(t@lDWMt(qNg-q`cEfG`};m$TG(2AGV8D
z-CL{`aXB2DayxCR5SnrxN?==(?7UNMvIad@ag<xc$8nmcr&v#TBf*6km2ufF66`Gi
zr;;UK2r2W@@X<CWI;T#zU2zYkmtEa(cqnor6cJ6=>fL@5=lg%JO-h_sKJ^`#H;q<Y
zu<NuntTMItm#{16xVtBPBC##j1@{MJ*}iC8Kvh*Y*%)xNcPgi<3e8&n4|%h4!V8kh
z%NM%H>B-g^P2PD0_T{zBK2-;8_wYRyW7yyD`_wH^#8{uA-l4R&A-8TJP{xS$G?-Ff
z5kz8Vc2dSPHyr{e7mzBNswWQ!lFRiFSm4&1ZYXKw4OMaBNpLPAo{F>7x1vmQN-N#U
z@M)Ig6r)uB6%I^xo+-~y6i^qHqalK=pgqkA#|X%qM$thD)S$*aK4+C0e8!_>mGP@<
z=GlxYsPY{mlVoTL<L1j?E6KJ8WOUV01c?L5Zk=sR^F?a%-A<&*HJQ#4E3t_dv#Y4;
zILk;d+I~4Z!H47%X0027<IYL!wumAi<A#IO%>lrq`j^*A{dXzU5%9`Pb?CTsYO#JC
zAfhsq&^~NPFYu}aDvuA*%W!k`9?J`UqUOd6j+ZCx;+k;9&dSkqU_Sl|hd^`!*9yQY
z^HPk-M}5UxH+&+-1T+-nzvSIj1rz00?beFcEp2NH(Pp!%40n|2)Q?A|W?_jm+v;7B
zRpqiLos|`LMO99fTKk%1v>MB&dVA^TPO0<!a~qoU%Q(*GvFjeSvuFj7dFJG@h^pEX
zy?_ICw>Kmm$T@YObvsV9&i?>FG7T=L41)-kPMe8$Y|B9^p=T;2f{L71+y~a9#i8Ho
zUIZk&rbZ_m*<QyzwW+U{HKB*X7}(~u!%uLq_opoy&>vQ8JDA=~D!lHf#4;MFa#5(W
z<&h}2HN_-R77bBN!X3DpDDSZkPi(6Jv%=>$8jzl|f~_=6N@6mBIN7QIKCGgtG~2E!
zi#+x>1bHB$bOEFOmo2?D>y7@RV3-Z77}R(J1ZyoFC!b=!X4`f7XTHGmt{|Un6M!o5
zL|wP*Uq{NTS;B`ap~za26XBGatHwp85Oqhk^ph@1u1RloZAo_^P9oSRA~ZZ!DpozF
zE41vp6fw#OHY0R`q{8ehrYP95;3yi2$8i)%2^VEWMfg-y+i&U7U7bXXYNAvM$j(PL
zkpcISwM1ytcSKd&$B*Bm+;2b9y*$Y2F;Ia0j%|Nn%W)~;#wVDhSCKeLnyRbX<?<j(
zszjhlpMIV>BuymJC{m|pmd(Q{$Zy-(%zaf{5lz)hm*vh%syioz@%L2fDZZrk%a<WM
zIq_9t{-4@LU6=}M$z-|*XUfOt+hkA*OeW!|yvj4pTn)IAs(;~BUZ#3W(W**}zVle?
zu&EAEynzxcU}E2~RU{=a<iAp)qA!$G*;n`Jm#Fjwn6xz7O_9Q?WyTlW&#q(=M3};x
zjCf3`3rgvd2obov8{E9Ap2?l!YPYBlP8zt@p6hl|2iaswKIXO+gGM;}sC*;5L<7J{
z6J&HgR25XVBu<aF6S2*0oOq&+9?ig$P`2JFgJBr<EWeIT2I9sqc_8fDMPcIQvrZ5v
zlK@WuA1Y<%Z;rFxuxVTMda~u`@{C&ylOwh%&O##;Vy3ON;wqpBBCoolKe~z%_}}VA
z#x0I#cD0n3n!TGMO&H3QmLV0U4IkvGz}i*qxaS>-wLwurK{QV((XHh*b!CieY;v3<
z%#R&bT-iTc%781mD~G?;y6#Vw>$>p)B3~H7M?pC?tyZo^%N>O%kvUe2(XpSqb$O50
zw`C?fPD!td*$_r^ifzA+DrAYeqHnh8y6@4WR5ldxqqAdD<WqIDaiMT_Qg3~cQ9jAh
zmMM+nc*_y;+ZQ7giLVL72js7E!O~RvzNOs<&z0Z8@8hY`u~@fGNX#;cgfitl!G#x7
zgRZB6WE1}Y3T^tgL_}Y*?wv8%s?Z$}vkqxg4KQZObKAyb+%z6aBlEZK*IF6(7%o!O
z+0a`F3<@}mKe22iJBs*U*?KpP9*TjcE|tcb1aQr^C6XEr$+41_{uEcjFW<+Ho|RYE
z<!5&$#Kl!)zC^3K@3OCt`fbrPnL!&Ob4*|z)xDLY_V!O&Jcvah)gwUoP1nxfw^AY3
z9Hm21R8O~1Xrmt|%;U%aVNn&wm>>luU62u1<yX$ze%%mP^Lv94ML8eGos<24Zn)!=
zP$O+k)zwZHLHxSq-G%!=@)DzQly@T8I<96NOxFk@ItFd7$J-=cEB$)$!Pf+vHwm{k
zQBxA~K0K;*8x+J+j!Tl=uve6mj^vztZ@<Ugf3H%S*5y(tLb6CRAdh-Gh)e$ffj@q%
zp+=h?8&;F7m|o#=Sb@JGPu+ig`u584LHbjDz6mzje}C=QLSd(YQB%(Q^e)vorpnT~
zV{U?RK}6;7omw_Kx5Y&_CFp7pI>UmSuKf_gk|x?F{&xHIJB6y6)zuMOB~7;KODc$)
z@BO;wq1;3yU$<YG<SYKYB{`<5!aAyKioHx=yzZ;#s`iYR$Mx!DbKCm#w9sg$wZDz}
z?%5~p@V!N4&CwTs_v%0rB5%^spsaryx2nUH?1m(n4oZ$rOn_#tE6ScnbTU*!*)~nK
z`zM9-(N-$#Wv6Gc1lixuwN{a^kH7g#g0Ch0*LCyMhS_0F4osfV3ZnQ;)pqJjPnkQ$
z40Ikzx;{XKx_|gTAM5`BUb=25fEv21%=ywH#&OvW#f~ByiK-E7s=FuC{r>>#*GLb^
zksaq8ibx`(+IZA>x{8RrkW<PcD*gQQH=jqVoUKQnU_$!@uC`%daP|$hB0>~ZB;6B!
zKO6b$)-h{t5(cs@V@*L7<+GE<OWQBT$P44n`>7ExLzlZ{;UynJtumYMz@@OrLRStz
zDJIUK2!N3DRaNr73w@ClSFafMc~x;Y+M7uk{wR^#b-_;ReM|HzDxvIxyP|ncE4p=8
zVL^~xSjhZx;3KkWyk;WEaS0I>Q58v7>HYW)-hN4bI_DovYaD0U<c^g1;PY;>+?~0h
z3NO~YK38?ze*XZvug675vR_m=<<C}&FS%Z(Sz=O3!OEKXk)J0!4Z^c!r@;emL`xum
zNqnMkA1J?nJM~?0t$2LfxLDbV8?qPOG=1g-+wCGLp(BQfDk?&XpXNgPRd!vaY7Us`
z{%an+jEaQJtE7yGGDL+QZN%gGf@F$|zX229<u>1{+s!YI_H>yxIe9Vyq%?&tBzJ*h
zz6glm6O5>FRQVNDQSeE!{Pau_*61X3fY_mZUiA%_;`q)}aa&%HB2mXejW7gBWj3JS
z)GA1#CN3I^x94H<yKW`Y`%Hay)6(fZQ`sgzJ0Q27<j{`5JlekEH1dyaQGTUD0{VPx
zyhwN5HtCnD+AWJ`_(QnHPIhjyDdyF~fjzjWXxjY*YCE7OYj(*|6%{zDqWDy;qtdN2
z(9DjNnjA@&VndGPO11CzB*Hfjb1p`U%?Qt*G1)|v_W4xmrWi=emztJCD|^KL6uigP
zw7NWMh8`EEGG58-k+ck2Tbx^I6u9=vLt;QCo)kmEswyg?3M%w)y0N9%W0mlv*fk=}
z`3(V6?2kVI@<rHP5Zzl*Bq37YZb|d;)>ZXAifZ-`sQBhzSNMi49p)d$ZS7-Q`+{(!
zZct}&MBDP@BVfCx=)6&OLf@gUN=)UMGdaC|{sVCzF3vH>oyKk@Jm7X8lN^o2Hx(0t
zB*xq!aCbpcLFKaV(F`mlxtmc=Xbvi1XyPbrw)BjH1;#C**4}540(L<0H%kf0f`=%;
zRY+M4_cBCJDv9Io*KI(=vRgb(NZ>ZHBHR;bP+pt{tc!?9NzDOKc3qVfQ_r5iop?4~
z8p;aex`R6T%S?92V9?xKUP^I)6(@#7Q+d}xeX0pG>@|FNwq(Z_7iCpVBcfXW0IIro
zf!9mbx%1}4w#b;Ls9PwY77RLSU}pFsk*h-RqiVY;0um`E!@BkODOlXhb@&z5<D+wn
z9@-8eKjUExgQ+h5V@hkx%ot;c8n4y5r|zD7^c$$Ymh^L1=T&6mP7p2VBn#CRP)wR6
zBvf6?f})r&lu_L|BC0RyUXSQ5miA)HX2vVAmA#x6*O7~x{BQP6m&z)9swywru9G3i
zh9ct*f-sJ&jvM5@fAjwUrr#Y(CY_G{)IDsfbPzs2>rwCOvQD>Xex_iSOv%CQS#8O6
z#>J*7C0v(RYaTn!EEw)DX;rk@)es>;b)M5|E+~f{hq8SC08j3%ozmLrxV2U3%#PvX
ztlYwy>&<q_#d(&S+0xtF@$I&aIw}dk$x*QDV`S8k?;K(SY2HzB3<*$46;sL=^i)(u
z-8NL;bouKy`iAsHrTJb`-awTS>((r@p4Z@UT4mOYbSG7((Ay?lBNp5(%*9k2*f$kb
z)5BuoeV%A|tbA4uNbbwGf)DihQ$bf2UM`X``-OUcc67G!sORn_$Y~s5xlvkgh&{l;
z#>`V^n(pu=Bo$EYc-Fd{Z$)q{-(09Ft?zQ{sqzBT7=Yly?8HYR37b-ofnEfXY1%|V
zQrxy5Dx_{<e}L+QC&L+>^Y>JaxXlwTq;tAy!%5R>fdI+2WVC<$rvQ+|fz+7FZ~{&%
zk5@WT3qGN()Ou??enZ{H<*rR4_P(K<f}Kl|S{ckySQDd~C`v||aV36}9r*U@!pjlG
zgC>=~r{<k$6tO(vU6WdM_v)1Z^+&I|r=P2O3!+-h9|Lygv8h%WE=?GH$_%!<K}Z7?
zl}d?@p(-QJx`?Wx07K0>7HcihY+^jR44wkQwyKKZW7=tw$el+Pbz|)dCoU*NjUp@4
zNu@AyV5_W{0Jz}?aeAh@#WD?4r<ducB3(;`3fhIqntNp{8++PJijA4OF@~CK++hO2
zxNiVQ=BChn98`%FPcH)08++>Zu-#_H2M@Iam6J1%Y8z3q8b;9)MAqv9TW#5rAR;_r
zu{8exaMVB%RRdct9iZiPKI#UU9Y(llkM*O~Ha8<mDfE*)jg~;Dmq_b4^SCrhXzj;&
z!7+l3!h}Rp8y8sZJ2?=6*A*06YwB%s22o{&P18ww%Z}@gt;4<UyE89yAgYK%39?1@
zsxraS2i$POWE2or6i`#PNxCvL!%dBiPilTu>V1sJ?CP0OTvqa9b5^c%j73{X6DL9!
zp}|plGPz>NI{E^WLZV#Dt0>tXvub9U;aZEMSq??~(TvNRk7ZFM)jerlImav61|y_r
zn<i1|k)9aD%8CQd!;`w9IEB>=k&L8qoBJXWmiM2fQjgR3tWQ`Tm*c{PNnvsPu`Tp8
zkDO_cO^B_TtIj(ZEScg2NMwIQ!X~DwtMzj0XldTHAFNzr(+G*{BTuysU5uo5zZS|c
zH>&JvVD6<Mw(I0rF<u}Eu!)IEaD{f+K@}G|<aslfx6!m4)jcdM6c**D>SgB+OB`~>
zC_TSzw3N)blpf)}%VLeXk<m+K06|^H=lURnmfg;?)SVZ~H2%6Jqp@q)n%lFg-yR0z
zZj8vG5uis9Rkl?baU4!Ab09uT#>LvW0swa<*<Tq1pX;)9>b8LEh9{N3kZGO=ca>nZ
zlWUvEv5L&Xd^c>YT~ylG{{RbCjvTQ@20F<ha0t6@8klUo17sS%j^?;kew+G$uzG=+
zd6GDqmz&49q>OJUI3nY+>z$Du>CCE-n~sYF=_fN)1t2c^dFazZAY@gS8ab6^ktQ`F
zL_62;{KYGm;882qX*R&eG9m=ouy~j1QEkr))9Xg@&0)x?<6B%~Wt<7v44R47IYZDa
zse!UVg#o)e2A+|0(+KN;u00*5$y7jIeGxz(EHW|l*1L-T0G!lJo+mcjc@>u+=}tF}
z$b|McmQ`m~pM(u-&7cFZYo{5yq;XHMz{hL2NN8@Ot;rNNlZf`mrxp!?T~s=HbDcxR
zBf_qyM=j<}#o52Lj{ura(O3epTjp*C#VDQ;S6d#_Ww5Ngqf_xpYDXby?vO>jjYx{r
z>=PaAOM_1ONGBbXS9Q)b<jFuv+XWfnZJ=z?Q;`WOyYPw#Y{9>|hlW|SB?dI>TpK05
zY9n3eB0bH6iyA|Lz`JVjNjHoE&f{i{_QcYcPFV<R!4>yXxsG(1nnjWy2ZvEXo!r#R
zv<~an5G2o{ooKOyjfP%12yf18g3j1US||Ll4VkvUY|}!4Z-(L%9E%3m41U))%Pv8N
zC%~zye$rDdl!Ia5dc%On6BKG(R^8oFA7!T;brIs^#mKbFPb#aM)O)NPZt1Z)__x<~
zZD8G&SdHxhBh8Cq{CRS_s~$P~#t<28zTuHNJ;%mQsA>&f8;4j-nVjYp7Ugoqem>4a
zUs`0gXIjkm*q=T`juni?h|5OwutXsMZPZx=2u>j5Dm#{^D*G<C4qqpF_3~9(aYb7G
zu*t2s)Td%kubCzlYShktLi@lr#U1xnAVl;DDCZ$!BSxZ8zd04N=hFu!#xT|`*sr|B
zn!;GNtYIa+V$hsivDpCOxfUzr_qB;3*P2CniMz&hO{ZhL28F}}Pqf0TFVf2$Kd`%N
zP_ek!@U>#Ywsr!`Y%*<|_Amwb;`LwzlzdWJHz(>A-h5ka!F9X*s+Ur<e-O8y>4!XO
z;|ON3Am+L~t@K}slTA$T7`@qYK@8ZhIl&urB)1rm2ZG9Xi+x9koyJNB-)ia6<~-FH
zco^1_=G%H|I^?0;YA&PtY|VckzrthL#(=<vU~r=ag_Sc(0KbSFmr<z}P~1kF2i1AU
zmSQLFW00F_5sYc&ZjEFMss4t&Pr$<-wSAd!+Mv9HCKao0#ZzU{uML}+%beR@5{5O3
zuY20LD_|6#gKE7_N2pX<Czt50{T86pOq@6*sK;kyz_O1vs?8gUZdgxv5zYw`N4Jd$
zq9mAR+hW?1-Dp3ktsuR~vRx9rrN=L3SPZKyCj8=mC*;u?dDaox6>Av|h=~BBN1Q9c
z=Rwz%BeY1pA<u0~PP>D@&#3*XBV?^0gKdxHBr-j9ro#0%AkAC!YfFY}PDxJS74DvC
z{9LmY%YjTi+k*mOM=EK;W=y`~5jKiI+_Z5~RS0x1)Fz60q{Xi2G>1ZFXYW}~fdeOt
zn%_Z<F5#g=HrZ~DxSM6C+u5e$NQ@$Jl#u)Uc1F#j*?N1|Os3;XvN#!a9#tMBcXGT3
zRjn$9bcev4b%z^*^M=jkYe4!4%5l*Jj@xX;dPBsDC@)t2jdJZiWyP?|AVrXKJ90HY
zP^PyOD`C3hvKy{{+yf_23faFk#@*g@vq5G#zTWBAaOVbEKsM*Mz5EmA6UiVBv$i~X
z;<Y{I7pfDqCOxL9X|`jpnin;Xb7fmG^_8hQUM5J>?m)6&fBRyuXxSt&*qtG4Rlsx!
z34fn;_~wNAe)SED-03EuO4ht0HK<xw*2jf5g8X9v6RQePvH+~hZ_ACp7?c%TMNtiu
zdJD=k`1)h1_A&i7=C@Q;HSQE@`-*&y#h0zPa2G6;%^4v%1}N%)w%CFzW5GD?M}C@W
zuq?AaTt8DaV&hD8HeBd;x^t=4k{tGo&NJr7S~h=}F(e+w7A-2PW~!u)0;+Yfg!+5_
zofD=mC5{$ow!B9X#9c*+#ycG5z*+-=6(^Tl*=_AQ((gp`unQex(0mfA&56R~$T_^6
zPb0AyzV-HbJuZA}2LvP-zCkP;6+nB6lVu&{C0}}S%WL7;g-vxe&O0tG>dwVzPZwG2
zy46#&M%saeWwB+40rF<c@V^NjOk#Q%D9MgUOX=cmzL;wTu9{@^XQY~`bfG6L(Hm^l
z>|UcLo+YtlSbd9M;FRRHiZ4KTeYvZ<BC?CH)%upgEU~R2x6wx!n}ylenNM1rmLs^-
zx$U%oG9{bhZo{6xhBDFjBf4@)rk-WkuOb8CiwokGaMw7C`1Cr}Su}D(8?9Q7ywd)=
zDbh^l<;@-SB<)6Fl3P+Wo!(+uEM{ZZjEHQrXpo`58?@9HTwzI*dG(NwG%LSgl+e_;
zj+bd3wA0?JnC^0|!m*g#%8<2BWe}DCy4ey+b@djjT?0fUZP@1!nNl!E1PsEbDbq|d
zB$+^2y$wLuX_Tp9Nn*uxN=ddSDf#CesS@G#McMHT4l}$vGJu^(@|q`2um#03?^3$M
zrV{cEKhvq1rcnnes3+Q@&)+=ylF5h&<kewSrG2{R(SagpxR5=`w%vKOYke^@8sbL%
zdL^?BD2y~%3;zJ0@0whelIuH}b~&dw{Zn~7>Cq?N;dl&27DQ>W4Yx*cS3MoYZc5Ki
z^p<19e47Vb2F;-|6ithUX@yUw{4z|7H=0AEp|6nsU1dRzK!q)dOqnw3gtc|kA`k|j
zCy(@ZHyzMa@})MqW7e2?>276dmuT)|l4Q@bF6$Y~Enrt<*6K;ya%@9w2D)S^M!~%)
zutwhOJ|>`H&2`Q<p&p@O>3qEh^(*RLE}>pRmel-d%!fUohWJN{kp@t_`)|Jd=t!oH
zG!HtWp2P^6Po#R}Sck_ZM-Txw(R1n$Hduq2E;$?VzLr4w#-&{8o|PoK`S&ba=XnD|
zdfhyaYTBzYy~LL0GZ0VP$96KpjxpIJ<H=={U;SwA<lWIEi(F=Qqhk_(45@`pjAPPr
zCX~!&PI`Q}@`yVvIOr2e9sb8<5z}M@RaIA@{Z^lmVzoGqRhH<KdOG?BWkiFH-sMVV
zZ<Z*CCA_71lqMCWSnjmKsPk?+Zn(QNNViwHMn$3cwq<#Fs!{Ik@vCBw62+|Ay49;&
z`vLCEx8Wu`#A4c@cVli2F(Omp;j`t|ppuRhu{(Kzx94?;V+JtcvN*c+0gTvcoIPlp
ztB<n+_b+lB$_z&B`}gH7c&jAjXXXGDTKAoPLunWhvPRIFKy+Q?mTc-RHgBx-*=CPs
z5%L=d*nGS$bjF*0KjJZ~-#Jyb{k_D|fq;)NMrev91W^S@k$ORB##N0+yk{EBVoi-v
zfN9(E<xxo~XWp0X6+5H?hDpuoNP<G+2H2u(qJk=;njNS@&YI>onJw)+85IXMqY*%Y
zXJZa^vtkkke<xaSTVa--akq^eL|GhD$!x6tBO)z7`WE%;idm8JvGmbtpGwX%Z4*i0
zSkA4aySc8G#P(SU1aqUvmTOsH@ERj;3CMa(X9$%VR^1U@ymfu)H(K*tZl6r6t|dxp
zZHU|8Hc(X=kko+@?p8#4ITENc)YjFFi|TD90W_o}N;%61){3Cc?y@V$6c)|b>Es%?
zF3GYIfY`-_z>M7p!r~I5IDy(uZJUCk;-K>CMh%?6#QibI%&l%}W=*ll>u1M}Xf7>^
z*h8Eyw=KB<N{>7M^nx*vjfsQr@iSD|If%kJ%ywa~+@Ff2#XDN?M&E=3>QXifjO*r4
zU8Ic6heI16dPP-C*reOE>f!f}yv4;XMIF*MRJ@7y_fHGZ8Oc}NS5WsOH6>IID2l48
zyC&bd{lB+O?_P~Z4R@DkUvm~zS)y;nX_gvCBZ(g~MRm0Q01yOj5jNowk`BV9<77$$
zsEVkHo)gE<h4I$j7!ikPI|^S_6sI%ESJASYgn<%{ZIjX~VM;j>s~?bS99?k-xM<oE
zAd#So5hlv0Dd)#WxYo4em2x9V$26k`pq&)t7vgJ-m61HI5O5L+M(8hX5Vl>mBqijE
zsEUffF)yD9{Xc%YF!8W`=FLGxQBcu#R9*ae`+4Zy6C5Z)9K~yEZDxa=<DmmF&NBL%
z6JaC;Z9YX49;TS%YT~%@vL@t}_bwpvA^fPIOTZNeik<0|CY4mhflG~H7=Af*DxMp;
zG-~GO+`Q9L&zuL`on-j%V2`w}F&Ux_o>O_olfq%ztB0#BMq0S)Ba5`5ZN&w2ci4qh
zHdWv6zt38)(!OnlP*WuOs5P<RLTlaH$aG3zR~wv_WC+J;lVJD`&T(|yUH<?p>*76R
zV(=n1Rfd$ht{h8?sOnu>e-H<CE?zqhPFaa!pUY9NWV4J-q{ZBX{X4E18CJ|~_ekPP
zA^!lG6j4}vvfQ?bRpV06xK^v`o-vOlP9d93uCIe;R&BQqNU}pIW0Ylm4HKG|WX-*|
zR6rxy6Mn7rW7IZK-dUC6dSj@T58?Oc*_Bl$I4n6ph}sVZNO)}7HY&^F+XRRrLezCt
zZ5FWPswWp6G!jkS7S%Uj_woM!0PWL$pM`XIK^%a8x47cDi<n6<b4n`9^(#2kOBU`k
z{IYe_=Hmo(n`t3kc^YhX2Gq;yBp-xARoOgs+P^o-n#CN#M<JE?Gqc8Xm4@n@DJUBz
z#nBSo1kenJaocoVl@$>-7G%*&h^EM?$rH!*{{X-A{=H0L@kBy3Rr{}%Uq9Qe0LB0X
zG*Fj1rs~)pLQTOqrs?N@zegHRra5M-WiYV(R9j`&&|I*wcgoeoBs57#*XnuBL-e$X
zxokwc3M%vqR?Mldvt0mVy*6}^i3y1^!JronK9g{XQ2-HCe6PxqC*3;J+5wAXT6cpt
zQwv5QX4lt}l=4O@klQOFCKOJVuGymptM0+J9dU;gN-OWidLSE40{3G2jxb=b<@>6z
zSWo578Bnh<{T|O7((0``sKA3$slmAxHrVW#PBmMZN}5D6VM4fJTR8ItplvJUxz0Jt
zjO!ejFlh^hGid#WK_gmma?5o>u6`U;f6d7jGpU-;G$hyZ=5bKsE5mJAqEX$J!1sx?
zY12+4x<HkQ<9Y3jY@Y|uyEeHv%d(=+7=Yv$dVv*`1(@`>OmSE_OeX*m!Yg0~@-^<k
zqZM>Roo-!Etl5ItE@Tur(~iIV&h9?UDNSb55u^z6-EqYgZo#z$RB;!R;6>Xe%W!k#
z;(+}^M&b*rtw;X=AJ3PcFQ=As^ypoMr45KYR~x)L7s@KceLW<}jzx9TfrrFuOOxS7
zR>YlDY@Aks1;rsyil`3)iHmKj5FmCLhT7^CoUC6LoXdF|N85o@V%fA4<N}f$65M&Q
zDMbld65@tUsBFBEQiZ!qY+E2nP~|@kY&W?Jj1d8_>TZgu$q_|ScTXsb^SXSePmEX8
zDC@P1d}~%L_Mc$mZ5d5ob<$)DjQeFSB;1H9Dks6%k2S&9P{>GBldq?cPlSe%48z~{
zzG04w5dQ%BSfN}m6_bZ$FzM~9sceTLhHO#BzX5id_}-3P+B*jc1X>wP5u8b3vMC4D
zBI^$bTR1mWVH#!~m9--v)B1)U!|rle&i8MysWJ_T6<02h5I+4>wSBiqP>BF#38I98
zMQ~q6T!tH~TY^{3j_XD5D<)qnzU*CZyy!a9t+s6$Ozp`;PGk<NjsS^1=&f{GJC|#w
z%+I~JNMbCcaw{=K_AR~hal%f**@7c-eX=}8o<ZYrKl<YJkn-use1iRT=2nv)*ak*u
zhL=pOTcXUgI*lw~(M5{gjsX(Y_AR5(Fk-S!Bax)42(=nhPsDCRWUIlpLBv5&F1xv3
zksg;0HIHQ|7PfLCHTaeNR?;AXNkMF1?r?D2izQ|YZ*GJQIy(}eCr1!6NQq}Yw(6X0
z+eSsX2|FQZ+nEMQxfF;HV}iCVyy*juxQ0SRJoinJWDvn|mm=gjTh2?5WikZF#b&R%
zz}LF1Nk&Lq*p!J%OQ1+DH_S(ieGYu1De_*s$#<#&(5*8Wn3h*;QLtSy!8HcHD_0kG
z@nf?wsgl`he+bMv3NsD624}G*Dk3~*9fx-$73sfEb&12rVQJkqb)DxGZu`5|?3u-e
zEOr_x&pzyz-I9H|<W9VZh>bW%tw%EB$WcP=t7@g^(`Px9AV?Z3dC{xcY3HTLViTg>
zo4_mE?IRAG52t5~pHV6jDY|8SGbhV2d-h?ii8U>VylZVM;}o~;Ba5igEN5R=74hP1
zxF{q$H2}vzIKL=YWI<9$U54!*OWj`~!`IS^v5Ip5qiJ4e^gU5+4y@w0LO5DzMxnnB
z?HP*v{F_u8jZWO5c@<D+G}n2z6qI<NqhNnnFAu3Y3H4E`6%{&blIs2#P%#Ub@xtAk
zDh4duuv3dMv5rnS!nV}GN0*s4;{=A^B;w!(-EyYQp}^EDoio+#L#~sMR%8#uOPrP<
z!C5Vrws@jDCE->L#AM!a0pV>8r&$prA#jpTv(jH?+i5kHMSJ)Z_(dsfq2p0(AwX^E
z3hQ$HyjV{?EkKumnh^+#ie^UI5_QHw3{wJ4x4F~asEqQ+%>{O{tIBkdoomsX9Z#7F
z={aUVO5FVF<4$TO12Lbcl_E^3L}X1r00L8+GaP~QY+7Z*5e09fjU&0Y)%`Tav$nlI
z)zjin;P5MO+>bN3a(-E9*^G)OQ2-N&vf#FaBr-wcbAyK9kZsrP7Sx-3k4-JLwcS6*
zW+q8B=@N3feMXrJPpu9S5QUJ|BW+7{#~O~?4o7XbLB|>3yg^Wu&rzlNY}2fH{KwSx
ztJO=Y$zNi;Ypr05XExb~(Z(amYBQ_tT4fBFC<KEPOcm1Dw_dVjdCg3>t-k;dzoOQT
zKII9uIyd`zrCy@pxvRO1Y>Llavu!_%EuhD5ZXc$0qD8Sf$hHkSb?-WigKinCs0t6T
zN@$L>s)yA+J?Wmi(iLRve&0%Nsqwik$dfZ5udyD@a?g;lCCF4l6qd1Fj>4R;4;*_S
zH4`K@)rYB)=rwaOpO43h2xZ%4{^C9*nOG~8Qkp|v!;PYYK^8=rV&rzEG}G#ifyaAw
zE?ov;mN{c?CJ!6aHbHwqIhofNs?3S@)u^Ein(aa-UKZPiP~%HRAtOlW%wfIHkPh_;
z<}4H-TKWrnXrb(*%;0K8YBks0anlr&quHdKV<XHh!T8w$RKISx`|rPaF1D@4HD#Xi
zmAnZo3!?V}M;LYB=6pO2YAz=qOfneHV!rDi$f??T!ZEPqc577{a3nnQ=fR<N8?H9W
zDwu(qKKLP_p$f4mEp<~;b69xpKdKNcRuwanp|vtIP0f`Tup-#F$nPp!PLRZw5`orH
zQ@zYd#70FoBP!2xT$)o>3|VD)yjokD%G8IZO;<~GCb(v5?6$;SZ@DGj5nE9fUqLQG
zvY9RL865KSdtRkME>^QB@+v+XcIB*E?Lg79$uZQE23vIQV{#qbo^Yi8AWukeTy+XO
zxl$46tcZA*8TL_Ibd>}>Wn9!hisJPU=-rVDRZH@*%VuVA{5gS=E!a^yK1x8to%zv>
zl~f~GaQ^`7dm*N43f1@FO2lj$fYo*<RW@DDJs==F<Pn<NQi+ma%iFdc<x_1;6Nr~B
z_USLH`Q}$aPi3L<S&<r{FUra!H>bQv!-NXi?YVJu91(1{R9~nB#dlRz)Wcwdr(}TL
zyK*&9&4~?(%{8GO_Dt{L&pfe%%X1pJvtd{SI1ol$9D+nOHpv`x<F9CgwkPxvNDkpA
zWdMV85?{WgGM#tEHNviTsq4)yN0z~ENQh!!<$_}FJ}7ACB97P-jgo_^Ed6^mx|s6o
zx1jj?fhQfB#-Ben-Vn$~Zz?0gx}U+s9xSxP8rS3dhlqs?-6y+Xhz+_Rhy+zS{{W*}
zi>4aSO?`icraAc3@LGni;MdeAcaW(%^?h^F4lH0IK{O&)97Q!#LoP^=SnsRJT4-&@
z@DqV^ewxB7sO!ZWYksTiCIh6?udXs^*u9o#TEr^sc8&xVTu9*IdzFTDvQ#5ikccTG
z!cREthk!{M9g;RZrh}Ggh9_x7bE$BrITetwfsN3d=4LXi6h~#pao5HK78Qp(4x6a5
z3xk3q#W(7w)cygbSOzebg{AilU)Y$%g7a2YRrCxBG>$BoFdzuXa7c)@DIZY}6L5`H
z6RR48(tKmn1}~FldU2iKtCgiJYHQ_K4GWS{<7lMFP~JOFY}oP=MO}ai1bGoJBVcwB
znJi1WdTMOBBiu1A54{`BCjCm{IxCD!h~ANBY+0a!wDdq%q#BBEw1bpoz{t~zD`*X?
zXo!jfw#uh#in+3<9hZ_4Dz4wx`u_ms)s6FkXKf;ENb1vWJY)?MihM;?SC1v~yC%u|
zsv>XubzCZ_;&UDR_*F$+y83K9W+;P6s>GGy?<5K-&8V2{s){JTx8Lp5xUHd*i3q01
ziND!?-9d`#a#H3?;W)0|SNHz?ShM+Jywhay^U<3nsf>asA^`jfZS{X&zfz*85TcUp
z^(uV$R8;=}wBM*~7?CKh$fTZp{Q2s8B7)xJd!qT}^XH*DBN{HS#qRPer|_RhB7863
z<M;l(5#dr8ugKxcm0sMonvw)i-*A8)R3z94fl!eZd~S-0oBXF#3;_ryG4hMCstS2t
zro?en`L`uJmdK(>;Zw)`7yi8|!!t-k(?<ffu5hnYu+*#*O~Vwou`*UHpwzW4To;Z5
zs<V;yWTbF5$qggA@Sesdqp=r=T75^RwGgYZY>OVTzFcNxNnxJlm4@saS+ZLQu_d(*
zQ)05Fz97MN*(V!u;Wu4R%mN(wl<T%}nazbIXDxd*kQs>r6=RMv!vNAE3Zfw@?xdX6
zRafd&RNH=>I!meT=J`!d4}jwm+H7gN7SGz+DYWz?WWDlA0UjNKMQwYWd9*Dj6ja?h
z`H8-k=0n%I-Gk~4e2ChS{BCArlZJU}b`TdPM>6R)chaZNiqP_o-JOJJPcXo?QX4qW
zMretsiqu0sYAz>6xohz!Ug7OJ{xZatu7)SQuDgg+D&1j8_<<N|_$absrcDD}5S)-D
zAyZ=AT}h|cn!SrNhv|LI8x&Mo3y{*z-jLg3A;?z=0i%xaDGQ>FBaIuTis%cxgh_Z1
zS7#Hn(Ho<)&$0}TW9n7)@v+@IV-ux0rqS~ce$(U<5P(mUhOUT$8>ot-y5!4-YaL^K
zDNViyn$nLGR&v)}{67e<FtW#?W)PU5%kzK5Bg|v961p-z-FY$~Cor3EjlG-X(`4&}
zrrWZa?IWZ+41D)6wZk;J^3M=@Ot_?h9$afX*4${NvZ5x#QzS5r${u9nK_JoLIUBF)
zR34*My_dnZr+)p_j9%=+9*pG=X`7eYkKS@zHxg5X=?iTOo!280sI;y&Mr1qI&_&VQ
z`nHa`6>YWO<BhtrFDbH!Obj6wmyB|a-0sLwAv5L;vJD^RqVohky3iU$ZWoKQgG(z*
z;K=d{s+RH^`$~t3)w?>2i+SeMDzrofUkeh3BFu3m?lvf;`QiYIVB@^HQ{}U>$~vpI
z^8EUA$+k8Qu~lDV0oXOsRf!F(o7dyIthn@ZZFn^d(Z(EC1yMl=)Qt07s_QJ9PmJLb
z&JEqe%$rr=V)99cUZVQ}-1mpE?4m@>bVr1ch+P70^)}TSm5@|v?w8tTcB@GOVA&JN
zHzl}(0yU%-x2<}lBRKM)MP-Ctm?I^13Fn(safBBwjigXGd2XeV!02wFXV;o7gWS1g
ziD5Mh73+v`8h&;A0?a9FK75kRgOtjv`w~2=?-yBrg0&~K`t-4(%P#G6S$Qzzxdh3~
zNNx>$$n)n%oXbi==r$~!rGTk;BSAoK=pP0t<ruJYPfD=wm7dG_4V@r0R(3hX)KnQP
zNQfsAy_JsGll#VL3A2s4uM<*rNz`blbraMst?JZ)t@P>Xa|3@S7vsBGKGLq(;=_mt
z(L8Fw_S{#*on%rhc8H8fjrULK0=c=N@0K4LkGVf&ns%oqZ(^c)d`y1c@pV4uUNMrk
zr-d49jE=U_6V*7hc~ac(JtEoU7Gp|q5toCot2m@`PAJJJq5T)A#{*C%-)A|UwCdWX
z8lOjwV^Lkk%?e_Jfb@v6Ik>}<l*Op9SMz1_DGJ&O6a5RZjA{Ec67|d1rl?!VlT(-s
z3P!21Xwd3oNSYqy<D-Qfo@R9EMBtleAPv@3+y|QlMHcPqbc!|=d0(tr$wPmI(aE`y
zQ>L0Q5{1mJaoO+4wgPbD*h@{l)YlDV`(#ENSW$sVVwP9QDR94A9e&(ZjEXTG385Nw
z(cp^5N3C({J&KmI40^u6rO`E~6>PmtT}?T_D@dO1VWTn~hc+@xRtdrf3|K}PM%p3i
z)>?<AL73QPQLb#PuQFPOLM;wAiMbxqf|e|C4}Cr_)9l!7=UpcM08vRfEP@N6w-wGE
zA5g9>qUD;GZ)1yO=T=tt_;V8!F`Y2O;3MJrV$cJf=Y^(PLT`~s0eEA)+X(6PMUP<^
zd|KOWHnP&1_hZ{vL9&lgb(q{rkv6DYB#iurE5K!&t)r>{!Z2YRg%Nk%Tv)OhnnvS?
z4g9y~=%_F3o(a(L;+^<jEt2|os<9Z>vhnNd*TvUybdVCxqBpk|ndJLI*tGuu4ak7S
z<3}8H#K)4SUo`6ii>Uc(*5qw66cDzTaC5*`HJivJ;6hd1Nl`fW-&92;Xhcy_T~38@
zmZDhKRnuvYr@Y$+it>ayEL%2Wa7dFOeq92XM&Yt%O1!y!D1@patG7)}SFxecoC!3>
zhJU(|5-~fGOl8*<Uwp_-)Gj+ADY>$m?YaO1Xo<Gna*h#(wAJs_+fOR4Hl3rK;oNV}
zw~D6J2~BI3T>dEad(UGq+81&%W&k|wre0DMh}$G2hc0WQ^akHUXhrn#PMX?h1Y$~@
zMH0>eGViru8jcKmKxhP0u!@c&B){i$REWvGLL#fs?w<_pHq&Ue5P{i~WLij#k4?G)
zkNB*&N4a5fA+~lPiy4Jho81u5Sph{8bapJl<HV0z>rvW)3N&dhLxCBXoLdH(K`wj+
z1sz``dnqG9$yCXH7dmNkG`If%BEzn@Y_wpAHb%Vv0AsJ?uN~F9v)#pNnq^L|9d~ud
zEN?B1O~;SQnnh)IDK74*$kkO7WlzjiUY6R|>O)j&n3Nu#y)tBZYq3CFc17C*UfieC
z=@stEMMNYYErK?q$8uE^-8wv(eFF!XBPFn5@pIaf@hvBpx}PZlJc}(fJ>Ch&bwEae
zSLs1CPF-X#Q5u(9ljGI74Na3(_|#_Ql}<+{WY}*Uxetd3&$KK&@y3v5gia3@#D}(g
z1i2w#F#WuhEwJOKqV_)&U}XcSd282_E5bc|YkobNmOrhUdx}!Sx^*PgPrS%lN%io-
zHkRy&?KtCe$%FcYn;=zbM|PY0mdn(fGb^7u^GoyCH<xuzZ(n~B*|!{q%c7p;*(w3t
zLwkUVhaNl|Z3P5cR9xc+1fN+cUdQcmi;CO2Z+%@BBMv(WiP0WJZ+2OSA~>6%<Dm42
zqLLa`RzPzW-sDT^?^U4MYMJ3Ma63vPy10-T4d<|7)TeQf7fdF*8NvxfqF{|W((!+q
z9{>_wwqJt7hd8ygAXe3(Sk1-a9@dAtpq=#!*H^S%jeOL4X7Zgrg?kOzi89)$`4S?^
zn{gS$1azTARc3QevaN}{>ir<tqL_;AjMqITN3U6b%zE2*h1VFG#ZXwGaN?M&eUEb6
z&Ih+_(M^UU#%Q)6Z;>EwrLO9G6ppum=pH#C+l!P|-nzF`IrBg~k+|{?ZWM7v{Ysoi
z!U`!8CtYM>ce;0UcGzuGdA4O8vP&7IZP_@EIkF^LmK_rWkgLT?Q~Rr8s;axHwwd^h
zOxZ?Swwew6_6q1Q&}P4S_dkuvLm8)~`kV&tea0Iy*rZE!l4jE4U`xGhO|K-5%_HVJ
z17X_QGlZ@uISPoISi;OJvKcmXI>nGfTB3rm<7xyk{60iOQ2e;IEDzSxjk>LnJR65G
zL=yA5nZ|=)Rv*cD<cLmMr*1w=EvL?1ZA*>`^Wv|nE!~dl0!sSuY*h_JQ}W7<h~g4g
z6~?j_<-&t0$Q3i&c1TEXu!@ow-L}7)-*}0#A#Iifh+6_R@{z|opWS}Ee(JekY;LT2
zb=MTFKULcOn}XMABbWI-(~(r7LTO})NHN%Zs={z_h-7?`BuG|8K@@=<O_62f+DV&L
z);E~?y!B6Q77g*FdJJ<Cp&1eiNST<Co3MzcGNZ&vkpK=NoYi+!>HQlJ(w#f0otRls
zMS>O+26c-K!&whlO+n(1Aek$YUQ}Ja>$eo$5L0YV>QhwP!!>$(roZb|1>~}F-G!a0
z&DFHPqv|cNZ3s(_%9w+J8UnJ~$siHkNW9qul44w03vz+21<f|9npjzfXmqZrJWYp^
zed#SPqb)6j6*^Y}T&8JB$3hcSZA4nha&~ps+ev6j(!I?~!f{k3LD>^zB!`!2Rjq7%
z6HD|$1kYsCZNsmAt_#dTXg^68289?8mGWqczEKr-PO_XIQrPp^EKEO8FYIMA7NPq*
zM?c9hIMgz$SZT6DVeyPjH#$piIU~CaLOCiSl5U8+k8wRo%3x}9^Rl|nb3OzDcNMLR
z-iHq8MWSe>D7NFVm9-*hfDufU#|2&BqFX)q2U9c2F6Mv5D>027#!xqq{HE@y>bA6L
zmIE6v$Ze=`s^+FJtk*z*+aydm$poa!bwpwUr`5y(=QbVDJnV_@Q1-drNaWfq!_^48
zc?o32NVxoKh@fNIZN}e17PpWs^J{cRHr&%=5j7MFy}#A_>{*=GAjjFawz-Hju`tZ*
z7Vjm0_`Q$aimEuTp5(&_s!>Hyc%cZXuN@f8@=0qF%QAYa7QDzrfvUQwgfB*Ep24j=
z$u1LbN02QzLOh)j;l)FUw4jt>@O_VZ)#dTIvPAf!HCt0oXZ#B15ymRxq2#(_Pd&-;
zWw#C$t#%aL84-+Ps!5Q`vm7^2oiaovYh!VD5^%v45o4-;rNa=(aO^)P!pg3jCz#ci
zF-cK&su3hHAp`Me&92x>l-V@-3Zgb2Qz%?`nkmKZV`rMZYi8q<rp2*(#=;`W&L5Rh
z(Qbr|5jWe5Gq$mN2*h~>z@Fra?#4-x^t;sVA?o%m=CVoj^NLYqzmLjHV>@dmkgrdQ
z1=?8V)R`XKNRhN5LE_t`#l8Zh3)S#8DJ1VUwd<COSs5c?bDC%yPk+jP`XIi;Y#-Dd
z3S7L7!cH-o`*O0(rHrXIZa#$TQcSi~N5}vdWKFpC$vE%D9$x1k!KAYuM5p1iW;|k7
zwAnh#1kf)fZ;s}ikwp*%6*nD(QB`*W&|govt~ab%&#7FaHid=OY7HG+rN*bhdHH7|
zEOx<UD=6m%RX`L450U+3Bq&407`HjTGfi6~BEnmk549Ob`G+Hc!S@8410QZKAOlUJ
zs&WxPMNvc{Rr<Q@uWXXhxA<HP4P{BE%1(OK)7)n<(%;23qRHHL6)lT4c)eU;ZD&~6
zu)KlC$7SHkCnZ*cb>h6-UHG@qH}Lz;W}Qx=RkQe=glL+EwozIJ-t9KTnEXhT84^D7
zo6f6hf{3UpsN-k_$S>3uO(yp#FgpTmMsdinl5z~y9xv9Z$d`&D0wN-8h=Pf-CrvNm
zo0nS8(9E+jy<)}6`56nt3>nB@d$C@U9XRbV9xFz5;3eK7GyedXuZjvF8Es}J69xna
zUZo=qCv7>UfK2?}`rhR~mN5KzxbqsU?zwRilibgP6X-V}s){Iq8t{F^d%DS@5;^s9
zRVc^`5Aw}y%%cy87<0xk7@3SuM=ULD(Z<QR@!oZo$iQ3Vy~tb}Xps>W1XX&EklpGY
zQItY(U@(=GaFSE>&@u<)GW6mDLalt*QbB!q2iA>>0K6zFE6BR1t<^g{FT0rLQ1yG(
zP^yvH^K0PPH6|Pd`br`!qy-3}$+Z~F5`&}!PNDf8vSbf?Ta~x;`2PSEY<pN;n4^jJ
znO%;X%D{4irqV1y_}#kv8yC2g{jI7r;;W9j^hHxpHjzyD{VJp!-7qEMD>GE|;+q(Q
zL2Ikklz7!_<daE8nKLn>p^Iv$GJ=(|82m*6N+GrN_%{hukvbKTs2FBFk~^42tHh!@
z)OfASvC4B5ihw{w+b&3r5*iC_mgcGh$)3q^akm`XrUWbNRH3$ycuQ)_@mLn*#*Xzi
zCq)(Z)K$jDD*LN<ksDA(kU`zlKf|^gmr0T_hZQ4R>G%AVL~nHNuDx*UngKAW%2abF
zWMFyhe1-#4H0l(%O-~6{3=tYX9mnCZA`DjcX-I@gsKD7dvM-gRvDWNv=lOpUg@9wT
z@|NsfykkDgowo+@x0!TR%V?sY4J~V7$Wl<e2Pa_NghS%C*=-h4mFH13I<>~)*8U#U
zTOzH<*|WFH2%jT*tfGXz?K2{RhG_esh}(t+oR{dYOt>!bDWQ33lT5DJO~k{kWW!5$
zn?h}wBIR((lNu-xv?OAR<IW>n0E%pnYa^6e;@0ZlZYVRokLG=mc9z>|_OX?=K_@<;
zzOJodxDxNCR8D?X%xJD0i5%obd|N<QO_NsIXqsnX7Y*&aG;zVlFuAYU<CPWBl6|ae
zA&A^<;5cA@;Zd04NF&~TQbD-Vb0-^Vej60)HTr+nHuX*@<94{-9jGoxVIyO9abeI-
zv%Z-40I?C7uvrnDDh<hf*Ca)cBtb))W)2hGTI0HtX@uhvGHo@?DTd0D^`OXe>o??M
z&>$ZrU}>VW^f4}5A|>vgR8|{74TJ;gMHs~5j^ES#@<v>6@9ylM)L4!^qpV48hF(dF
zH5vIb>n$%UkP;$GRV01R=%7k*fmB2!+|?Otl7T7mtket|9->qw)(fb(d|9<~m1^wd
zLU~@Vh|8hff)X1iTy6Q!D!VQ4LNsZ%+f+64)O<5p;=;%&?W4}3m3e+5#y2k33(~A_
zof0K02EEIUdurlN*n{rIjtXuHx7}>S`s)`s)GW6um3^7u_EM_fX-KRpTSuK)NTtml
zCwPE}C<yG+PLi3R?ckLqYi*dCQ+r;Vj@<tMY31Y`pj_=uE8voPua?tN>b-}jEdtN3
zYi#pIBR!GSY0gImD&t^p3d}f;8cTAs+!_+d5N(kL(WhG!k+?V;j_H=4XpLO0R<eM_
zZV_jC)Iyz>Wm4lt$RwY+X|69;w<b*2qq!Z_7}87e6$eGacugA?^sH0Xj53L_(0@#l
z;l!{Kv7Z2>)Z)CQcSOO*MI0oMW{OTLr@4V`xT30URUV5~!&4~zLFaytE9T{K9XjT(
zSk)@q={WR5?ssMkR}2MQAT>g9md)});--k3^!B(%T%=ywil4$49?`i?XfLN#S@R=<
znpj-9hu3MS)>%y`Qs7Y8L-r085f611TQQWHsIJ%*Laj`sI8G6~k4ZF;)LgGja$P;G
zucMEs>kkv7?ObE;-_}5nFeH?7NV3>BQO1&1&Zo8sVh-{}R}{rlcYa&xdA$Ds7(Fh?
zH3}9zrzLI@nA3ea#aoEXwuN`+Z8kv}*uJWyyC@?-qS|pZMINTl^s}Wcq1aJi6sL15
zyBX|`#Uw{@xXy?RigDu^Gt7~u!B!|nB^2Y#6Mm|WaLB_5w^#oFETwx-Xk63R1)Fgn
zSGhi<XVKoyv}YlvzHa6!%g!|3WO+<V7GE}|*t=U{$l}NL#m)6ql))@{B0#F*JJXLt
zF-;)#M~GR{+*{UUb8J~My3;I;$nDzuA~zao*(oGRf_t(pzaDY`a|am*6jQcs&Ch)a
z>E>nIcEdc$C$x<KO`xrbUrk>)#T-V|+#r)E8x?uwE>61Pi;5ybh>6g~P3cC*A31qk
zRI_U<go7=OM#FpTJrw(1->@OU#}T&^i%8Nk={zaAHUbJt#~eJ3A+9Z`-41CO;9S6b
z6_rhAs+}8H`fGz;&elCYznuIBwD(Y`n|@q`WwjTeO_MNCP>bszZNv@_v~0En*@J}7
z(8bbCM8O-!wC=YwtYaU$hhq;6eG%(yK64I!Trpy5q>y2!0Q*e5=`z!SyJ|p!od@av
z0I1DLrM9cVy;745THc`#<ITV*kqul>81YMqINPF%+s&MUHqZ=OX<OyZMZ0N36s_T1
zehpI|;;rEJ_HR-*?;33t5ZOnAgQz5eo)pM;L0&7eFH%h%O~9`azcaD)^G=Ft47D`i
zeh?l5U6~iEi@Z}H)5auYrEzZaGp(e?X`uj(2_qqQBRbh~ZO0552FN!T6ic|jNIrL>
zPwBhzM;@K{l~1&hCP#SNk12|YkE~f0B8(vvz$op6uqKgJgM`62jjqYog{7{h7ZSO;
zp^y`7N@U-69f@Y-mkmtK5>jwM<f=#nr~<o|+p4coY#XhQ2QH*$;n(KbLrLw@HcRf<
zjM4xY_FHtoxikn(5({L}5-1@m4!~q{Bs>TJjwrh(mS394xIHc~#+KzCigJw1-NiCn
zSxjl2%WW|sh&C#65MUa;xcf;wT^9C2;HdDaiZ}?2Jpy<&ze6Eu1%y9o9`VMZ;)gG|
zj^ep(atqI6visW@wrYsvVsSv+gEX2$UcwU2)Q?MbSw10WK05&ROK&bbt6HWBYU-mp
z$0rG<71q(%t;cN4yUmaatD75STk{0OX>tu#&h6_koTf`TCB@Wrlup-7ZdphU`_<OX
z3Xada5cnA`$WB6@>~sz&&l_fOmK^cA;^(fn;-!hkDFY=NQCMo*S^N4qN&L7{EORUs
z`58W(H96N3Ym7l~n6aansmL6eUVBG$*Oz`Gqllcyx;NG1ru9+i;%<4RYy*d9O&21d
zYDpqL9q6wM&O{{NWO=^Z%@ak$lz~wc2~m2Llj;-Mb%Z;twzj7Yy~=X78<r?WwfMfF
zw9&@*M&J?mDy|i&QBmblLQy8n0p%`+w3dEh>E}1fa%_ISI_aI={f0#k7>>fdHx`(}
zfZs-EwknR4Ic>P(@YPhEihkvSRR;j4hZ9)aQ{HLlb>q6CNC0!U1awm8_+#f7^LY7b
z%<GejZ7NpS>qBCW$G(QD@wXRklzsG77X$-weBzS{#laNgu2pz~5c%Cc-znBB)IC1Z
zPfp&eA;i=>c{22STq#(ksc<fPELA*`l1v$qWjEU%<Oxchr__Pg+LF<sZia;G!S&ZZ
z(+L)ucj|@==MNU2*qf*T0_$@toIRplO9n^jV3%fOJ_E&<zNZjCl+wIQT`a}mSc?9A
z4U$+I$bjCc?^@#H_S$Q410<IoJQarHg(6&+m~0KPR|9uhMK*UJ+qj+uc2)7ZbOq@D
z05htcgw*5Hafxv4<k7{H7IP*nx2|HVNJAwHWmeikQVt}$AtLSbw?%%a>#|!vO}X?e
zH731gc!cL5H&tS-IQpYVY9LLn&WVB&ZNC!|{@oydhwfERXG>>~R5w#|Q;s(dVKHZ9
z49&+RoIxOX98)oR41?|oD{eRK+-XI|exfC0Eo-o@uN0XBgy4<~RlR)$yn&2m!*C=?
zjITx|6i{^pl?#uZ{+}E8L`~DFsAP?xII29i-8TNeJ!MTX)!g3Z$a74$Ut-z4ReS|z
z+c4V&NX|O*V9~aMBrF1hXo}x3BVEYc-4Ppq@uCGR8meaNr^s^Z8<U&8Su9AbjmTVg
zwCu**Hj(ZvIkP}V<WV_pyL7kVUfKb4EuF3=woJzr5k<X|%I)ENqWt~3@NS^5BQLhd
zDqDG9vh<G3Jz`f^VRLma2&8WIiab`|i#2Dn9Hy{*g=GLKa~7L40Z=p-RY=o{Ao-Q2
zdG@7eR<SN}cyS|GJS`$pK`@e)Xf15<aswfKRl+jl-z8BH6;$HAcldJU%xt`IEX_ci
zL_^6))Aal*FNH<%*CIBBc_5;3UA!;Hp18RnTOwy|l)Q%|*%d#1{yut*DpHo)JZQV@
zqqoZc0DtMyvXsK$RK;_S&M0h)`+TCOT*#G4MSebZ{kn)wDS-&8BJfV)^7G^V{{W|6
zSdam~w;lZKUsm3Ke?QZ%fkZi!m!y**BgBbN6-*1l?f(FK^$twMQbQHpO?)UW$^QUe
zzP~LSLnQOfcJuJNefIk&Rr2O?dy;VbClw|7zBga!yLsrqs6bp4<9QWRi6VlRA>y8Q
z{{YwLt}7wN(M=sh+xPfiw@?aLilCBtP1O%?`hQRL>&Lm|sEF$P{GzYVL;@O$sg1rw
zeU(((WmQC9)VujaU;6d+WN;27d!i?m-}QfQ9Yjfus`ikRbxr<0%D+GSI`aIqaJKWg
zF35tP9Tru>L0zRuQeHf~CxzSo{B;&=sSY%Q92+H5L@wbfCmqoXZIOKb-FSLKZJ%t{
z&inBcUH<^0r%@fUWw$#93QDQ*_eK4cdM38kLzu3zCbq*X&3q?>1pW8fJSY2g7GvYV
zQ;_Yp-aPH+?frcJ0N&k4n=p+L1?6ZE(~-1DJ`odbx7{}V{{ZvqB$>qWaWdEuQB#iJ
z@6$l8iA2?Yeo6{+aFb-+6Yb@CsGjnH87h)*=gEGg_}~8kUmJBMWQ0C^HdR&fC|(gi
zbWiQoe8-v~Uf6Bpbl=K+bmlgQ2~j1;-(*7Yh^mRc`|tk%$EvyV8%5%Ps)#D9x7+&l
zB4mL?R72R4?YF{zPO7E8jRK0U>Wi`_+w8k|@&5p?{W_t7qKQv53!^p?T6?_H&Vi^X
zAvWg~K~z-R!lJ4weY)jkV<uB%QlyiL*a)Gy^%8hQPpN$Te(SeT9G%0DAlY|CR3zVT
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%0A+`jb2O&7qYK=aj
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

diff --git a/customize.dist/bg2.jpg b/customize.dist/bg2.jpg
deleted file mode 100644
index a7598eee19852b5fe83b97191cbfcc59786a4d32..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 261738
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%0Ax>!
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


From d774f8771b86d09a276160c79e080dc8e46b2aa6 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 12:23:31 +0200
Subject: [PATCH 187/236] remove more unused files

---
 customize.dist/fr.png          | Bin 545 -> 0 bytes
 customize.dist/heart.png       | Bin 749 -> 0 bytes
 customize.dist/logo-xwiki.png  | Bin 780 -> 0 bytes
 customize.dist/logo-xwiki2.png | Bin 4897 -> 0 bytes
 customize.dist/openpaas.png    | Bin 28462 -> 0 bytes
 customize.dist/openpaasng.png  | Bin 5929 -> 0 bytes
 6 files changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 customize.dist/fr.png
 delete mode 100644 customize.dist/heart.png
 delete mode 100644 customize.dist/logo-xwiki.png
 delete mode 100644 customize.dist/logo-xwiki2.png
 delete mode 100644 customize.dist/openpaas.png
 delete mode 100644 customize.dist/openpaasng.png

diff --git a/customize.dist/fr.png b/customize.dist/fr.png
deleted file mode 100644
index 8332c4ec23c853944c29b02d7b32a88033f48a71..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 545
zcmV++0^a?JP)<h;3K|Lk000e1NJLTq000mG000XJ0ssI2`GA^k00004XF*Lt006JZ
zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzvq?ljRCwBA
zES`Fq0S5m4`IqO%_xJDLpFe*B$v=PoFfuYKxfuTY!tm!O!yljm1_potVgafPw37mo
z|Ns5}_wT=?B=7(K|3TdUK<+;v$=cHQ|IhD#zkdDy{rhc26F>lgG%);U`26kn-@hOg
zU%!6+4+cOs(0HIde9xZz`}Onxub&LUB0x(30+2WcIRJn#2ut|?gWYu1Cf+!-K%B8#
zdf?1WA}#uZ8oj7u>$I1i0Al&`=O0k%-@icgAIJnM0xA6maSq6BK-ECw|NZ*S`0Lj%
z1_pot6puj;05Ax`F!=umqj7^frO?t|3^&I1kxUq9yECc+jQpY84SWH_0#pxl$?v~F
z@*hy-KN0|X07U)z`4{NpU%#2aHUI<=%a31wK(7Du52Oc(|3O^?R1IN+RRjI-n*kVB
z3=9AP#PZ|EACPLGJ%9cJNh|>9B%spYzZw7h1%?tp0I_@ndg9MNE>313@6R75NcceF
zkr51-#U+7;F#`Sf7i0rK0I_`g_NQ&Z<sUzOef#m}%a32uoRUDN{s!{@0^RcK$B!R+
jljj4~L82K500ImE?yY-fn+$bC00000NkvXXu0mjf0<ihi

diff --git a/customize.dist/heart.png b/customize.dist/heart.png
deleted file mode 100644
index d9ee53e590a68a95a9fa9483f0ebd14f3f25bb72..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 749
zcmV<J0uud+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004XF*Lt006JZ
zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!e@R3^R5;6}
zlS_z=aTvyb-}jw4W@wH%BDvPgxJ67egp37QTS-b;$O0i7ilvdlR>{UrO36YoGex<D
zX-2s-F5@!h&^X5FT)+SA{abv|l*`6jZ_l%M-uHPI?-O|M`JYPtB+}Ef&^x!mTRTOp
zeJj>>*KgTU04Sb0lNGJEiq?mmQbVHD$?08PR{#R<J<{F1&pUU7`gE2sLdqpfq4-RU
z*(O?7MC*%nQ<|1enAeIcm8d*?L^b#2oKtF7;I3ZX=&imSE?htmMqmu2)0p95YR_MO
zbXu1iTALTwx3oZE48jPSvV8CD<@=*2$5LYL-e}fLf@&3VU%&}iOI`CEqLuA)eXNP<
z8=(IIh$IG$6UlV0A>Y@(Jtf90i82`&dI!dW7jO<<ye6ESfhd5%H-Lb)3FgNLS_K!!
znUoll#yN-;D3vVGCRs9)18Wm!5%3O_0dZh7qLidW>!P=IT3`*tHLxxjwl=}>+*)uJ
zQXzyPPN^^yrLNn-L6|)gDrKnEAdbPP1a+KXt(F*+N-)2L{Eb_PQs+ab)QQT6Pw(ST
zBha=K(orHRSCfHi4O9%(3e<(Lb`^!uF>+VB$3*L{z<W>r`0-_;)Y*n?<BCbkmlKZW
zVBiS^L2`Pv3T=z<&GQ)T>E-k7dr!rf-5ve?cY>d<{Q2<V$xf*QqSXFuM_Xg#tQm0k
z9u&*4b~VLs1>T>(phfG`V$89Qfr0$5PaI$GcI;T;lseVaJa_ff4eP;K@^|hsa{cCz
zXuY%j{{3s?^}(OQ^lJ0wCa2U<(RxpI&Wzye%Qu%q>x1omeM7&Az4w3Z$LrQ@df3^y
f|6iKmf8+cE7K65BSFA1B00000NkvXXu0mjfxAtvo

diff --git a/customize.dist/logo-xwiki.png b/customize.dist/logo-xwiki.png
deleted file mode 100644
index 375739d2b8bd90c6bc31bd5d15e7f9486c218d65..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 780
zcmV+n1M~ceP)<h;3K|Lk000e1NJLTq000yK000yS1^@s6jfou%00004b3#c}2nYxW
zd<bNS00009a7bBm000ie000ie0hKEb8vp<Tu1Q2eR5*>TlTT>eRTPE4d*?S9%B00b
ztP9K3ff}fPz=ewng28m57V1iI*_uUN2ySe;P?%DSf>jU{R2WbZMXe};32wqjSBe#i
zU=cHmViz_r(pt5l>HN-d(WFe$Nr>QGJ??$yd-opRg-t|jmTj$Bwr%Eat{iMvyyW}a
z?e+t!U@dZ~!t}M^_*(I)Q{RvGdcD22Z*Yo%`Yoz3J$3M)CMPGG&1UmsfU|cKyP!`p
zIta7fK(vHLfEqBfszcyv!g(MYjXU-)EG#^@QV8S0$8C>EIw4fc>xiFk8aX2VCV3O`
zN}^)>*w|FJ+r9JTla!@7WAn{2>^6y)AS+2;BRLTf=hijV_D+}nsw~UTUHX$wr!%(V
zrR|zazg(8($+9dzwf*Q?eXIk$5AlMKll+rp8n^^JC-E?_l*wE~yuB&lGIXEBfkZ*(
z8A`4wGyym>XCva>VY*^i5+EXGmi>A>#k~ZX<Pymb^YioXudCy|vwNuITZmCYRUE%?
zVE4WootAzDG%hHUyi9T=BL46bj9eb&Xc_FSh(gI0o2LrO_>Iu(I1)0jE)I;nM^XdQ
zpa9kB=R?33NAK!r|HVUdyB2@#Qs9cnFc&uRa5v%zP#5YYxfQ4hDw(_*5#J5d<*=mf
zTalgxMuo0sW}D<0;4hFQy=eQMO#yA!b-lCOfe}gVi1=~&;~z`%60nGL*!K8_K-*PG
z$3Qy;+0XtP)oS(I^RS~^uWyftb0qI1*%xe)^t|n@LxHvn;1JMAATz%#C_09$QawES
z&*EnQ5pkO2BOsF;6CAf)9oFFviN}(xmG<e0iHQ#*!T<q%uipEwGxGyMAT@!fS89VF
zyO;12Nw0|FwbjnZ+`LsYnbc4|0?e)Ta>MwY>eK~_)_)THU-2(tyFsbT@0#%d0000<
KMNUMnLSTaXI&gdd

diff --git a/customize.dist/logo-xwiki2.png b/customize.dist/logo-xwiki2.png
deleted file mode 100644
index 047c89ea7ab146b9a07e32813859f5d31c3f2c55..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4897
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
TmX#pJ00000NkvXXu0mjfZvZ`K

diff --git a/customize.dist/openpaas.png b/customize.dist/openpaas.png
deleted file mode 100644
index aa91bfe986b8a15552b24e4aaac2f8f20e1bf02e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 28462
zcmYg%1yEc~6YV0wH3WBecXxM!y9Q^G;O-J!LvVKpx;O-P4G?sLySu;r^SxK~io$mH
z&b@PHy8CqZnP@c?SyUtfBme+_DlaFc0RTYDLjKM`fP?%b-Fm--{DL!Al$8R!|L-fm
zt1Jcb3Zk=|o*MvwjP<{7D8P?wJjjdiU*(mh;s3&-!3$D%@hCF_0Av7pDRE7&m6IIn
z)K7y;Lsk7ZJDvR2=^t=(UE`BEKT2VUYl@|k$%~=D{z3>LQ^5EjrN)u$Hg(d#l(n2a
zzmu7JR(l`%6o`s^ax)=w<cYRVr=+8!rK2V4f4ta*SDr-&=>7Em!f5jWkO~bT6C=Yw
zfQ1e&r}?Sh&I$!69dI@b$C3~YmLg_W{}47VL;<ZCQ1gnQK{bE?b&GBbtC!wvz+Aeu
z^U)~4A)<tWcD$6eb&z9G2|<rI=qEJ5R5IaH@c+h?^8YBSuR(X7f8)5Ub%;g0z3gS$
z)Yp-jPDYmv3?3>Ri0Rw;Ji4pLdwy`e?WB+T!5S(|?_ieVzo#kMLYPmMu;mQ*yotIX
zxsHg^dLt-UQ#^_#t3(;8Pi#rmS1!r4YOC)6;tC0MhSwi$lkGG>0f>Bl|8Fv4WOfEb
zh#$;v6N479jIV**1w~TCbakT<vpB>#gdKuB$BPL)-xV}Gp#jJ<+cN(UP`}<n=ogZ9
zt$S045z*TsSz!*!FAiC;Bihj&aq*baOxC#jJF^z|)cNNW!!-fQ_2~az2D2q6r8dV>
zU}W8WPRd!^tae0RtB7iakDTQjcploMXx{_Uv;@KfzRzsS{&yo{$c@;9em7qB4l2Xf
zk|>U@Nx65;BGQWRCHdPwmsPL(;h;kOn*~N-r1O<e%qRLM-m~XfUd%3>8_cLrn*KIT
zG_9YbXv!teud0um)-{q~)er#xUBQAOo4Qst8lr6xsC$UN%!)EB-`UMYFpQ{Fc%}0&
z9D8iR;(OxAq|%KDU@P1V`nUQad3=3rr01pmi%mpbR_&U^<>hs8!-z=tQ3va>#g;~6
zoOSDAiHtIm|3el7fhwLz8f#@YCy&C16<;Y@tM6$8ijTaPJNWd)MT6*buDdXls}c_Z
z&cBrq>fzf-jN6p5)Lr5y>}#JqjNgP^Oca22Wnvm{*K_tA{-a*K?uwni{r2C-Gx*H;
zHNxF9o4K1-Pe>rc66(vE;>F8rzPTp#bvVkev^|f6g#GU^2Cn57szvek_HeJSK+15{
zL^6pKg#rwH4P4fAUb@=p-jwrpBdlgMKCj?+V%l(uq`9Tfg@~@#@dQK~IXTI0K+nF=
z(8fsdk<xtfkbgLQlzo>eM?Gt*TxcZ)Q_#1K7aBEI=Wu?aN<DBrx7=BK-_5R|x@8*H
zZRC%ig+X8j0G>=T5&`{GcoE+aHFhNB*Y$n5@mHpc)bnUK668F`!p&gGhWlh`MIMB&
zhxTj(_r6H}+XBG@m=M#KD89)2V>Xt=ZC;W$?pm}f{3kEl-*dR&syYjvZ^(o2B7sxN
zln<ZU4f%L`-u&bsp9jkVK|!ItG8g0-|K39PxU&jzGpN}A7Cw;=nvdRL)oJc6)UIdI
zcxofcs@fsoWmEPrqi4gGNqz&GjLEa$pcl~F1YO@?Z<C?t=4TKagQ>8dqhexSGs14X
zD&W;3ozZ~`=q=p*hlf=EzU`Z&!u$8jJopyx=D2wZ$vj~E>uC)${u0kriSi&k0PqC>
z*xzdT&Oh{2PIcOsR5)Pq;V9_tRLXV#sw0Ww1GUBj7lYr|n}a-aw10bNz>Oi^xy^ce
zc~UmuT7VqmdZW}_@5gx8yW7cW4y!5;4y_|B#-dcBbjrF$0O$VMlw?!Ihz{W#Khf}G
zUTsQSxa}mi-bO@7q%72m@jo!P__1a2_SWqt7MVFfY}kQjmix)7bwVkA9t)cB_3MCI
z&?jNyk+g#=b5^`7Qii62oUFvu)C^Akh|TX4!hN)&0f9pHAgTiL(Em0SZM@XkW|vNc
zN9J-Uh|S#LWPKfrcYo;ApHS?~g}G(ghCx}-INNoo63qduK)1agDJ9Qk9+J$%qQZZT
z4CsxCK>cSWs2T4LyqKxQMm8Cq5f{uePTVv10p5-VE@PRVP+`*U`EjxJbhf9b#M?OE
z$2f2NkT30TT{)Bb?5PMi{#gQ-!<z-aEBg7Znaw_^<ARy(tar8N6U|#U20$%?=)2y~
zm#F#ujg0p2TL)?k0g^hzVMG+uR$2L#M+*P|hCtvybApHXnv1_Y+n%+UQCbwT$RR|?
zoIt0x=ZB*qc|c!?z#r|Y%IOY!26^}UIFjWbs!$Xqb){r)V$c?xLj?u@Ad%|dAzig|
zogT6Xb7jTP3;Fu!B0XxY?T<h<QP+Q3LkF3+y82wSk_hfM?2V7-U;2%u`{Dk#*irl9
zL}smds*OpKk3_zaM98E>*{|FdoJ2Lx$`K#xpTXY4Y7gb9(+d#4<_V8S5)py+A9RL9
zNvTv5f<985D70*{NI^u%jllO$_H;fsFaW?}q|7SwZkfhZpvU*=W?1n}4dn|puCM>X
zhRxqCxifrj&FYIJ0sWv!O$Yg|P7fnuu*x%Udf$LW9=@W6yC2J)lRz~qKrAi-{lDAk
z5G8dp4}IPKET%p;DpkdDPF7B<UDOjql=b7Q&m)jYQIIHGgYY*y5^eY|n}>e}JS#Sc
z8Idw;_s#?5ha}h0<iQE}*+kNk!y+#XT35T6*-WKbNo46xmBI@De|OO&ivF}w6Q<!A
z3HlxLS;boa_R;#-ep|0&SKDlh-FW!QiX>@$=0f~`;}@F6P)Zb{BH~7ANyxH<5g}h=
z#T!QwrF>3U1&#*(JogmAZ4dwYO{O3IAI=f<@l@s|z^J0K-zQC@#y<iMp#i;`d4j!_
ztbB@uibPWxd&}jjbYd#Y|LrU>moPJpOarOJBHRX^u1UxS_zV^d+CCY4M2t)!?n0xa
zgNnckwm~5OAE>jv1DJ5m1#6sh^JeO1pxH!=tz&<5v2w=g?#JHEc*<}pat!!<@_#N_
zN)k(!k45vT<;q!3)tQM&NhA{uz{VRS@^hwi&Tyn2Eu5lPo?SjB)%gD#9Dt`1ot8?8
zYsMFR=z3Pnn<x^b?H?dA{vAKEwhz$j5+Wsu@Nb%MH1TZNe|I&N3>dzmmSEwnnEpNC
zSxmA=2#)$h|LQk`A@L8p;AqP1{Fy}zbcB$;4;10BxBmr3R3##DfZlJ^e-Myi1jbOt
z7Z9Uu9h6_YN`_fgS1+jPMnquzw<DB@pho!pwov*Jm5ML!Z0K^tqPYnq$UH{cepuNo
zI<ZJ^{r5x>H1T9%)eE|&E;kY-s$V6eFGIiW<Ql_LyPxdf!v<~Z!l9D?yE_36RZz8Z
zhFg!^r{(Dao9Q#Nu26t(H5?#y=~^TaX?NpSyzv10myUJAbiHr4I9qrK7zk{v6?pfl
zQS5DHgoos0_3u%gb4V=`z@4vflscx3{S@ip_yB+~!N0g!9va1-jX+Cpi$Sm1inx1r
zhNqJB{{Ggy>^M|N(NRK?U{P(0;hG7ds05612nEs^xLK!%`Fs>~^@$i!2K64}hfgoC
zY$!T*k^;Q$hD6JF>Gg}6)wKBHrXoo6BwNSw9tU$WYqg%Tw%^Or6TeCEQDbeV%0*!!
z;j3W6-sKT_%OH>I)&#MC*Ils-_h>}buLFa2h<Z#rvyyFl)N3tB|D3Q9N~l2tf^3Zc
z$M6biMDN(MQHrUK@IZ-Yl$}|q_Vn71Rq{y^QV7M+!D=)QzHd6|&2CJNO`JT!le#E4
zlIjv>XRpFKHy_Ydmzj4x$#-0{u@$KRGj`lNxB@-}Vsy9)&Ez$Zw~w3o`Vhy!%+-<o
z24RU-cmOk}TO{7UxI2t^8(lTU_Rn}O^JZPUn-oZtMB3WsA*s<&hov-9fv-kYG!$Tv
zu{Nl2bu;UdezAdaU+Eq=q<3!AW&Id#_SYW(5EzUS)9lBs*CZ6E5kP7&aHp<b*FYn)
z<X=pOC)a@@`}#y3ET(zvi$-hF^eczv3BtGbF_&3W$p)wWhB3ncv;%hJ)Y{0wNF&%A
z%EEqG2~I;ZL-cL+zNDY1i1>Bx9>!!4+B9hgFxkGxd^XohCsD!pWNf7_9)sX+`i%Az
z5~%<X>q14KcSk-}jb4zDtsD3Kd5&2gaYK&>C)CVPxE<uwpaae<KRY^SPDDls()ohv
z`T-g$0u=kPqdE5DeaotuYGazO^)!2b5zr$QI64N(Gu2Ck1N@!&BtvG%@v9`KEbqBV
ze{2szde`#Y(n0|eBQ8ujx!%k@T(26H-4|vdS|%5XJQ<}89*S^5hAbadqV%&6`7k$0
z7TugI^U!5txPK{xVEmoJQPAMv_&Hge9>BhxWiZ}ILz`n9@RM%$MnAq@*!gQUBua_N
zuNxl;-QL_&geUw?`o`#bj%@<wXr&#VyXA(e;i`O(nHN7b0iKUYCt7UYI!Z33Td!xI
z3Mj+=-XPhD;x*Ce;VA7XOasBIS3%L-(kuoX#2(Hrc40@JQ|t1&VC+yNg^BSA&#%Mz
z>FOF9fFKd*_QPcfcH4aeLxYnDlafGpMtvp=48YwcfYJ^@g6`gnzjL^68LDOoRDO18
zoa`Y&x%nsgwsfvZ830I;+(Iz*(%t7(HP-f$^%d~B9tYp)mre)%Y!VS6S180^HXA!P
zC|<!Rp<H6;34ML}(NbjVb_j)APT`oJV0yB3=mbnSV+CsBJ|B8?me{-<Z2`||bbCSr
zqo`n^)zJsltv;1xPpXJ?IiwWOxsdMskv$+MuXKTKwTE6|cHnfGRtouq$?dL_Ueb1>
zXkwz&@vuM?-wduw4tf4;a%h<wCtKxbK{SO;gTW|_^f8_Y?iOgTytC}}*Ze)5b<h;=
zY$jbxeWk6s^G_Ec`3_P}YmY9?FW<?WLcQx{ziIhXgQ(79JK0AsgyR0^5dpge%Zyg3
ztXYR}TR`SECW6S8+{X?7jhA*!>Ixp+!+AeT+;E+*U`YM}m(F7a05}|&ksAs<GzT!t
z)B$<EPQnJui7)KrxMcS>i4%uPDfFm7QavQS4r*+nevPLk64ESxdqGylD4t^L@-<4k
zmv`ivCn)h4bAnrAj)!xS3#}50YZ;;8m3c2PA$)=Gs-j3&Gph|aWT{!$-WR!sfzC3_
zbjZv7S@1a|;AGkO=|ga+8rL#rR0Nd#=!XquIPRmjsoTkbnjzpXHlj&j7^5hX(2Mzy
z|ElFh8LNgyO?gY@=90P6{9Ot<Fs&TM1Rfx?u=EfZ5>cYuBrBDNDUliZrvSH0Ois<b
zB+zWD9t;(BOKsl7kv};w?f(N6IJCb7AGud+QQgic#DYz4>D6;u<>xVxTYXlemDKmd
zGbBxsjkorBg@Z}$&+!YY8-Zh_9^jFI3`5Ib{x|>ltY~*SB9bTa>0;C;M!|IJ4Y@F)
zlsFQCzGa|&UAcH3FX780o&*`WeFsOXCL@Ffu8*o=)YTuj)&c-0s@SrL7LL%-l_>^t
z85puantPk-h26mzr4rj=G2y5bO6@0Q2Ofu0u3)vZpSB4tsml;X?1jn~prJg|mgY4$
z#p<8Y3?#oRf#owckrklsz5IeHF};yP^?EMU^f8?JgqsQy7M@t+AxX-xyx}Q$NT(9@
z*f85w0IlIp>E<tn5cv*C-2Oo9##Oplb@7ox30<`Q&boutYC|leL>0@u03ax!kPjO0
zy{6sJR_qw@)tN;02vSC%K*CDM;Lv_u7wF>IwAAd7fA$<}Do_wv8h*Q5oE}Qv$%!|V
z{HXgo7V)U&SoDVAd{;(+V66P!m6E#OcU*86ryet5&S41(0M~>=hH+~^^cp_FtVF5t
z)WWJD;*KL$3o9%X);|`Ne0Oy5RF6v0W+AA-eT(@QOSqw{fbG}3<_`}<fa&XS&--g2
z6ZW#NQb_{i!<t+nTB<DiyANUnR^0JVjw@uF>!UKHIvN6z48oX?<BFUtr!F?mf62DG
zDpumgzqFzM#p<oEEz<tj=dLI`tU^?4_|1Y0gBcz{3TD=YFZi(;Z~jl+uHrZVK=7Lq
z0e%*?$;YZichkrk6&jYF>PLdEsQ50}2MX|)v>^8FwV~zU+B{8!S;oE3WzOt4NeVkZ
zzu1XbL1WqoE|Ia;;+5>uk$rFVi=+tY5Gd$3vPmw(c<UW@`2egAz6Se-|32=<GY!gT
z8QvXyGBWngKpj0uU~ca4n)f4E+|JKOkh*1vf3o0zLI%y$#*J~*0w4qz#V07Ll42o3
zDVn6-jDZ|u!L|q>9wT>7Be{ZImfgG@D-G(+qpg3Z47v$NzsI4@+4BE5Ubp*ak37e^
z`UBpcdgMx-CVZ1`j|&(b{*pPU0QGL|xyKK_velgm(_&r3<e>X3e5xU6--=_xM{9ob
zmc7y)7Oih~E=Y_E1wlhe3f+Jgwg2d%7Em~aO8CBrMXTXHGJRm1DA7jd^JgU!I;r8=
zB=DZpWuX2J-Zo?LWJfefN=ho>LzhIy#76X{<@^eeXK!=499+qR6_Bea&()cLL6c+b
zo?MSVrM(N{L+j)9KWVmFGqsxEca-rH09#!2@iu3%qj(kGLIvBfX#+}prOx#L0L&xQ
z0Zwo*>;if5c9ZsPNjHk4W%5)&!?4o=_%YA4a>p}UMD#5yM7Bru!cK@RHiPIFB2)Eq
zhcNX~5HaE~PS^O{9&-L(D4aQ-iVSR1!0z=3?#8*In#P7K!gwQacYkfQ84h6TUCKu#
zHn6tTL>PIKyd;;M*!OWL`SS=K!%g+F`L2UD;m=tQ8%T0P9v&U`DW8hMaHp2q>dm;=
zu!OAAXmmP2Yo4Dy=j|(4zTXf*oL!#*Vx6jTWrv{(^Q<quD>X}MK(gGsGcEWQ!n2qV
zrYE7#(o^dbg#+8@vDBmZOpff|(z*j6S?!Mz;i4BUC`UiyQA7j$(z&neui(;}h24$k
zk1vzdJBT4r>C`W88w%k%Da{|<^RuT>5ha42hhyzo+|XAsJxv$wKFc57_Xc;;Oo<RF
z6p~<WxNR2p@}!t&Gc!F-jG5@Je62+i#a6<re6gIeR0bV67#d?*Y&4X;+$}sWR%N!`
z$yy1pWVQ60$A@BLKnnxJ-uG3t@Zc<A<822iCdQ2<VV``F3DA#NPT75e3SHb0se=Li
zJ&!ZTyM-F12Xl_&z5wZY8L}hcAH8TI3VAq1V;psqE@56rYU<A*mz8NA*0ZIs;(5mI
zhJ!0K7{Gf*T%T?>Y|Q6r4L)+4(kpvmn!=^N4DMiJzlSwRlZ&4xZyUVYc#0Z}(11UI
zQBh@vvfeyLpcY8|r%Yf~F1@}Xlec9}rR!l~I94mLfI#|Va7tlIZrt-^6v@>BUG}FW
zKMK=#RSH)orJnXnpSi<bN~oQyyh}Hi;q<M9d*Dr$5pmfZN$H<45285}e&;b~uAcA9
z=;U<opTF`E=pexZ68X@eDI~)zj0vbnAIwFi-AK`wBJt?xzD&LvkNcdv#QVd1ltX}Z
z761__W}V<K@rtTvW2EXz#r$?Hm{6v10~TX5`Wp(=DRS2CuKnR@8U>5=VnhX^xnw)c
zZ4Ji3cV?mNHeU}kaAmlDS*W;SJeCc%ety^j^b0lr%E9F!yxOgTEOcSzJ-y#oCT<V#
z%^`}T01QL)e59~H$@VX0xWIs!o?S)d98CPcg7I&RQ{C6w;U~VLfzW!sLgiZ(bqr$W
zc$mdVHrFz`8G1$B<T<Z7+|5vcpaQ!3o0a?5VfLoO-;GjH3i0S7x01bgQKkx~mEuDU
z7zC3<U0)qXFJH@0vcAHdaX7m$krTnZo#{8MR!1LY)}iQd;Uc>vld(-`?dEkjjS+A%
z0%PMMmS!7*#eiu014$KBH8*|jXi2K{CShi+ME!E~;__?Z9H60<zbve<E&eq*nuLX}
z9>gF5BqiL%7Q$aE%(S!pQkpC?B{>3JE?4Cf!r3}Zzd|A-N!FhoSMWwwNco&Ibqf)5
zi8zm*(RYoNn^Xz+6D`b)UxLFP`p>7#ZLbe$Tek6AQeqm0Gq9Qq)}NxWH#n>Xm8tGi
zeYlRWu>X9Ss{-`5FUJm=4}EEZ8A%Hb%xtP`nlSbHskS#eO}Q2Rft}Uyode=(NHiRO
zB6$WU7R6C7W{Jk@+i~KY`glkOP5&4qS?vI&w4Yf12#+|?Ssi0h`JN|ws-5lL92YUl
z@+sy0Jq&6lYr=3X(|*s$H-LBN!3U9m8x7meNGsqcX~}>K)72L9wYr+yY9)e{5w@%f
z@ot%NN$EtEfhcsK)Ir@z0*RO|G<nuA`=aKGp@(vYFVK3ihBSaPO?Z*PuQ2oj1@(E8
zG@g7?NkZL@K10KFVPteUO0XIU_VRuxy<c6z`um-yw*Q6`Jgdb?dd%u0I=V<=dw6q3
zo2({5#<vn>rKg2B9jy3nUc838)-rv=TyNQxuk23X8&v@%{)U+3);6j!YU)`8N)xXh
zS-Jhp9EJwq?$Om*DYl4!$D~FQ@$gLPD!`QofefC^6aXOV1>6p|hbTHr{H4|Y@O2)}
zGhQ9O30REgKuD+kAZPUGtT!|^^xkb6*>-Z-Qfbr8QZwild6&-Zy6`&RXuEFz4XL|3
z&-67ul&mabsENKTX!+$SIV8)vE)$nIZ<j~&kRq>m$yl?6-*xd}aUJ%UBdBEwBZ>fC
zf`yy)40H&gt#uxL+YkE^6@qom*<^Hvg@{PZ<E<1Q0C?)t6ozs2e2*MpGbhkdyf7b^
zJq~@UgER8!CA!52$A$UmVX$bT?|a4vKyQe30D|Uasd<U#jqfQfsji$Fhq${3%DC>I
zt7?OA55=|xNbWzj!rU~$yoN=IuvVlF77M9<3(|-#OV3g0={%EG3-@=A#yfX;D+}_E
zlb}muJo7&Zq2H}ZKuS;5{^@Jy;urHnHU`JZ`0!RmD$%|L@tjs)(YGggeSE4{m+KXC
znpwrE3jf>Z7}nbJ9VHb0;IX=e;hN#|AIi}SolJ5Gb^gA*mjjWKkkonxMq1PS<zUrU
ze9NVKDesBOFLu4sZSOS_S!xU_r_AJGmo-mtMbob9{WvR2agMbc9Z;@;lUPXt1RY#$
zYlGiUnR~uScKbyq+f^|yeh`mA1SQr6dgn&|z6n(pXnxt*t|I&rQpr!mK%1aB<rdD?
zFqgRgW-!=AZLd%|@8MOJJ`CdKnSC0~=XIUCuf8=}X9~Icx`<vOT`VUU5M@5v;@>`+
zpYHb449}SsQHc@LBKVA;p(KG8^Y6a6&xmDMxhK4>oI1Tlw+A?Rlr3>`q<Mc2yWSSt
zhiAhfoSz9<5el$-dzyv<Q2Pj5S^_IpmAI)+K#hs9LyIs=hu9X?2TN=*0Od+AZq#N!
z#X@f#7ueiYoITDsUtjSBIl~Ur?}`=@182#OvBh`sQR91LR*cQ@p$r^1Qh~(ULRhs$
z?0_g`#^NB&%GH>AH92L*=m=v2m?zVWpuaEKhp4d6ILY^Xbt{!K)UU{72Rl-EZ({_;
zv=z43Zj?I?2IacfMMDvRN<39_RjT*`@e{qju)G4pSL9O?Xfk-@lz3Y4_}vLBe104w
z6$*<5+J;zecvlB@8;q%~?}9Rk`VwSl#RErlkeZ!ZA>v&>8_IPI!SC-DHZ3=oyC@Mn
z%Mj}Om>zTTsY5!WcV$v9(IVz}li*hLlgOlCMybgQ_J!(~spXpXB2WOqwfgF12Y5d}
zr>o1pkHJEH&PR5UMb`ZNJA}zkZ|kmXe0iA$a!Cz7Kdh8y9qKHqh9~+Orh$EJqThhA
z>K-10UA*TNt*@I))SpjKV(Tc^%@~=?JWv8SJ9d`byTKrPmOGc0Uiu;};kz7;ue12A
z;CGA4kLJScC>IS1b6gYV{D}y;n_Q}hKhfeOE6%zE6nyV(Sffu?^sfeZl<`VmQ~`~l
z)+mQM=XxYYowodW+2VOtcwV4*bXz4kGb4(Sa+Onqm{rdhOj&n(%FCtlC|Z4#Cyyj;
zf)D)6-xl*a9aNO%noBlf8`qRZoAS){@N|gNYJ=;^X3L|*bIb?2eB2Yi;w>tY6x24U
zzI7M`UbgU`uerNzjVhL6A=<XQ62WU6txLeSO;l$YBwS<5DuDMO#Ww}A{W)S+C~^!>
ztw+#d6`}+9mvFT;WtvIsa|$F~^%6_zc^8!=%q-lQPZ;N@9fH6vWX&?pheV$7#zYCP
zqISxj{kM5=guO)xp-n1-K~iEyd=GPZ9Wn?IG~<-C@^?zru&A>T?sfkWn>ufbL0<4Z
zpX+tY+d_WKWu$)ECl7%w+aVeY+E@^lND)^ezUzIur_q49U5FE$k_=U2;$6VBZ3nx9
zXZ?gj@GXUB9W2_vWSAZ>T{#U#eM{4AVK7NWt22U7#zh|Dmt{prhl+>`pgYt@lcRs>
zyB9ZkE-|9zUjLctM<u_&J+~vRbu|MM@@5P8>-~P9wortXnUSFldkM;Upu;!t9nB^M
zZ`o63_(f=);#Bo>Mdx`>4^lkvZW`r^(wjd-RnPEZeOEC3G5=#A4GPRzu71OGD|yTk
zO@e02V!2Dbrc~lo(=P=#hX73LwI}<>$#q#&aJu$STmZnzeaAbADmWbO84*s2xQqbY
zQ^h4w(krdO{?7AG7#iKIbHG1d+uz;_xx|;_`a2dA@_f*CBm+aqk0I!Y?OxG=JOX~t
zhA*yQmN~W(BHXK-4jRVs9qfiD&vfiJXWEVSahZN!t*5z~SI1^ixM(%@pVNiEDgEk1
z>xF(|+k^O?U4kt5FqyO;(GgCCuDS1{Hq4--^-oUZEz)`ZK;ZVDJH(DuAT`<e^(S`e
z7wOc|djJlJGQ5AlV$m$JxZjzZ^->t{t9Lzewvh=`#ADQ_jV}KpS!EO(<~n^y(dj=e
z0B1cnwf46hM12%~9M{;i<|Aa3ggU3z#5`xqEJ&NI?TQ;|9<Dj?bw6>6Q{bv?sc8G0
zbSy!X?~IiCW5^d~S)j-P_Oj@AFoB|*%QJX6=iL-+ACL4y0RtLv;#aNaM-tS`w>yzd
zC>pC|!+QzZr3eT8#vXpLM_$oz^7XR(mHQG2j|)J!uJXyzh`;x-E^G;HTvY~<=(^$t
zYQ6A`_x)~v%BkRVEt8!ZF>pSkeXr{hhV9G&BSQCYWK|x%y|QBG)Npk^+y~BABC>-U
z=#h#TFrT2)Lh!gOI(_yAHpf~>^!unI5fPyKi_Jq&kf}5o!M6vTj@gyls_?hGJSWu;
zW2RdwZ~U0{Fhs*afgO8Wpwgad5}uzOToY;J_;2xs3J5zI5<mZ<f~Fd2Z3W)~HoiA(
zC!YO=kfb_3G)utS-o+6CvIZ%->&cew3V#3d*bf29_;;QBD6)PS#L4=}H@7Jx-mcb*
z>#f`9!yC{1Tq>hIUHdQ0I^y&i53$jHo3EL<Nv{;ym@w~|MX82l5a#W8JC~56L|xJU
znZ+-FOZ07qVT2v=og@poUV<sv_maRKPn_S^R9ZrQJtER0;Q2IYv98Hgi`0}a7&A3B
zwLQEt3+>Td*Jf$CixcS3o$cawtPo#s{JaziBcq{#2^JxP-FnwGBp?4ofJ|xymAe&1
zMknMmf?G6cmGIfU?Op_C%5i(ui?v*+jx%$dq^_g0ez<k*PZ#=e6<g&<n}L`Ac>dty
zB|MEFMJxbtr6Wscf{UDkeD^(B{CH?`G|#^I7h~_GX*_o&`SrKV8jCOcfqL4%R<h~k
z7-&W^BI!2Z0CJU84OGG0-tJ+po+kzQ>(`|=?QIHpS`j_G)COD&H99Y|fBjQr816Cn
z5ULI%L(O`Nyo)cot_5Mvh`>jpKsi=DFL%VE_b5!L2y|cZje{lk0M03g`yR}BsT<6A
zsCNMlCzpDR<JJr1)7d|gzrb;%l@6OoW;Z~erVO~X2kwLUaG(u3B7HUUU+bj0P1Rg|
zL2iYl)N1SPfbl7hEN{n9)teDI9i*c7YF;O^N*u}_|F-d)Yh0~>nsk_;wuNw)XsnR*
zU&N(vD;A5Bq#=ST_BuKKWZI9T6wd*F>Q)7p;@f0zjN#cP>VClMsCzG>mQ}~VQd6&X
zJ*`qej5$wxzoSq9(yb5V6DE!p74npL+4P35iGX(V$CUP{3Z80z-R{a-HSrtN&2B*B
z^XfFD=+nPDXRzN?BCh7L1V0x(l+7XCIr|@iTBVL7>H_Elw;lLHea2QGa}wb2Ll$b@
zY2{WF@~AP|;xDAR8hH&@5LdIu@kKKb23vr%rDLH12zGy4pvl9V^F*aPo@YP-=e!A@
zZ0+6r2DmUgi2wW*44gEdhWW_8f%RfGSIbPbDgJvR$K>h6?_AlDH>U66sC%;`g*yin
zu+=3=G1LJQp#4ao`Mb5z<@f<XtYU)F)#*6H^9^rpa}qD)6BhS^VWw|b`zfRE9>k+;
z!)NE4XJh|Nw0I1dKpJG|p`Vm>dTDd%NqELetsWYR);(m5!*ATZy*P98#DJFPy_n#O
ze4(Fg_4saOTgEg(MNOH7ZXzmAJags`2x=%Ti)uuM+tGarSUf$or~?wW|73gIv7m)h
zz71q@VQM<Kn&1s2Y7=-H=@dtC6hicZ)pj5tCzvTH`LmkYp51DrB<jD=M5Nh*YpnB(
z9ufldNS{^=P!eo*pK0v+EjnN_Gd#GE!i!Y;W#fh0c{QwH>|o`nXi2t8Kj(QgP_ew{
zFEb#hl>jIm0jCDcd;9f1Q)s(F!tjB-8redMp0+%iGL?Pb6ZU11NB_o*`(Aw4B!>^-
zU{$Yu@2)$a)z>`{ZsEIpSl@-Xu;r#K&*Q1<5{AXmm0@Y|N{h;BE|Izh-q|rW_d%A*
zXI0jDSoe#XIGz+pMXU0?A(&Yv@STx9_11Oob$B`r_A{fueka)WsLg#tIfAP)PJ~R3
z9dpCq7zF9mpMD$@GJax=$gkSOJ8pY{hfmHSDf<{#J{gv`-yZH^0teVrPx0TatfQ}j
zWIRJ1qN*ouz;i;;qpPi$qZM=0+5OCqDonzzw*LFS+Si`Pp~AfV_W#^mR^sMpEMQl=
z&t_0pk->)N=l*ISGkc2sK&XVXNZ<H!<8oAA+fZxsso2hjb$Nvn{1{lQv6$U_AP@Vb
zan%ogWIkRHf8y6hH4(ytTN4<H(jj@B3e@{rJkrGypCa=s)oxlJyiEBt(*4Ut%>uea
z{yW>&{09=>mYTaCng))*1<jq?Yn^Tr1i5M};+!FhywZNS>n`04-#S>=*yf{c?0e)h
zK7YmQO_KySX?<Gj%h&^~-*;)?01Yo0<zMpZsCrIpajK1*;HJ!<&qfN>)wkRV#4}SJ
z{i#LA5Od$hkkD)P(=9R5Z;Wm^%9%P6)8J^>JzxetHRCm+^<NMeC>rvs;g8f;d_ar@
zw{|-oC|*YH6F1=_GdJ5(KOOf#oVd&5%00{%OXK$dCP~6+Xxcev4A?~nFQ9ihr~C6^
z(3`eX!K<g5YFn1+y3b1?|7a#hJ17Gd6BcJT=7}k%0KeTk{GJb;nY@D0f9IG!(NXX4
zRv+Y%jNRMpyEj%3gMA$E^n2eCn9x4Ip@3^jO}^GLW<6IO{o|Ys<zZn!IAhu)&}@uO
zE0$4p|FS@tGiiT~{zsj2=hTDAD|)c*@-S!+ZzG*j(#4#8=TD_xC;Nop&-GMbzwgw!
z(K=KZas5;Ii@r~@|1F5x4y@f-jTwKMXlge-5&-EYT<y{+6k;x<i6oZ8q@5ZsbIzA7
zN6{>}pu5>Vy%i3CN!u(ZVs<odF6w0ATLS$lBd`j%XJr=(wrtaRawglmUQ66ehQ4-R
zUo(PtMTL?F=7tE|01#n<BB{w#v}nU$5Ef&|b6K{L@JQwKDq1$UuTP%`C*HXwz#f$0
z4?|7|xc!v=p@OuA@o}mGw+tFL5+2E?V?=|p3Ni1a$d>6+#s<*ChWzahHZ)>?(0vtU
zYSt3dCDCpvxzw#yCxm65asy-TWJ3U$fBDT9tA0!o8^l;Il?a%H<;!meFzSr1^?A#7
z^Wv23NFc;blhn1E$PI&9xQ`l}0+lU!oIfd4V`^}Kj&fxcAo`Rg5MG-Lw7C3HHYtI)
zynOwfjy|!K<cJl7+rCkc>+0&HEgyv6KM%w%dwisoKCP7R(X8ToLPj25Ime+P$@6$$
z;*~L6nQ@cZs<7I39FjoZ(LGQA7x#>XLL@FG&v$2O=TClKzDp0djZTh)({rWUe-pNw
zYg_Xg><wJ(t&v(^do>J8EfRu!R6K%T)eH;cJRL~eQZbt1aGIggq*v_4<OX5eY}=NO
zp*D6Hd--YA#Fu!IKUD4cqTs6Ispmb3k@a2-&Nm6u#A(*R0c>({U8oA#%$J$&UHG)G
zlinDOPUO{xA*x9pNGoFDJMbY*^o6H!9uPFG@Qds!>I4KSV4vi=n=#f1FtKVqWU3t!
zzdHR6+U-9sWUEAU7%GIR*zXZKue=u)S8KJl>`6Q@GkF(7+V!t$JmbFX<%6)Cy{p);
zoAG0w5)<RH0;;2Kg&u9kG~>xaY>~-OZt+upx_X(1Cd9|{Un31%kgm2}t_Um7xZ3xN
za;D=a_pE{oiZDahW_O(6N3L%e{8n>W?|PS>`B0W+`+SMdn@?Lt&x_BKe+^`mu+)FY
zOZqSmFTB5b5d@1s4-Ogy+h?JBXV-8#%X)tzKbe#1bRFK`m>;}V!h6k8-D^d!*KGxQ
zk}USX+3|-fDbI2l9=u6dA9m2PWbOfI&1)~b697TprhJ>!scpRKPh98A4u5{Qs2W&T
zg{*6sF)H`?K?%Kvu~OeV2!R&<kQ#rOW^L6y6s%t_enplqFuWkT4}H5_Ky`zt9q-#B
z?~y#T3PdI&q$^=oUwz!3qtKP8ZNVXSa<-a;b}g|y8SjSKem<TqSNNVNv`u{Unn|f#
z-;-_n<&q>A)#0C#C6)tQ$RV1A&wL$&4%|2*=BMcnQ%>}Ie5EL2x+r#J54lP)kGFQL
zh&#Ui<^)E$Kjckp$wD^*M1OgRaHr&A;K*IN3Xnk3)B1~RbKWY{FWfiS5;aui(m*>=
z-4`tvf_`Y(zAX!VZ1%6)k-0!f(^L_6xu?+o7&VbczxDlba}%#O)m5TAaVwP(#7K|S
z5Ai{yu7Vo^+=uL4aKDXvCkR3d+5DtTyr<`Nl)IUb=W<w7E0Z7-U%46J<q%I&$lH5^
zPSQ|{*+B}Hs!H^g@s7gYPyrrG#E0`(6a@2R7<sLn!%|q)m4=GsY$WC#H!_h!bc$HZ
z_x=3SZER25l0TY<he&hp<s*6H>o7-!4EJd1wY?NqRQ@z_IlZrTm*6j@!vGYIJNTZ!
z56}P{@pyW3TezQ1hd(AChRH!!)r9U><o2mjsdLeP_<7Bl@qH+9!D?{+nekmo$>O+I
z*s^xm<f$>2Y*leJw?tM<$Y$>FD%k=m>w7-cw_T9xGgj3L$0yUtZvCChdI+s`TXw55
zb&Q<C*O)eBH<=u>m~;DfvMj@?1G`CjDC&%oNPvy`cU#^^HXO+U&Ld;!=8y^5d6Y;4
zvk#TjyGzhPe+nivS`aN4W(ZA9ish-WRm+zDxRWp0X0SPJ^<zIG)9clf8$jr`xULXF
zqeMT$H(fi8OyA(I+J)rb0hz9yIGR@Ck9AtIG%}itr8BO#*K@F-4OG_z6F$-#dg!ZG
zUuA%DFRoYR%XA{FAd%_|_SNA6vWw>V#XXLcfSbQQP7W&hh$EYcD#ngctCh+bSb1o5
zc5yf*mZiq@{<oCBJ6w7|q64E(qLj694^TevyPab7Oe232F#!TJR>e+OPY*8UpQ@rJ
z`FWYX-cmCPRaM?4nI+@L+SL)r7U)2wIn&kJdmEShH2&n77B1*(k`iuJyH@|@%}dPl
z@<wa^OBU)EXN=SkT8G>3$asmLdxNs-wFe<-oPIO(`Nb37LMl7VP7QSD2UqJb%kd$J
z1nT*9ZKj9n1B&uZJ`*@B`=0BW^!Miv^RJvb%1bfh-`{iEsSuPtozU9w?@C*pFHR2r
z!VFFw)4F%Wr}o*r!JglE5&}=|W=0h5d^X6t6G`%w>fT+tqRz+*;7BXh#QXLcdED(x
zh(%d6Fo7p+my<`51Q0|S?h28(pO)Oj$InE3jZ5^FdQe#JTWH=n4nwpeVGZ}pn(tru
zU~uD2Bl)Y}&p*KMi~7}}FOP)_iN*Xr00Ccu?2al-BW|U~5m{NR1Ea#AJfW|u!q;79
z!vn)WdZTLr9ewgHf#mL%FQfDu`Jhx0?glBDhL`>4saoTK6=vMv6#CdiKG#H<Uz&-W
zOQc<<?ME?@+L3=DNhlZ=fU;#E7S%&`Ag*!SZhjC~{rW82E+|Smdp<EzZ_>!ghNHQ~
zsjmGi<i-KOvexhyHkkYFmP#=8fHLrKed)K+CygZsTW>r0(XfIT5YJg<D^y-mwRQ>F
zlfTe>O%JDm0mKS2;~Q1<QhOe+h{tIn!sAPyXB(M*XQVbJh(5O59He()zgqWHdV4;N
z+ik#OLGtp_?&27|o+1Z750PslWz@yz=*2m`@o$SFaxKJP-tb_4CbM5$=Xg~qR8jaa
zdn<N)y^>2)gpP?nVg&j=#mH;s(L%~b%($o8>ov5mf+`3Ugtx{wKN!z#nN(`!L^__t
z4!6hQPZwiW0e#tl??X-tP~TYK53WgrPC5j4i`6#N&oGy%n~tk5NibPqwPj6&Yz<KR
zo!=8xI7{2Ec7dEYddbt(0_v%*PdY2QUx_7HY8pfUZ~%xqCfnbb{+Rt~Xk?AD{X=sW
z$CRLtr6sXT3@=1-WyF-&N>6xiBJ!OKmZb_yT+K^v_>kE040HAD+}}+AqE&TknSk?*
z$rm_Wk=goPkrHA~Q&4a#Z;ZM9J6*TK#>LrvVbanpli8QiNfvzy@BZ>B8CQej0C<AZ
z36q<{5@DhDzy?uDT1}!`g=XCZ3c22Tmf)UvjPQ#_vpd{TIjZuaUjAl-gLDD+dTKMz
zWAl>M(c0Wa(@gBycP@Wk^G=>$VaU9*cVnkDbm02y3AH{yR3|iC*_36IiTbTNwge6Q
z(7wkju^nMH`t0`-9=+@j(LU*Lpmd_=2KY1=Hif)8PK^}?Z}0Cp*3Zlw7LAApK=VSw
z7u>q%8jLl@;`4(10J#(gkY-?6M`X|6<P>jh|8Dv_kZlKx<H2kR+2%!-hvH-KSeUvM
ztLe}eKJ{Gx<IvTPAy7|e{r+6T1YsL@TATP02|G{zX_ccPdAH5y3hvE&Y1yedTTZg)
zv-k{$h>)B##3BVYx7gDLk@sJ;F7RL6yIO0vCqlv~<)=!ooukXc3{@6u9P4OEOng!c
zP+9KzZxGIje+SI{BE>dV#(@T8KjDdQjX+U^d{D_;uHpH<GV?Sb)31~s-iez#0|;JO
za5vXOaF<zpTk-v{x?jUWU{q@n_#rU+i*r*h2EcTYu&qDOfx-W=dGJvbFDDiS4FDj~
zmk@FZyQ&DF6d|$9V~6>~oP8K-MW`?p(AjMnGCPq2%kniK0^`$~;!hUBOYM!hNcxw4
zev~76bo5JHl<M00(FTkLrm!mBj9ep7(F^km+BpEA3%`=-wv&C?HQmi9d_I8(5y+RI
z;C>5hHSy2hW^y#&LYv%x)_cyOeMh=RIcE?2-Wb4^Xi*@-TD!BCP$W7L_k5~6vb+t|
zli$S@^i#|P<9)P-*ur?KyMuBn4f+uAv{*twIq$$hiFTxZ#xTjTv&(G_7oWF93Bnt$
z0RYB?LOy_LMTwAof0qfEDARQ>rO}<LOGg?4F6aNuLy!1Y-HX@VUeN3uULo%w902(6
zQFZ|(A{da|o5PXTK*Z!^^J;FL|29BPc|QL|0tpuyVE6-?vL}q)oh0k_uKru8EfYLR
zhaAQZiIAgT(d5MheP&zJ{IHA(Nwp0#<~FNPg+aQKXV!M<9_fM0-c{eL$-Ayd@UEB-
zx3CWnb;?`id+LciXq&ln?n5+PtgbNFUtn)*{~Z@L*i3OLo#@%mZJ93KT2u@nX32py
z%jG3`v;v(lEd+ypr_~yQ;bl(`2qHwhx+?3E-N{u?*(FI*5gmScfJvxz#OGSm&A#Dx
zp1g#dOPa*pN|-pu>HrS0GTGPh93xWCb{`OP|FL}+lT<f<TsVJLsUGP9eFErig;csE
zHj66tTuqiA8$?!DqJ2X}N7m3Dx;-Bj;^P3Cxc`n!Zi^P^@_q{KZAtOGh$}ZT8AyU0
z;o&73ew9mhVE7pQ^m-dfHEIL-pAE$gW+7`wBgo<<^dYCsZVYOAW2z!Sj1biu^o<M<
zY*y>*wEXDNUk-B1u-aV)K`oJDTVKa~&tdJ(0dY~M)H;`viK+&7IyRM)mQ(d)OGMn`
z|27))MczB`mVBzEe7d)zK<b$4CC+JYa(4g1GRf$qel0_R?#aB|BTy~Vfp)yr^IT$%
z2*~eiYY>~W&Kl1a;L6v+q)=tvgq%v@8DD9;VFa&@bo6*`&YR4AAEGSuWVL>EK*CZj
z9wyBc&9JJ@sM>TiOvUX1ewiChP;F=$J#=sV_$~6caN)g}wQI9@d^kiw`R(lGWemEb
z?S;&_E6`5b`>w{y<#}V-3Pf-yz&4=N=IPmm<!O4yvZA5R9AB37Dnf!c=Q2c-oli97
zrdvkbz>b2vXwz)e-{05H<+xI<_3it23=<RZ`}fhS>uXd`AXvrs=0M%h$7iLvudmOI
zXqbATq$Tx8m(f`{^{l-lmh7jHQpt71eFfp$C)S><dua)VE;zm<(Q`eM!cqL2rTKIm
z8x<hBZr}5GMBl|PVXH2d4XzG|CiML@ZvduaTt;z#kJY58iAkT=SNam32|3xme0(_-
z<!KdtDQ(EXVE4752-jXS%tp=gaHgi`5aKazYMTiBn`&=9LrlHR{QEHNYCyDdgNoyZ
zT=DL6XZR<Tg|fCBZ;RucoyMwC$%h*Z*f23Xf|)PozGWN9Rtc!}&l^7ukz`lO5Q`@W
z!K&2ZbB>t8xB~7!PQa^neB=mMkYfproU1W-DyH`VnVkcL<I6~u=YQi%{?5)Ww~8@2
zu)FsE5ik`WWAyT}A#h}3`G()<PC&iTelr6N30y_EIQPlEGN(SyHjA2zPHmbC-8J9R
zDU-y=Y!*r#SDC-1cLpBKPm8RwdA@~=!oZ_Dsb{i50{}oE@Uiz-sKG>z=zE%0UO>y2
z<tywm0gt05Bf3u>u(irh(dCUMZ5S+IHCJ+;**kA;NVRqS%%k)6_`aJ?U@tc1PBC;x
zd4S@Dbdy{T8u?&edL{l`{V@%kPQt)s6;QKz#!Jd?ZRr0P&z~?oXaUC{fFw6j^2T=@
z$k1b?*7vf-AwAKXZ4!^?B#P@c>hy&q=jFh1t|EcPHTE=fOQRa;fLi<MQU%5mL~sBP
zX<zjIxuLcHYn7cD;Jt46SzbS!ahzJZvUKIIN_XdTc74NrKu-HO1U#t9cPTgTfR{IP
zq!g9nr6h7|`ti<|n<w;s5snP&gUW5VTxB@vCj1`XGO=m`SU`EQs;&{1>>0Cui(!|;
zU`)|B9M;UWcK2hoI2lIrsLCpra0&8QySahDjh7E~)lWB#{gVbwx^ZT@2x43|XS6FZ
zJ+E!%*yRPknJ_}ONbiq(l%_X(x@fSmit~7v56=T>Gd4G0JH{j)ZiAa|{^D<E1m#_q
zexC98e)E{#AgoP7+pz+|@U6i1Le^O*k(izXpI7`jQAk38nkloKLqzo_nH~Cg+|>ni
z2=H_7uS&Ea31-mk5T<x`_uR{s9;HnlZvfWT1t$<dRGUQhJ*1w_i=IptyZ%U*ko^Uz
zdvxWv46sahCVl?yyn_q~Dv?=ajaOC{x||hQ(KN52l$^F<QqXtvU%l{#2*WavsURZm
zANgqA>=vLJ+^94daqKI@MQoR_am%Y;z)7#?8{cm@JqzXP#fn6@p&=n$|3j<A@^J1m
zL)wuQK&&RSxx`!vkgX`BPy36F%!z>frsmYA`nmqa6Ote46g4hS<QTMc-~8mXLOG;9
ze!6$TB%wPX#}UXCos^Kgd##HJY+5yQ?CL!n2QdqBG(1KRwlEK{C{lR8G|=-if&*3-
z;L?683DiJ<%7>CL`1*D6H190;y?y<lus8)$n|jnTgz{St>4@OBV3!xU9tCL$m7a6>
zYbLq*`l`>->*SEoyjmEa?I=NwT8l0Z*5ADTIDz?Wd(_ei|9rkwU}n>N<O(u;?LKGp
zzI-Ot8b;-UI(-%B^tgf7C?<mRq_s71{o-Mr&d#v*CQW{FP*C*kmhscYP?($Rhx;`-
zEVpar`4vu1kFNr}_+%szlrXOD@sDOCwmwwaOjQA&q9}4~GLUyD#wEN?3S9`xmj`kI
zfZp65+l?fhf!M1{GH*vP&$Fbi9Tb2X0AOp%=%nnaGebi=paBx%$T?Qj1dDyd+byN>
z=3hcTrUrWNRI8uFu<j%CPM|~jUG44u)VmHX8zU>4D#aL;_G0njCHOkmq$EZc;cZ<0
zq+x~;k|xbm*i4D#-eoQHN)N)5mE*!1$fqh3Z5`Lyo+-aNHT+)sK?waX1C?SM<nm1I
zL@6w+wKOgBZ*eTwdyD?Tj<ldE$qG5X4rxz5r}qhp_<G0NI1=o`v3AHop3ybR-;)u3
zkJ2aIhl4~G9qKxRNi(8ke{-~|M2*Ok<SMzvO~l0VeFn$Uszi*sRs=6+i>P~py=Vh9
zdVjvCTG?ubVGIYwzEWCAh6a<dxs)w_B;7y`{qTbvR)sp(sIB6rVFB*^x6E_g7Z#84
zx^}{I)uk)fi?5$C6`-QS|KRIF11=6QDEHF(l_1S5+ilGp03hdRn-A%Nycsq)ypbu^
zt)=?2j#8NzcQ#7%ifLw=6CSO~t+xyHV?zAKXj`L2#-yen!iCT*ZK}6S4EBa=04X<D
zh8u7R6QONIu3{ifq`N7)B~`U>z^>r4eZClxd<=G{zd?!$vnT@po{M8FjGOmRU3;gm
z8>BXUJSVR(!oGM6VZL|F$~`Z7^Ws&q?E<JV5S%fgleU%&MB`5HieccJ+iGN<o}N^U
znrtq&j&NiG3$*PAkiiCA<6v+g+FwlJ>nDH3Zq9pLgrBA}y%@;#Y9(0e*>N~i729`^
z_IuiD`glIhivz>~NT~U6F1n_aKJtI*u$RwN3h{=hOR0PNb~Ox9awWMKBp6a!zXYTn
zw^l8v%L>9EGi&SagBHk!B_eqKI1W*Ks}Pa|()nrXC%N&mvcCQ8_w_Xa`=5<}x77im
z9OZdjR?YH!zD($iR)eQ#E6WHfYyFv}!2A^QK$xE{k?l;Bl7kCkO#+g>1C4Mi{9q;U
zS?wttXXl?@ARmbEi({~r_1*}5^*q`Wi&%!7egStkJ}=yA8`aJ(4BCeZKEpNTyl_Wo
zkz_Y7GRaCLm9P4K%kVqdJvG`zNM{<C2qF7P$m?VY30~64QkI&jWx7nYSL1pWnlXD5
zIiQOo^z=O)P0bVM;weavn$rZob|=SvbU4%@C)ZIFoM>#PkBzxIacf;GfNRJK8gWt>
zFSQ8XP8Z9lsdtfY5fq@bc3a}hEnXatODs<dlWog|;h;Zb#J2e4g?6ciWsc5#SjEX#
zCOp?@E6ELKU}fif{>!Q2=MbshPtaU~V^#rPg9l?6Q4{_*1^g`W=|3nC17O_Lr6B|y
z*dfOyCfmV0I{D7*nNvE__h@}%HTkT!x9}`}YHWXYP!b4ilp@CK)gjZr<%j#maxBh_
zM&DIHeJXtV|Fi&f>}akIJpxV5clVK+hRGggXSa_1AF~qH9+Fmin#T=+Y}vg(P;}X6
z)V{NIFl~>81b(~G$CTxZhfg3Dyepz5o_wDU$w=4!dN?=Ok-=iTR<?8uY+y2Y>$%%(
zRbohMaR3)=kK}gwG^3-U-uf*bw&drNO=iuPGQT?99x)OPYb|GI{*brkn?Gxr-NHFs
z_8{WQ-f7eYwIriWeM(GJ5TuR2!uJo)9j~5LnIT-}YYZ=fayBHQw+s^_@5crJ@{_ln
zK4QKZ(u8U=AdE>WdX-x8?T34?{?gYplE9Zx`{HSCzmEM!iF)Ye;q^0P70E;Yel5)s
zjs}^wtrtkzq!=D!ac`|z-~ExE$$mduE<_<wq9VCRjET3w!@#jLZ3~j}k3!^hamnoq
z3j-t7Z9;D2lc$s^S!i$OH9GU;%7&S8pwXZ-EJ**+XVj^N58=&2pi#SJp|78^^zL-2
zXT7mnO1moU(d8MPHiOBS>#g_gRZ>y$|1|ZLVQmIYyTPGAky6~9V!_=VifeHxPJk45
zr)Z#Pad&BPmtw&w?(R-;=j8p~@0{z*?>xJk+1cHhdrYaTY5BB<6l(eMz>sM6^SfY{
zBQ$awI>2I7>v>(Qyne<<oJ01)MPIBfUw3e@*d27*Q0d#I`HBrnkE8}-%v3P8sA|gs
zn(xjiZBITE$rQzC25VY}S_vUU+tpF<zu#FPg4`)-veC7}0i<)|y5*{9LpKCu=oowh
z6B!hzYft*IbuvDxLxBy<5I`u*s;%CME5a9TmDi}$xwJ!u_9VoNq&2+c*>K_Q)Zvqj
zmAnSLmc-+ITJiiv=3a*c_^F%WXWEoxy<FvOKxRTtIOiyEx3MuAS+*}GbUw@tgeCYc
z<w7*~0T@qmf%C)!a)jXz6X{&m>3S^wM+DzgR8$sw9<D@Jx}4UXqx-+T6Ba^72GuRH
zWeI}Kw}iOXylI4(E1qq|iW#GRa_-)sN#+5IkMQByScTTdg&-=?jApsgp?vU|h(+*D
z^Ni95V|U&KVV1+Lm6}#JVloOK=n)W1I^a|L4pAIYEn7+)4VYK=qNdlQ6Burh2KuWv
zTo+~6_MXMQ?ssKXW8+Scc8(LEVITJ*^)Hvy;9RsoZ_TZbEkT$6zdx@{0gY)<hI=I+
zr)<6D(hTnH8$LlKdwb}8yu3tiTtjB<8h+{B{(DMGOEY<X(BAng)YRVoT%xK|eb30i
zuwMoV_kVpYmyM-{YB!kHA>pq@G+eGV#X+!Jke<+wc5U;AJBc$w(c2Io&^)b0L<3e6
zKutoacf*QO%nqgufE-=nRa8|qg=zumUW8t>Q9H&;Kk!$s<cpg0=3%iC>V0?jD)jf`
z#)FHjH;n!SEE7Jz-?Cs{+{fYsQjc~@c^sUj!&5Mz*VkT#)Qq2era&(4kE%AWEKSGt
z3tbKY0fCci4|VtM{{F9*ue(uLRXWF-V;eMb9sJn6z_)U|;orckR~mcj^;=E6aCToQ
zAtZp>d6Nnd!)E{UR7?>f;W>xvYxo0Pui(CL^ve&7W~zZW?=woY7=Vgwr@7u>F!Ik{
zY;~h!LfH*|V|&OTA(gm2fmo21PPU)@pZ=Sy{j?D-qlCms)^<6VV`RQdr|*X}%lqSn
zvMWthzARC<BON=%VPxGEc6PqIk`AA{OzTC43MD5e3cezZ#g-_U^#4Gd&c!MStqLKu
z=IuTmZ^QEm2;Lq^k5?UQic+@{wWn}^?v2kP(s=Yez+8!FB-lOwPVuL&+Q>3q#HVqi
z7VD}f6Wk;%r3>Nk^LI1;plACwEN8=wNc6s&e@QIXpOlw9eW1-Bi)*1OC8RjR!hNtb
zZIL%l<C#+a%j?UdYK^jN?|kbC_O8nCYIHgi_sjc#zoMhw<&?6luC7{A<>irye;j*=
zo3bs*Z^1<j?-11&K<^F2pV0(jcuxGx&EEP<v@1A3{50tOp8t?Sa*H3%j)QeHXV97S
zGFyoS{bX=ylh{V6KCiQqLY`Y9yTJ%0I6)pQsPI;DNq)63H^l=ND4AOc#b>Fjq20YA
zSq`6o<#l0<<Kxd+tchdvuG$-tHrOm)mc8=MR~sug>5a0D#aVI_tFCprJ(YRs2L}gd
zzyZqfHj^wjdspSI6~<={$2iK_U}1AkB4ja?pFZ=0w}3MC*2B#>_G2{*8<y6``Pv^i
z6$8EItpczSQHvNen|{TNckjUi2<tGHY=or8`yw9UNAxk<L#}M4T9Jd6Za8{FIaQs4
z)HX+<$zzVQSMHdUh`1cxb{;SJw8SQGbiXG4&GJ`>I_;007Kr{PzRXe-W}6QGgsQlN
z97qgtnW>c-DX}6E^SK@M+IW=DYaB^sHzE@LD*wdrLP^U_3+M%IQj~nn>7aCYEHb}a
zkch&%*BP8wqBOcpao>!Id#4&K=3+NX0CSA{H4Iv$NS+z`mnn<slA^E;hT)&Et9jW(
z{yy>DQv}^aO3HHMqCZ5^!2A%S_%?`uz)WAC?6tv3N4uU)PZ|neqi;tiJkyhp&&6Zx
z=Cu;6GVf$BdQ>u$Jkb&Iq?w^WVM0l^mXss*lv4Qodw$)wF`S>4HU$u;N?MKl1l&T#
z&;|oeyD}{2NP7OylsdB>VtN^6+^0|9<?v-22pep1C89hHdT5Wj@nP!E3l9?{$u3s*
zv7Q1CA8!qLc7t6lKIctKERPqoge*u2>F&i_KHsm-pue$U$J{U|QGfZU{-jDQ%I`AP
z4!hIKu?nyd#CgnqUPil*^{b@yCQ?j)gefI2)uoC0LFgebrB;g%7-)73m~d<PHNRsu
zAXoZ^-`?q2fQb^Z0DzCkZ0n}xUXcaQ)WyPVLyh<yzi@aSBx{M3$fY1*zKF<lZmDRr
z={oggh3<Vg;R+3TM(F|uF-5{Oi8V>fsA=DOB~0n;0>Y#};8`&Gy1t(ocmJ(%Ml{>*
zC<}Ebv@o0chov~pc6(tn!;s`em7WVxh9%VUG*yM0{UnjVR@HJ5%o?}j&G=Mqjl7&q
z9G0A4%8;4x=k;cP;?joD<2nB@o68MXov_BP8tT~)d|+ZCYn=Pbv?rL48zGA+#FA>o
zW6Bx&b(6d`Uj+sT!XmKA0C9$1)kO2+%jIRwvu_O^YyZ^o&M5-i?;OwB=BIo@06~DD
zzi1jo;h%C%QE+f1q7HNm3E}baiulT?W#XxGL#a^_L$UScDZ}F9<98AahmFp@ftH_N
ze?Lnf&Enm@c>lv{S<K2x%X%0+(R8?3swg$b;E~mW)iL6A2}Ay1J#DMs<v7I%Py=Aa
zG0&<ie<1=*EpS_fX{grpu$LpuOqKAE5+I}06R(XH-@Tfc2lE~)5)IpELge9?2wG7Z
zqQgqKkDc$I!#<n^RfR*F{nz?3V5zvC7OtUMizTA#U*n>?`b7E&0C;Zn7o@#FQYd(Q
z=|ODPO{BL~(gw;$^%$m&eYGWP!{>hN_hvre5PtB(o-+T*^=b}b)<oC#OPeS<kG*s&
zg)v3@l5+4}cq<uVyxQ=;O@>C~0HPCyq$Osnxwq2Q!1!%Z27k^WW*zFDrFq%jK}*jz
zTc>6*Yx{?Hm=#4tNeF=MZ}Hk%JxlcxHq(-Lw5eN|bm91_9XN7F4%0b77@(i%^1}7g
zp#;Df)M`x7&TR7&tt4g5GIm-~Oj*6UMct`(qH*2hb|^5P_i<v3#<$+b*(cQt)0~jJ
z8pEa|cYd^@jOx_H2uTIC*SvI4MCV89SC?nTOzZ>zC3rD7278JM;!{{tmYSNH@tNKw
z3WY!+VKeSYNJgCnAfDRvUZR3ZiL&{W5Y>i<^x2?q^^Tp=juElR3y1n?90@(lv2w9Y
z!RpJ`d3BqS;==QAnb%_lDtt`$0Z%Z#24DN#9y>ycmk;X6+Uki|^~mIb-uLAJ7?@9j
zRekqJDSMZysxge3;oiv-{kQ+PSQv0GlrH3VVi>CouJ1tz8y*Msfz_U}eS{~lNiABG
zXOosmtp`eM&(&&t{+jB}lk_6723r`P?&gk^xmog!IEa?1AuA;ZflR8xFl(tRrwwR~
zih4uMcYl`#Mc=ymUUf6zTE^Gg<}ALTX)H}l9+N{gWR`kH-1jS7EUlABVg{hu^`4&I
zjjrJd*O!-$Pt9E=MMY)Uk~&%N{dA?68U9mjV?!m}x7mdlr!@AB?m_F-f`o6V9*L$R
zDHAtFi|jf}5tP6-WN=tG4?|_S-aD1wHR+G7P|7rtwbdf7XbcMO2kkiH+v}G}+TOH)
zxAjA%fy71-0O<Rwb)Jd@UrBUv(fr=+%N|Zf-S7u^j>(e;fphrq?=9bqU9cSA!kxaZ
z(?j&*w99-Z7F~jhJH*ICK72LMZ4BxY+4<O2`ll+(kHV1h2zTbTsH#J(xskncq)(+#
zS^*vqQ7D>#k3irbv>95UI#$joWtq16(PP)ZmFZ#20`t6eVBi)Jx(tahZ*x0-Xr|ct
zYE7UA({};&-e(I(SxbqK(w)KA%RLkwB#`dl#UC|3YMVszcjgOuZhzY3Zc_O?`jGfe
zCZEB-LKn|th8sa_muUiPG;oI3r{ukq8!vpqq7YP^)@2%e?cGto?UKq&g-)+!4NC)(
zh>q;@qgzpceBgJecH7ztSIG&}IfVdliXnfW#rel7B^$PzgOJ_nS0CZ@*XT~+V}8rI
z#mwMdnsz05`KNhYfcQ}qZ?`jbdw;hKg(6;%2E!Unj|iic*@+PJeG_q`YrQyaz(%M@
z=~(onKPz&;(T10SV!TG%DZ9}p$kfzSweZ>b%j1ocOu|<Nxk^KG89+VBlSoAW))|?Q
zo83cm&OX78bs#2N9~jNfZUSd@K6U!D`#vf)D#r1W3a;x{i;FoOWf=;I(}A~c8p$xt
zyI*Mf>rDE%rst73fIuCnhP}H@mn7<NmbzJR_iro)&wg26>XKG*!zgnLTCTUd#(9_9
z`my31Ze5$l*O(Qnce~{Ld0pnmJOnCN<fpqT7|7)01ZJ?<LG2311qUhlc*kH~_R4HV
zJZ2QZ0L>5-z9_$Qmq?$8mF(l^`HfVLV@@Tf*G$`|XPGTl6n65hJ)GBK^f}ABz)~~x
z7lS^5k@2C}B=5LL^2TemeY7s${0sX-DeN7ooJj15$WjTDm;}a<bpT2jeh+X3I!41i
z2<hAf1cJ->HOjO~8i->LClNxsk^3=UVU8G+WfN{DZlBi=2e)TV&Y(N~LzfA+96Vgy
z%fV}0;@AOKzVox9X2b^Nfmys*jS@ed+gMqsKIx?F<PY<lKIK1G&^V1VoF95}y6AdA
zfN0{|c8BS6u~7fX&Y}e>90yGL6tCmNDP<m6wxPwFH-B(9G%rZfS_Rm1AU`R0jQhOS
zuum<Bp!DXw6d!@T;-MIdtp#J=TfdDJ=$ncSv5L3D^XQv_MnuaLf(-Ei^UvI*Z3MV`
zEw%|_Ql*b8ZLK0h<XBW1do&QD4zm{VO2REI^}lv~y2{?;C%XseG<_datjI;iYU_<8
z43|6FK|lILuE`i0gBFBf$*iSRCb8}V#Xl%lz4?wF&n85Qv)@D+_jXg_aAod3CU`3d
z#=bo;PmS3#@^`<=7or~QuG@K{8;oemDt`oMwYYBb5M!hbrLu|ewqF0<?Dc+pdg?L{
z(MNnM&HL-~XlXO$ha6GZnXASa-u`@45rVcg$w8{9r1*)Mnc3kzC1Gl=6_-m{70Im)
z`?7uJ3!kEZ1Y6GWUC+P-yt_0nwKZJeDAFp;wHhvs?!?`4-NRKN-|ENEUKJBa4%bem
z0!Jkx3ZkDcuDY^J_Hx(z`_Yjs!cD{==}<(}fm3~Aej%2Kdi(t^rRMc%Ei=C^;;)$=
z`mckwIOpik31DKpZ&8%THQ>cY=WMeR45sm~?%26XT$W79dE;<B@8dW#z~fvY0!?Uo
zl<8QLiOFYFoO*Y4WZb@wCa?L%q=G6Wm<Lh(CA+$15U0m6fRi&#j!O_x*6QQWF1Nfl
z^~U$E3qKnq_bZm6XssaY;=RI-KdV(eNt-3-;eBr0nsIFQQ~NZD*s0x`SSQ8d9#dm6
zYZ19w)ErF;D^7f^=q(!UD0}ThCYF5U_pyl*W@UDGz|Is}%y#p$i-L84&x(_<NXN?7
z2Yj|9#UiOqrnp5!b0q10KQxeR6`aN%X5_z4y{Uu&n*H&NrqSu?tD0K^xj6c4GC~tO
zUBP$>^qG(A4&~l&CzcjLG|Tp$CSU53UN%k6A9*)q>zu#QL!>O^x`2d%O>qqWrb;y1
zC-!n63vZWdGRz5mr0#K*hKgLEACFQgVGg>nb&cxgImh37Jv?lgA4b&$PJkHCPp)7C
zu(|!gWjr8nb^VZ_vhqI7O#QLfBQMw6!~f7bs#YX<aAnB2!{3<1cU(Ef4TV9bhamd*
z{+`OMAo#1r;5DUK9t(GTlHXO$`9)75y%>AOwvPyl+Wq@*3CbCD_Rr){voa<jHSoS`
zcE|ibC!G2Et9z-gW-s1!WJpa`FVOIBzIqeWlVIGF7cv#L0PA-`s0P8e#FXVM+##C6
z#DMvx4^52l`TOvJQ&gb9O*07)^!e}2DNQtD;b`6!T=*u{>41a6q3~HZOI*ClYa?>f
zbu=mAq~GOX2(IOY^zT2&XuTH$uv4}|L@2^JoV`DZZ=@8izpx7al9pzGiQH>}Ip5yV
zVfmIJ;?vO9_N3<-Y+t+5MdwQH0q7BoMUkWo@AEXt)1xN37+UdS&XC~^a2QW7FIU`7
zX4dt0?h8@pZhbKJUCdWxwRd+dz&vAh^1b{X|7(u!p5kP+A0)ukCumN{_=k6y7$zBr
zK{CAP3}Ua>e&;VGjbRSyJb&sc3XZGFtXMU173U8zSI(=mE0Z}To2|VzP(H{qH^oa<
z(kwWBr*(%t`^8;{550|aaOa4ROBCajbYoiXXXW7KZU4j+(4x;}@Mg8homX`St@C<$
zZkBTI;30t0BVPUw5Tm^}B=r2$n7r9#fPdoqfR49)z0dXevXri`z{tM%Huk0~27-xm
zFvBO+tUvKCRzonCQln6Bkeob97v$IZmz{avzls<P#LFCxU(H+I?&o?_-)1T&pdCh&
zsQrBYOEy#ZvkN|CW!BB@+s9)5xGQJL%KTI@aLZDz&1ij5f5x7m=Z-wCL+B6~+U>a4
zY^OXqOX?$9@#<2)OGJNsKcE`@Vt`?cK)838<j3BJR%<aWO5p@Kc#v@N$@i;^Nh?y;
zCdg}acje$Xof}W%b4n1W^sMBcK6c&P9ZB&E*p@vaPO)@)^<bv>`;EVz^pYnY*F!$$
zuHTt7&W4Ok#Bxh0aR3DgNkj)+$1=id(&@1OP*`}kg*(Fo@#ejnywJ|*Lj8GgsKP(S
zxL|6YW}-@R=`Wz|vgyc?rK9%QI*qk7(@b4J(iAaJ@&3vs7NfVD3@WaW&>Yu<LXJ;N
z>9AH(QGeG=kOXQMK`Zh8{u#o)+Hp*<Dg?ObqXehkeXq#iq4vvEj|(<e>~eP7-Ap9F
z^eJ~+p+mfoM(~EQzKHZ(@OPWT$rhHM@r9aTv6w9}m|cb4*hO&hUJT%w89%VhO)#ds
z^s({p8HWOu`-t)BO+#D#ag^er2@ZS)DJm*ydKe1YlXAec%TxwUvQ7&ir^{T6RZqL-
zK|kD!Z$y$_m|i<r#9}jyNygs4%O(>IP|r0m6<I~~khLuD@J;Aktke0di2EwM8Of4Y
zh;AlnKZ&90Y_B%gPiJ_q+se=CZJ`i4N)BoLs{M+jeOt!fq+OvAuuC}7z|hVWkVDCh
z!yMurS|0$CEMPl#rIs(#R8e7fAZ|A_@buaXcs0Nw<#M;Uj!0$~I1-&LuaC;)Qu41J
zReJnUq?`(uyT|lMt;ceAzDvQglT6?7diT73b_Jn7-Ka;9nfHjpjY<wNXCPl@x`A9c
z&os;~GF)E0>eU$-xZY4gHTX9FU;`B;59ZcH3Sa*2y%4m+Y!T3%Zg3mHoXME*tF05@
z?|c+LHERB>k7n`7(UtEygUWBKx-<n<r4cdk^L?5@ljB()<EOao=JYOlU5s8J8q6#i
zqoy$-<##q+|LJ~8(`WwggGqR0<>%S<7ME@0QQcMNojNk3jpMgV?Ec!1E-%L4cJ|Al
ztiCNsS`EeNJV&vE((0t3;vYoVlyE_4GPDu2xQ07y3@bhGVebqs-M>_IehI~|suFH7
zH<)cBMNxH|Ir|L0=4(3FNRKg88hW+h(VcS2m}YKpXbh7?LWPSp6OWQ-(PM(r<fljI
zcZnKKR()w66szSp+#D37HR8p`%rTq^+1@xy+~>P^bZ<N#0@EaeNH;l3KNVn>u&13l
zELDi4B&xnRau<+7q>w|q5wZ5T@iqzNQQ<W|?RqYE)=ZhPUnhGU5VF3%tp#Hcjj|*r
z*s<xiYP&EB%+|-|tMdW~y}&c#uskVL>C3zhE8}%JMZCi8y$?~-WsXUQid^rMrm$#9
zKAjs{Fj-JRr(hmULKQ}|Jbpu3ESt^QW*?#R0TBbnkbDFg4U>}ade2aP_)JQn+f4V(
zq&^X?v%x3ZXwBJy^5>}@`{jxGr1j2meGDX0xiSFUce7>^Htev-<e<snTzA$NYLt2%
zWLcExtb_75Com%5t7!%-ltsjM@n;D~kN;z5Ny||WGo36bPv3?8felp63$sbSihld`
zcL6n0w>f9DB&~$zWKeHl)ObnoQVBGf3`^agOJ@!I%tq1Z_~PMX$+@W6C5_SR>~Zyt
znaj}<?=MR)s&g=^{R|@|J^euW#Z_{0@_;~{*lTWYQpUQ#_9A59$$Knk%gu8R@t2+_
z@*?>6<6Qm3u(7GYpw|*-HMU#>+6c8)p4k|}+NbCBRch~>=@d<vZPVq5y0%o@vaktq
zVHzv!Ot4}b)m5j%A9)e_rs~ndMJ;`>Ue!Tc2u5Y{xbB#)W7W2>!kb`Yv*5klD&35r
z0R-kA5Ck}I*^MoP3qz?OG6YQ+2LFICmNfTt&1R}>-%iv)fz6^9>|jJfHk*%EQ^g@F
z7&seR+;<vUsg1G3{TwM@0SrWTqO(fX^9<uTLJXq*5<R{iSaBt_+prpbp3_!8M3pmS
zmfF?S@cP*v9xE*E8ob-;vO#LWt(RAb>)=_QmGZD@KV)I%{0K{&M=Pb-2fB>%VttyJ
z?2pCtNuUk`X{UzbnCfsLUa;{YUnGeXE~($qynz1JvVgt@Gx}*3e7Rwf738WQe=|>U
zT}<_e3}>crA7wRXl77Rrh;M#Ppsn6zrdviTJNdgTY2uF`{QEAyeplOvIg)QZ>bwOf
zv39w{(Ct!$8AQ98!2*lsS&be~=~FC!Fgx1tW~6CX=$s9Y4?l9UNq~Hv!6o7bzGRnd
zmEU8w|Hb>;?D@SplBHp`?CVM>46v)V&j)(CjUSPv6WM#%X^`%2naqbx2CdtDOL3_5
zjw@Ct?vfT>;O#O3vLGL8mi%tID#b+CNqMu2yVEz?`j+0}I<SAVi26sw-<7*t1{d4{
z8+U-D;_?OpoT`cz4x4nE?MPz1QmTWjfl5IaKy{nBGI#5o$1P7kA1lyg!{yW{js1p6
zo;G5GVad^Tef=WE*ki8wZDtF_!{g&{mRrH_u;O;pI?I>jv>!E$uzz&#GMO)7k`6c9
zubao{hDG@43;_KZv`rW&cSwYRfYD23M2W0%g!#()J;dp2K>PzQiiU4M-z8j5dEFk%
z1(}~}e`RFO85sjr4f1hSovCGiB<x+`BE+|ZoA5gkD;~*gm46YGG}SD&LCjtCm%pnn
z5u!5SU$r*%b3{*0=ji0_@GRGvAm5RbMOedD8>oZHU)IuYRWEa4cI-+{KktU#qwG>p
zS)x#Ttwo)+=X|d9PK|PyZqo$z(2GdMZMrtQ%6r?o?AC{o@67xI-%PB6Td_;WT<^|S
zowmfX#DqjdItC|8<XJ}YPbw=DLhn^SaB^{qz8MgfO$CHA3k^tKrcgN_4?2{xb-s_0
z!6H=>(<gjsVTJFj=~hDq+P$MZe^zX+cSAH>5=Q*?riaer_V%Yc7wM?y{MM$}|Jrg<
zG%LG^cqt=yx^4!=B#F$pPLnH)K=zHy2eruR=ZLkRw&=8E-tq0x6OT|mg?~rcr^w>t
zbu?VqVOINmX!4MIe_U>N3ltM1?&SS_Fmh|S&SjR?@rUY|BckRYpbdQSG7-Dv^Ju+`
zh(=XSdAD-8$g|tT<JMVC8hvK8=KV$2+nx*nbW<jU1N?+pTyt#quCIY(Bz&)xIzj^t
zYo<Uo5<XuK=d~39Dg7?Ln`5}E^TTM3JISe|v-s9Gqta0!6jBSYI09F$uC>H%B;viF
zEym7E4L(cwTT=@u;jhl7m-w>=^>YIDp=JvMjmg%*RcghzrSEjieCHMZ$-9)PCRk?-
zFin!vTmK)o5vIpG^6l2wdLT>dO@C|Dd<tkf^OuK3(a*UqZli_^@9<qN=Y$$=)vVrp
z=8lJ({xPW!j22;sL?DFm!j>i`udClg^hV$@uFKH~3l@TeCdkix=CRV!k&mn+!U@SP
zj}>KrgCMsSm9YDLezxs{$-XA5@t?1kcLq)56C-2Vns}DlY8+Ad3(wEbQ6g;~IsQ(U
zZNJFG+)t`rue9e!TXCBkpIGI^xH0X9>nH*Qzdrp0EER@Ten5+F_hQsaeGafGZbsxu
zOt3QMHuc>k>B{2UNn`AroByGz9wFrQCw|_^aI?*tokT3GB(iN&dXJU)4WycXW@Tin
znIdy=F_fOk!KLMts$284A;IS*<Zh|f?CIBkA9<zNq<ee>Rrq@8mS}e%B*RsESvm`G
zK+pCLYLU%q5Z?WsiceC0+2FQ&-B-!ZRY>-@p(b;dW=^mI;XT$`X7>}j+%A8P?sqG)
zU`!lH@H-lrzN>zYKTA3$`E+Zt#<3?=K;PBM_I}iEHnz4t<Y+D$4gh$c`kx*F)7H)`
zFKQ%TB#bKSCQa{e{{G2{V<3NMFfvtBi%VfOxIJ8~(|wAdS8k_BW?-eEDPR#0c(8hm
zo%sNZ(SnyzAA(^?;g(E{?TrYWka2_*&Q?YKkUUN-HirYOJTl|&dkFXds`ze`Ay8aQ
z+M!R0Q>E)13|Vz*Wk$t4BKokGbRz$m({~Jbpkq`zQ6-eJZ0})POq<Qq=k)YxV|J-}
zV$W~3%q2BNHP<HT-FtoxZ*gC6{GDe0S=KYPegplQlSZBF*R1+O(=VZo6jMdxMmnzw
zu|eA+)7eI!TN5%&j2HNU9laxBl~<^zJGyPj>O={ASWkn7My{hJ3KNNqWU+dzmo|xe
zYmdxACPR)Q=DXp6DN^>ct699qWh2W_{|e331=2~s$Gh<<6MVl#NOZ<`^V0#xhbfxo
zf&e4Jm<S7XZHaG_4XfL0){MQ8axW@s)+P)X1w!rMjVYJ}Yrea@nkQBMjAur;M}v(j
zS*T&V-4$TPO?*WZ&a}&4O-S_>8K7wxO#C7sFzx)bLlB?S4u=h$kz@d>IY0OSZKLyU
zB8n&zUJrRhHZ<Mb&D+oGd8MvClyq!zz`$=yYirpVcSL<MCD1~FvT>VIn}+7t>pM1i
zYWr15j0co}X;?5q{J4?mgonoGq=nrN&R>u$ysiBY2MR|9oCL-Xv-S3pxTl}Vf8mq9
zxJKP=>3(NgV%l|+vZ-T{gz1agSGrm!B3^%hSX4H^oCGfilQ>(8**{9lvdN+Do-W2;
zyIK&?g8GWye}XaM6{c>xjI$`1j<#+Gni;b>BJ`<+uWQ~Z6YKx*5u}0v8F_`H%e!pn
zbWQKAt;w_QlE0X=A^<c6eFR~*TVsi@m>{3s#g=wZm5I%6L|`nhZa62f{5qt`k?g?}
z7pjp;aknhU4Dn4D#v;$l+GNkOcs|ZS1~?*gmof0dTLjs+K_wot*0ZkBPHjz45RaA_
zHm2?ha!(J=#W(M)RoY?r9TDI?oBl?|<u=ahLQ&4W|KF-CTI`L9(IYp@9|(ZvZ_|dn
z_BGzCW6LR3joyYWs4jLX4_7$nAB`T&Qzo`*z)|?sHcGI=JR`H+v8Xh&zK1_WV#r8p
zn@E(E)mH!9FB16}x$eKkB~To;(8deJ8lk@K%{$6KV`kpBb3IW2c<O+ZJ;_^5>S^~G
zoP3pZ6JE`ZaYh(gTD}jT4u##!$PpIXeL9wYX74Za*`tJXfbP~-A+RzNLoDsB+hk)M
zBOfe`m-r3#R%d!Yg1R-3=^1Pv9-h&Ut)7!1A#RKH;u+(s!otUNM&P3+b+8FWV-qF_
zX8-_b!rdoj>#X4;2ak?1B>y?yB9V@F#Gdp^KV=U8f;E5lIq))5vw=D0RVG%Dr251Y
z2_yaa={4Xld_(!+eSVP?!$%o6!Zb0z)wrc3Tps(%D(_krNtWpN>hL1I(^=y~-bPdR
zw|`+(Q+2H9$IZY;Yx0?+W|OsOcAx6~iaSx|&*eh}nFp(Gj|q7|NApQOb`|Ecp9b>3
zg7x{;x3TextkSoiI=?J{ub=vv@5rYuTLc?*BGY-QSBf7BzPz>1Tlp5B6;9T4UGzlk
z<0vJ!mTzpmCFt}I6jNm1BpPR(a{r<qt}M8G)w_bGS#r=sSDz9eqnhnd*7NKxDvkd-
zoqavZ{+GcW##A(pClfaBzRKVB$z5Zu<s*VXN-JE0>C<=qJ@-GmRRyYSk;Iy=r%>(`
z&gK&rmC4xEL+ca|-=>4dICimEV0j&boN=sAptT-B#>o1!8-A&ae}xZ}Sny-vX%0Nd
zWC;;hrrR$dT1o8~U^@GZ)QOVnSY{_y*yOrmP_Wt-iu7*vBWI@Ttt|ld##`(hY;npq
zT@kF__{rTY&uEWQkfJ=?xFXLLt~avyZx<v;Wfk;0jrmMG_3y<hIQc9mSmKn=xumQ}
zmfMX_MP>1Ej`^_SDTWAMq~TC8-is{Wt4~=@KlZO{V`g&Cy)-nFPg#+lHA{b@LWGdB
zYwM32=9ytI`~S@p0IywGX!H2MzCsc@t(?)WRHrY(Y)op<i$}^d-M``6C7vtQSk~c7
zm*oaf)^+xo9>1^-e52vU#)htaYVABeof<W<cuB`fC!7S?IceZfGW6f>T1t^dvxI-M
z@VXrm@<>Rj<~@vx14v?#q(<;+XE>Z<^=Tx%oU^3<8W-g4;AFQg@lk6dDA?*Gq|vw^
zQK)GfT;t7Eo=u5ruX})f?Z~CIvKY<Jdu|5mR^#Dqf>TNxoqKP#RJ!PMH7GZK#a2l^
z#p(DDL&n)4z$fP}Z$g#Grmk4r=Xelm(9mDDj1B$T+Z8M<idI?O0VE8Unm8QV*u!yD
z3K9Ra%Nh@MHO>;?@Fo;hev*XFyNmqukR!N9Mt(p;_Hd**TxzMJwfZXN<wBtfEsh8N
z)Z6P5uz3A<6`mAbRxI`|>QFk=kUhdMUUh_F!35ZD;L~L6*V^nxIAgRVZyUzZ4m%Zh
zWYgBht!9csenZy=Uyu?}0d7k$xEzQR>E=W%>wb#IdNxyC)ckN&Gj$<u5|qJ8P{7z{
zxuee=X>ISg+Norn-T77cOO<sZPB68cjy_9|w*_H5@7zD~5s8#K#Ds`G?+yNiq`xzg
zd8CjKNlC^-izo9aMhHiaW5m7!VYpnYSLn@^<5a~j>uvHX1bqxg2krHFt)J1;cdO;?
zPtc<BXLLED=vO@9*XslrCWapVf%k?1s&|RARZF&lYKALgDt1oq_vjPu7JF;Y0hAOU
z&i1yDN-JlvOoO_NoM*P@GRcctlrf2603M-uIOffi$PA&pbPIcW<rrXxax$zF8XZK8
zE6^M}Tj^M-Uff?ccM{O?2qzC6A69Ys6xIok-8mh+Bogl|Y=0=<y`}th+ft`QoU;dj
z{<+C7@)8q9cUG$+{M}5Z=;pgToT{c9c!~m(`byK1AFx3U_}=5lVx6!>+u~4Ne~fhg
zp%ok*MvHyMX&AGOl^sQ>9Ko9=uw=T$LXWO@R(4Qc#}uA9^La$ujm~HCGZ>b_Yia6d
z7yU>Jd6iY%*kH!p3=++j{!S?-A?+DY`8$B`i)Ibsn>Ft6P)RuqDAD#nKg{pJ-Akzs
z9|3A+Ms4T9lP4&2lIK!7U*Mqv!!#gG|J1O}Vx>ZHjL$;z{glAYfjMgK>xas8u;N71
zT7|PN;m_2M#$F#YepPJNvT}d2Ce-?u`hy2SSQsJ~xf#kw<!Vox)ZCQhEhF9H75>nM
zGJyC)<5xiFXJr|cWMjX!&n7A0<$U&`{IN&ZJ`KCj=5K(~b2tx6LY4ascyOs&r2~~Z
zvW%i%dN?d#03B!KrSNU^bhiKTXlsUAN=BvgOUZCvOgdhlhBhj=NDZ24mCY@-84A>5
z{1>5)+<3T4B9PmVA=k`Dm7s{4N5VvFNxO0HXHNo}`@%o)naiqUsIWu#i~Ezbw;TA#
zYe_G;r^b~D@TsXp(oG2#V8(qeghkx1f{f8Lo=XO1$uxNrJ{aLV>X*k>6wV#F523uX
zH*@=vQnYcOuLkHF;=u3?g&&Qh6sLCS^#ecu!K0J?P*P-5SU{vT1kSCFW*~PH_#lJ@
zqqq?y37{-0JUI9oJKixHu;9l#g`uqp(Q8e&NYemlA--=cDA(kbgP+2L&zD=Gjd}OW
z0i{E*Zp~E)G$lTsM)%io6u)8w7ZFWkLe{i&be0CuJ4)6|9O37vudfI>jIzT4pCnm~
z`f9HcY+DQ^vMzNJpJalhactZKqVq`4GELM=PGiVrzs#wZmNi>wE(Yq*+<ScgA1cX<
zF34@PaQIX*E(*72r~NYBPl~?CAcim(&Vp^cSrdpZ{fxS|`5&?^h4oND+Q6BbEUs<Y
z*9rX4;gO}-pEaG!-XMzpU3dFTyw&TH=I8$o8%0w?4UpD2J_V1ss04q})o>CDEK*iW
zahoZw<y_zU{{|f#tKdMTo7<g`CPk+slCz_8N~d8`5Hr;jfPrBTIHSG)p=q`LAJRl$
z8&ZjtiE=s54Li;e>#FfeiH|#uU#Oq1{_nIBQ8X9`X&zh^(KYyFKi$f`*U?Djq+qbc
z93P2<J}aY_=l{@A5PuH<r6uR)mWvcrc9$~)ixj8&i&w0-?gfv7Er});_1_;7XY%)e
z)sP#SRA5~^l2%10O$CEFwcxiZ(YGSdX(_RpAJqSMd4FM;A97(|s|<NBS}9xWlBr-%
zB{N(KhyJod;8o7-f2SqR=C7S~4Ck~Z`78%aBIjRf6%Gnj!!Wl5{=W&+VLclX&e2FH
zQE@}fk=C(=|A#P@N%OpkSJVHyXWt3rRDvujCs?hj{{5$C$EfLC>c4{j%lJqd@yuBn
zU?!l3I`@w&BGbS6CDt5E#@yKCXU6~CNSiHGD#X2XjfxQ_gaX)FB6j`7<29H`-Un{0
z{{8P#NuzRAX5eeojFR4M?IBcs+M6z92aJNS$*2+x0^SX9$mYgsH&j$}0P?UA$`Dcb
z(2)Jt;IZHRM)B7zvy{;74eAU>K#vWy^b+FwkA#vNlZxn*P$ABilWbTQ@l(sA!MOap
zzRcJIK74ay_FjOb?+23Jz)7t)E+X<fruVSy+=DfBct4AxjeVIwy_k^C!6AB~L6YGJ
z62goSyU#2?#{k|4=vG|t1xOO#%F!TMRY95X=>Z@9yKmrY3NJ(}zsT95P-+4B4&spN
zYn_fW#7xRRZ3<4u2C<faco$VuAO@wdJZgtvi$tnBF5#r^dvn~nM?p?BI8L;{Cg>Zq
z-fmq3L(}*MkS_bTK48rU@jbP{QEA1dBLb`z^SH3^4SJbwsAjcNM#b9-Hw_}GJzOY%
g$waa+X7n2Zu-=ti;pEI1CRhLk85QYjNz>r}11(l8QUCw|

diff --git a/customize.dist/openpaasng.png b/customize.dist/openpaasng.png
deleted file mode 100644
index 54168332cd3bea1eaf3b41be53a50c3e8088f8ec..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5929
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
I(kSqM07I6Yy#N3J


From 8ab9248a78c879bfee16fa9cb19769ff89aa5f3a Mon Sep 17 00:00:00 2001
From: Daniel RADEAU <daniel.radeau@alterway.fr>
Date: Wed, 31 May 2017 12:42:37 +0200
Subject: [PATCH 188/236] Fix ES6

---
 www/media/main.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/www/media/main.js b/www/media/main.js
index 804eced6f..bc861d699 100644
--- a/www/media/main.js
+++ b/www/media/main.js
@@ -30,7 +30,7 @@ define([
         var cryptKey = secret.keys && secret.keys.fileKeyStr;
         var fileId = secret.channel;
         var hexFileName = Cryptpad.base64ToHex(fileId);
-        var type = "image/png";
+        // var type = "image/png";
 
         var parsed = Cryptpad.parsePadUrl(window.location.href);
         var defaultName = Cryptpad.getDefaultName(parsed);
@@ -105,7 +105,7 @@ define([
              *
              * @type       {Array}
              */
-            const allowedMediaTypes = [
+            var allowedMediaTypes = [
                 'image/png',
                 'image/jpeg',
                 'image/jpg',

From 82f5d3c96f6d55bb3dedf0e7a3712602bb335c40 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 12:51:26 +0200
Subject: [PATCH 189/236] abstract checks for authenticated RPCs

---
 rpc.js | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/rpc.js b/rpc.js
index f108b1ab8..8be2f1df8 100644
--- a/rpc.js
+++ b/rpc.js
@@ -785,6 +785,24 @@ var upload_status = function (Env, publicKey, filesize, cb) {
     });
 };
 
+var isAuthenticatedCall = function (call) {
+    return [
+        //'COOKIE',
+        'RESET',
+        'PIN',
+        'UNPIN',
+        'GET_HASH',
+        'GET_TOTAL_SIZE',
+        'GET_FILE_SIZE',
+        'UPDATE_LIMITS',
+        'GET_LIMIT',
+        'GET_MULTIPLE_FILE_SIZE',
+        'UPLOAD',
+        'UPLOAD_COMPLETE',
+        'UPLOAD_CANCEL',
+    ].indexOf(call) !== -1;
+};
+
 /*::const ConfigType = require('./config.example.js');*/
 RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)=>void*/) {
     // load pin-store...
@@ -840,7 +858,6 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
         beginSession(Sessions, publicKey);
 
         var cookie = msg[0];
-
         if (!isValidCookie(Sessions, publicKey, cookie)) {
             // no cookie is fine if the RPC is to get a cookie
             if (msg[1] !== 'COOKIE') {
@@ -854,8 +871,10 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             return void respond('INVALID_MESSAGE_OR_PUBLIC_KEY');
         }
 
-        if (checkSignature(serialized, signature, publicKey) !== true) {
-            return void respond("INVALID_SIGNATURE_OR_PUBLIC_KEY");
+        if (isAuthenticatedCall(msg[1])) {
+            if (checkSignature(serialized, signature, publicKey) !== true) {
+                return void respond("INVALID_SIGNATURE_OR_PUBLIC_KEY");
+            }
         }
 
         var safeKey = escapeKeyCharacters(publicKey);

From 5050023b6a7d787a8b8201383296d17364bec342 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 31 May 2017 13:05:49 +0200
Subject: [PATCH 190/236] pinneddata can now show you what is unpinned

---
 pinneddata.js | 32 +++++++++++++++++++++++---------
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/pinneddata.js b/pinneddata.js
index 0bf9be75f..2e8d6d6c7 100644
--- a/pinneddata.js
+++ b/pinneddata.js
@@ -26,14 +26,14 @@ const hashesFromPinFile = (pinFile, fileName) => {
     return Object.keys(pins);
 };
 
-const sizeForHashes = (hashes, dsFileSizes) => {
+const sizeForHashes = (hashes, dsFileStats) => {
     let sum = 0;
     hashes.forEach((h) => {
-        const s = dsFileSizes[h];
+        const s = dsFileStats[h];
         if (typeof(s) !== 'number') {
             //console.log('missing ' + h + '  ' + typeof(s));
         } else {
-            sum += s;
+            sum += s.size;
         }
     });
     return sum;
@@ -43,8 +43,9 @@ const sema = Semaphore.create(20);
 
 let dirList;
 const fileList = [];
-const dsFileSizes = {};
+const dsFileStats = {};
 const out = [];
+const pinned = {};
 
 nThen((waitFor) => {
     Fs.readdir('./datastore', waitFor((err, list) => {
@@ -65,7 +66,7 @@ nThen((waitFor) => {
         sema.take((returnAfter) => {
             Fs.stat(f, waitFor(returnAfter((err, st) => {
                 if (err) { throw err; }
-                dsFileSizes[f.replace(/^.*\/([^\/]*)\.ndjson$/, (all, a) => (a))] = st.size;
+                dsFileStats[f.replace(/^.*\/([^\/]*)\.ndjson$/, (all, a) => (a))] = st;
             })));
         });
     });
@@ -90,12 +91,25 @@ nThen((waitFor) => {
             Fs.readFile(f, waitFor(returnAfter((err, content) => {
                 if (err) { throw err; }
                 const hashes = hashesFromPinFile(content.toString('utf8'), f);
-                const size = sizeForHashes(hashes, dsFileSizes);
-                out.push([f, Math.floor(size / (1024 * 1024))]);
+                const size = sizeForHashes(hashes, dsFileStats);
+                if (process.argv.indexOf('--unpinned') > -1) {
+                    hashes.forEach((x) => { pinned[x] = 1; });
+                } else {
+                    out.push([f, Math.floor(size / (1024 * 1024))]);
+                }
             })));
         });
     });
 }).nThen(() => {
-    out.sort((a,b) => (a[1] - b[1]));
-    out.forEach((x) => { console.log(x[0] + '  ' + x[1] + ' MB'); });
+    if (process.argv.indexOf('--unpinned') > -1) {
+        Object.keys(dsFileStats).forEach((f) => {
+            if (!(f in pinned)) {
+                console.log("./datastore/" + f.slice(0,2) + "/" + f + ".ndjson " +
+                    dsFileStats[f].size + " " + (+dsFileStats[f].mtime));
+            }
+        });
+    } else {
+        out.sort((a,b) => (a[1] - b[1]));
+        out.forEach((x) => { console.log(x[0] + '  ' + x[1] + ' MB'); });
+    }
 });

From f37b313efc89f02c3250cd0608336cbfbd60131d Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 31 May 2017 15:00:41 +0200
Subject: [PATCH 191/236] jshint node=true

---
 pinneddata.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pinneddata.js b/pinneddata.js
index 0bf9be75f..52cbb9d31 100644
--- a/pinneddata.js
+++ b/pinneddata.js
@@ -1,4 +1,4 @@
-/* jshint esversion: 6 */
+/* jshint esversion: 6, node: true */
 const Fs = require('fs');
 const Semaphore = require('saferphore');
 const nThen = require('nthen');

From 087bcd2ea575bff42010e92e78f1e0f5d5a6b7ae Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 15:21:29 +0200
Subject: [PATCH 192/236] update default config with new CSP values

---
 config.example.js |   4 +-
 config.modifs.js  | 233 ----------------------------------------------
 2 files changed, 3 insertions(+), 234 deletions(-)
 delete mode 100644 config.modifs.js

diff --git a/config.example.js b/config.example.js
index be7682162..d5b0c5dbf 100644
--- a/config.example.js
+++ b/config.example.js
@@ -35,11 +35,13 @@ module.exports = {
          */
         "child-src 'self' *",
 
+        "media-src *",
+
         /*  this allows connections over secure or insecure websockets
             if you are deploying to production, you'll probably want to remove
             the ws://* directive, and change '*' to your domain
          */
-        "connect-src 'self' ws: wss:",
+        "connect-src 'self' ws: wss: blob:",
 
         // data: is used by codemirror
         "img-src 'self' data: blob:",
diff --git a/config.modifs.js b/config.modifs.js
deleted file mode 100644
index 1216b3c98..000000000
--- a/config.modifs.js
+++ /dev/null
@@ -1,233 +0,0 @@
-/*@flow*/
-/*
-    globals module
-*/
-module.exports = {
-
-    // the address you want to bind to, :: means all ipv4 and ipv6 addresses
-    // this may not work on all operating systems
-    httpAddress: '::',
-
-    // the port on which your httpd will listen
-
-    /*  Cryptpad can be configured to send customized HTTP Headers
-     *  These settings may vary widely depending on your needs
-     *  Examples are provided below
-     */
-
-    httpHeaders: {
-        "X-XSS-Protection": "1; mode=block",
-        "X-Content-Type-Options": "nosniff",
-        // 'X-Frame-Options': 'SAMEORIGIN',
-    },
-
-    contentSecurity: [
-        "default-src 'none'",
-        "style-src 'unsafe-inline' 'self'",
-        "script-src 'self'",
-        "font-src 'self'",
-
-        /*  child-src is used to restrict iframes to a set of allowed domains.
-         *  connect-src is used to restrict what domains can connect to the websocket.
-         *
-         *  it is recommended that you configure these fields to match the
-         *  domain which will serve your cryptpad instance.
-         */
-        "child-src 'self' *",
-
-        /*  this allows connections over secure or insecure websockets
-            if you are deploying to production, you'll probably want to remove
-            the ws://* directive, and change '*' to your domain
-         */
-        "connect-src 'self' ws: wss: blob:",
-
-        // data: is used by codemirror
-        "img-src 'self' data: blob:",
-        "media-src 'self' data: blob:"
-    ].join('; '),
-
-    // CKEditor requires significantly more lax content security policy in order to function.
-    padContentSecurity: [
-        "default-src 'none'",
-        "style-src 'unsafe-inline' 'self'",
-        // Unsafe inline, unsafe-eval are needed for ckeditor :(
-        "script-src 'self' 'unsafe-eval' 'unsafe-inline'",
-        "font-src 'self'",
-
-        /*  See above under 'contentSecurity' as to how these values should be
-         *  configured for best effect.
-         */
-         "child-src 'self' *",
-
-        // see the comment above in the 'contentSecurity' section
-         "connect-src 'self' ws: wss: blob:",
-
-        // (insecure remote) images are included by users of the wysiwyg who embed photos in their pads
-        "img-src *",
-        "media-src *"
-    ].join('; '),
-
-    httpPort: 3000,
-
-    /*  your server's websocket url is configurable
-     *  (default: '/cryptpad_websocket')
-     *
-     *  websocketPath can be relative, of the form '/path/to/websocket'
-     *  or absolute, specifying a particular URL
-     *
-     *  'wss://cryptpad.fr:3000/cryptpad_websocket'
-     */
-    websocketPath: '/cryptpad_websocket',
-
-    /*  it is assumed that your websocket will bind to the same port as http
-     *  you can override this behaviour by supplying a number via websocketPort
-     */
-    //websocketPort: 3000,
-
-    /*  if you want to run a different version of cryptpad but using the same websocket
-     *  server, you should use the other server port as websocketPort and disable
-     *  the websockets on that server
-     */
-    //useExternalWebsocket: false,
-
-    /*  If Cryptpad is proxied without using https, the server needs to know.
-     *  Specify 'useSecureWebsockets: true' so that it can send
-     *  Content Security Policy Headers that prevent http and https from mixing
-     */
-     useSecureWebsockets: false,
-
-    /*  Cryptpad can log activity to stdout
-     *  This may be useful for debugging
-     */
-    logToStdout: false,
-
-    /*  Cryptpad supports verbose logging
-     *  (false by default)
-     */
-     verbose: false,
-
-    /*  Main pages
-     *  add exceptions to the router so that we can access /privacy.html
-     *  and other odd pages
-     */
-    mainPages: [
-        'index',
-        'privacy',
-        'terms',
-        'about',
-        'contact',
-    ],
-
-    /*  Domain
-     *  If you want to have enable payments on your CryptPad instance, it has to be able to tell
-     *  our account server what is your domain
-     */
-    // domain: 'https://cryptpad.fr',
-
-    /*
-        You have the option of specifying an alternative storage adaptor.
-        These status of these alternatives are specified in their READMEs,
-        which are available at the following URLs:
-
-        mongodb: a noSQL database
-            https://github.com/xwiki-labs/cryptpad-mongo-store
-        amnesiadb: in memory storage
-            https://github.com/xwiki-labs/cryptpad-amnesia-store
-        leveldb: a simple, fast, key-value store
-            https://github.com/xwiki-labs/cryptpad-level-store
-        sql: an adaptor for a variety of sql databases via knexjs
-            https://github.com/xwiki-labs/cryptpad-sql-store
-
-        For the most up to date solution, use the default storage adaptor.
-    */
-    storage: './storage/file',
-
-    /*
-        Cryptpad stores each document in an individual file on your hard drive.
-        Specify a directory where files should be stored.
-        It will be created automatically if it does not already exist.
-    */
-    filePath: './datastore/',
-
-    /*  CryptPad allows logged in users to request that particular documents be
-     *  stored by the server indefinitely. This is called 'pinning'.
-     *  Pin requests are stored in a pin-store. The location of this store is
-     *  defined here.
-     */
-    pinPath: './pins',
-
-    /*  CryptPad allows logged in users to upload encrypted files. Files/blobs
-     *  are stored in a 'blob-store'. Set its location here.
-     */
-    blobPath: './blob',
-
-    /*  CryptPad stores incomplete blobs in a 'staging' area until they are
-     *  fully uploaded. Set its location here.
-     */
-    blobStagingPath: './blobstage',
-
-    /*  Cryptpad's file storage adaptor closes unused files after a configurale
-     *  number of milliseconds (default 30000 (30 seconds))
-     */
-    channelExpirationMs: 30000,
-
-    /*  Cryptpad's file storage adaptor is limited by the number of open files.
-     *  When the adaptor reaches openFileLimit, it will clean up older files
-     */
-    openFileLimit: 2048,
-
-    /*  Cryptpad's socket server can be extended to respond to RPC calls
-     *  you can configure it to respond to custom RPC calls if you like.
-     *  provide the path to your RPC module here, or `false` if you would
-     *  like to disable the RPC interface completely
-     */
-    rpc: './rpc.js',
-
-    /*  RPC errors are shown by default, but if you really don't care,
-     *  you can suppress them
-     */
-    suppressRPCErrors: false,
-
-
-    /* WARNING: EXPERIMENTAL
-     *
-     *  CryptPad features experimental support for encrypted file upload.
-     *  Our encryption format is still liable to change. As such, we do not
-     *  guarantee that files uploaded now will be supported in the future
-     */
-
-    /*  Setting this value to anything other than true will cause file upload
-     *  attempts to be rejected outright.
-     */
-    enableUploads: true,
-
-    /*  If you have enabled file upload, you have the option of restricting it
-     *  to a list of users identified by their public keys. If this value is set
-     *  to true, your server will query a file (cryptpad/privileged.conf) when
-     *  users connect via RPC. Only users whose public keys can be found within
-     *  the file will be allowed to upload.
-     *
-     *  privileged.conf uses '#' for line comments, and splits keys by newline.
-     *  This is a temporary measure until a better quota system is in place.
-     *  registered users' public keys can be found on the settings page.
-     */
-    restrictUploads: false,
-
-    /*  clients can use the /settings/ app to opt out of usage feedback
-     *  which informs the server of things like how much each app is being
-     *  used, and whether certain clientside features are supported by
-     *  the client's browser. The intent is to provide feedback to the admin
-     *  such that the service can be improved. Enable this with `true`
-     *  and ignore feedback with `false` or by commenting the attribute
-     */
-    //logFeedback: true,
-
-    /* it is recommended that you serve cryptpad over https
-     * the filepaths below are used to configure your certificates
-     */
-    //privKeyAndCertFiles: [
-    //  '/etc/apache2/ssl/my_secret.key',
-    //  '/etc/apache2/ssl/my_public_cert.crt',
-    //  '/etc/apache2/ssl/my_certificate_authorities_cert_chain.ca'
-    //],
-};

From 401e908963643c6bf50e3267d806bfb1fe1adaa4 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 17:17:01 +0200
Subject: [PATCH 193/236] use media-tag with xhr error handling

---
 www/common/media-tag.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/media-tag.js b/www/common/media-tag.js
index 446bdd77e..d5d1143e9 100644
--- a/www/common/media-tag.js
+++ b/www/common/media-tag.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(25),i=n(24),u=n(44),a=n(45),c=n(23),s=n(22);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(36),u=n(41),a=n(40),c=n(37),s=n(38),f=n(7),l=n(26),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(20),h=n(19);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h);var b=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download");r.processingEngine.setDefaultPlugin(b),r.CryptoFilter=f;var v=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(v);var g=n(21),d=(n(13),n(0),new g);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",s.getAllowedMediaTypes()),e.name=t.name,e.setAttribute("data-attr-type",t.type)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t){var r=new Event("decryptionError");return r.message=t.message,void window.document.dispatchEvent(r)}var i=n.content,u=y.getBlobUrl(i,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([i],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",u),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(14),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(14),a=n(1),c=n(46),s=n(13),f=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[],this.defaultPlugin=null}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===s.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");if(0===this.stacks[n].length&&!this.stats[n][a.RENDERER]){if(!this.defaultPlugin)throw new Error("No default plugin assignated");this.stacks[n].unshift(this.defaultPlugin)}}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}},{key:"setDefaultPlugin",value:function(e){this.defaultPlugin=e}}]),e}();f.STACK_LIMIT=100,f.SNAPSHOT_LIMIT=100,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){}),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var n=t.response;if(n)if(e.name)saveAs(n,e.name);else if(e.getAttribute("data-attr-type")){var r=e.getAttribute("data-attr-type"),o=r.split("/"),i=new File([n],"download."+(o[1]||"txt"),{type:r});saveAs(i)}else saveAs(n)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(t){function r(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function o(e){e||console.log("no event"),0===e.buttons?i===t.numPages?i=1:i++:4===e.buttons&&(1===i?i=t.numPages:i--)}var i=1;t.getPage(i).then(function(e){r(e)}),n.onclick=function(e){o(e),t.getPage(i).then(function(e){r(e)})},s.processingEngine.return(e)},function(e){console.error(e)})}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(16),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(32),o=n(29),i=n(34),u=n(33),a=n(30),c=n(31),s=n(28),f=n(27),l=n(35),p=n(2);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(15)}])});
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MediaTag=t():e.MediaTag=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=86)}([function(e,t,n){"use strict";var r={IMAGE:"image",AUDIO:"audio",VIDEO:"video",PDF:"pdf",DASH:"dash",DOWNLOAD:"download",CRYPTO:"crypto",CLEAR_KEY:"clear-key",MEDIA_OBJECT:"media-object"};e.exports=r},function(e,t,n){"use strict";var r={MATCHER:"matcher",RENDERER:"renderer",FILTER:"filter",SANITIZER:"sanitizer"};e.exports=r},function(e,t,n){"use strict";function r(e){if(e instanceof Array){var t=[];return e.forEach(function(e){e.mediaObject?t.push(e.mediaObject):t.push(r.start(e))}),t}var n=e;return r.start(n)}var o=n(25),i=n(24),u=n(44),a=n(45),c=n(23),s=n(22);r.createMediaObject=function(e){var t=new s(e),n=c.parse(t);return t.setProperties(n),t},r.start=function(e){var t=r.createMediaObject(e);return r.processingEngine.start(t)},r.pluginStore=r.pluginStore||new u,r.uriStore=r.uriStore||new a("../plugins"),r.processingEngine=r.processingEngine||new o(r.pluginStore),r.matchingEngine=r.matchingEngine||new i(r.pluginStore,r.uriStore),r.loadingEngine=null,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=n(5),s=n(6),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,a.MATCHER,c.ANY));return i.targetType=n,i}return i(t,e),u(t,[{key:"getTargetType",value:function(){return this.targetType}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.RENDERER,a.ONCE))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";var r={EVERY:"every",ANY:"any",ONCE:"once"};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t,n,o){r(this,e),this.identifier=t,this.type=n,this.occurrence=o}return o(e,[{key:"getIdentifier",value:function(){if(this.identifier)return this.identifier;throw new Error("Plugin has not identifier")}},{key:"getType",value:function(){if(this.type)return this.type;throw new Error("Plugin has no type")}},{key:"start",value:function(e){return this.process(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(9),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CRYPTO))}return i(t,e),u(t,[{key:"process",value:function(e){var n=e.getAttribute("data-crypto-key"),r=/\w+:/.exec(n);if(null===r)throw new Error("No algorithm scheme found in data-crypto-key");var o=r[0],i=o.replace(":",""),u=n.replace(o,"");if(e.setAttribute("data-crypto-key",u),!t.functionStore.isStored(i))throw new Error("Algorithm "+i+" is not registered");t.functionStore.get(i)(e)}}]),t}(a);f.functionStore=f.functionStore||new s,f.mediaTypes=[],f.setAllowedMediaTypes=function(e){f.mediaTypes=e},f.getAllowedMediaTypes=function(){return f.mediaTypes},f.addAllowedMediaType=function(e){f.mediaTypes.push(e)},f.addAllAllowedMediaTypes=function(e){e.forEach(function(e){f.addAllowedMediaType(e)})},f.removeAllowedMediaType=function(e){var t=f.mediaTypes.indexOf(e);t>=0&&f.mediaTypes.splice(t,1)},f.removeAllAllowedMediaTypes=function(e){e.forEach(function(e){f.removeAllowedMediaType(e)})},f.isAllowedMediaType=function(e){return f.mediaTypes.some(function(t){return t===e})},e.exports=f},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e),this.map={}}return o(e,[{key:"isStored",value:function(e){return!!this.get(e)}},{key:"store",value:function(e,t){this.isStored(e)&&console.warn('The key "'+e+'" is already registered, the content will be overwritten.'),this.map[e]=t}},{key:"unstore",value:function(e){if(this.isStored(e)!==!1){var t=this.map[e];return delete this.map[e],t}console.warn('The key "'+e+'" not exists in this manager')}},{key:"get",value:function(e){return this.map[e]}},{key:"keys",value:function(){return Object.keys(this.map)}},{key:"values",value:function(){var e=this;return this.keys().map(function(t){return e.get(t)})}}]),e}();e.exports=i},,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.FILTER,a.ANY))}return i(t,e),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u={PluginExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Plugin with same "'+e.identifier+'" identifier found.'))}return i(t,e),t}(Error),TypeNotFound:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Media Tag could not find the content type of an instance.}."))}return i(t,e),t}(Error),FilterExists:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Filter with same "'+e.identifier+' identifier found."'))}return i(t,e),t}(Error),FetchFail:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,'Could not fetch "'+e.url+'", received "'+e.status+": "+e.statusText+'".'))}return i(t,e),t}(Error),InvalidCryptoKey:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic key."))}return i(t,e),t}(Error),InvalidCryptoLib:function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Invalid cryptographic algorithm name."))}return i(t,e),t}(Error),FailedCrypto:function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"Failed to decrypt file"+(e&&e.message?" "+e.message:"")+"."))}return i(t,e),t}(Error)};e.exports=u},function(e,t,n){"use strict";var r={ALLOWED:0,REQUIRED:1,FORBIDDEN:2};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.truth=t}return o(e,[{key:"is",value:function(e){if(this.truth===e)return this;throw new Error("Assertion fail on : "+this.truth+" is "+e)}},{key:"not",value:function(e){if(this.truth!==e)return this;throw new Error("Assertion fail on : "+this.truth+" is not "+e)}}],[{key:"that",value:function(t){return new e(t)}}]),e}();e.exports=i},function(e,t,n){"use strict";var r=n(43),o=n(39),i=n(36),u=n(41),a=n(40),c=n(37),s=n(38),f=n(7),l=n(26),p=n(42);r.pluginStore.store(new o),r.pluginStore.store(new i),r.pluginStore.store(new u),r.pluginStore.store(new a),r.pluginStore.store(new c),r.pluginStore.store(new s),r.pluginStore.store(new f),r.pluginStore.store(new l),r.pluginStore.store(new p);var y=n(20),h=n(19);f.functionStore.store("salsa20poly1305",y),f.functionStore.store("cryptpad",h);var b=new s("<p> MediaTag cannot find a plugin able to renderer your content </p>","Download");r.processingEngine.setDefaultPlugin(b),r.CryptoFilter=f;var v=["image/png","image/jpeg","image/jpg","image/gif","audio/mp3","audio/ogg","audio/wav","audio/webm","video/mp4","video/ogg","video/webm","application/pdf","application/dash+xml","download"];r.CryptoFilter.setAllowedMediaTypes(v);var g=n(21),d=(n(13),n(0),new g);r.processingEngine.configure(d),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=n(1),a=n(5),c=n(6),s=function(e){function t(e){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,u.SANITIZER,a.EVERY))}return i(t,e),t}(c);e.exports=s},,,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){var n=t.type.split("/"),r=t.type,o=n[0],i=n[1];s.isAllowedMediaType(r)?(e.setAttribute("data-type",t.type),e.type=o,e.extension=i,e.mime=r):console.log("Not allowed metadata, allowed ones are : ",s.getAllowedMediaTypes()),e.name=t.name,e.setAttribute("data-attr-type",t.type)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=p.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer";var u=function(e){var t=new Event("decryptionError");t.message="string"==typeof e?e:e.message,window.document.dispatchEvent(t)};i.onload=function(){if(/^4/.test(""+this.status))return u("XHR_ERROR",""+this.status);var t=i.response;if(t){var n=new Uint8Array(t);p.decrypt(n,r,function(t,n){if(t)return u(t);var r=n.content,i=y.getBlobUrl(r,e.getMimeType()),a=new Event("decryption");a.blob=new Blob([r],{type:e.getMimeType()}),a.metadata=n.metadata,e.setAttribute("src",i),e.removeAttribute("data-crypto-key"),o(e,n.metadata),a.callback=function(){c.processingEngine.return(e)},window.document.dispatchEvent(a)})}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=!0,l=131088,p=function(){function e(){r(this,e)}return u(e,null,[{key:"createNonce",value:function(){return new Uint8Array(new Array(24).fill(0))}},{key:"increment",value:function(e){for(var t=e.length;t-- >1;){if(f){if("number"!=typeof e[t])throw new Error("E_UNSAFE_TYPE");if(e[t]>255)throw new Error("E_OUT_OF_BOUNDS")}if(255!==e[t])return void e[t]++;if(e[t]=0,0===t)throw new Error("E_NONCE_TOO_LARGE")}}},{key:"encodePrefix",value:function(e){return[65280,255].map(function(t,n){return(e&t)>>8*(1-n)})}},{key:"decodePrefix",value:function(e){return e[0]<<8|e[1]}},{key:"joinChunks",value:function(t){return new Uint8Array(t.reduce(function(t,n){return e.slice(t).concat(e.slice(n))},[]))}},{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){return e.Nacl.util.decodeBase64(t)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n,r){var o=e.Nacl,i=function(e){var n=new Event("decryptionProgress");n.percent=e/t.length*100,window.document.dispatchEvent(n)},u=e.createNonce(),a=0,c=t.subarray(0,2),s=e.decodePrefix(c),f={metadata:void 0},p=new Uint8Array(t.subarray(2,2+s)),y=o.secretbox.open(p,u,n);e.increment(u);try{f.metadata=JSON.parse(o.util.encodeUTF8(y))}catch(e){return r("E_METADATA_DECRYPTION")}if(!f.metadata)return r("NO_METADATA");var h=function(r){var c=a*l+2+s,f=c+l;a++;var p=new Uint8Array(t.subarray(c,f)),y=o.secretbox.open(p,u,n);if(e.increment(u),!y)return void r("DECRYPTION_FAILURE");i(Math.min(f,t.length)),r(void 0,y)},b=[];!function n(){h(function(o,i){return o?setTimeout(function(){r(o)}):i?a*l<t.length?(b.push(i),n()):(b.push(i),f.content=e.joinChunks(b),r(void 0,f)):void r("UNEXPECTED_ENDING")})}()}}]),e}();p.Nacl=window.nacl;var y=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+p.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){s.isAllowedMediaType(t.type)&&(e.setAttribute("data-type",t.type),e.type=t.type,e.extension=t.extension,e.mime=t.mime)}function i(e){var t=e.getAttribute("src"),n=e.getAttribute("data-crypto-key"),r=f.getKeyFromStr(n),i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t=i.response;if(t){var n=new Uint8Array(t),u=f.decrypt(n,r),a=l.getBlobUrl(u,e.getMimeType()),s=new Event("decryption");s.blob=new Blob([u],{type:e.getMimeType()}),window.document.dispatchEvent(s),e.setAttribute("src",a),e.removeAttribute("data-crypto-key"),e.hasAttribute("data-type")||o(e,{type:"image",extension:"png",mime:"image/png"}),c.processingEngine.return(e)}},i.send(null)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(12),c=n(2),s=n(7),f=function(){function e(){r(this,e)}return u(e,null,[{key:"slice",value:function(e){return Array.prototype.slice.call(e)}},{key:"getRandomKeyStr",value:function(){var t=e.Nacl,n=t.randomBytes(18);return t.util.encodeBase64(n)}},{key:"getKeyFromStr",value:function(t){var n=e.Nacl;return n.hash(n.util.decodeBase64(t)).subarray(32,64)}},{key:"encrypt",value:function(t,n){var r=t,o=e.Nacl.randomBytes(24),i=e.Nacl.secretbox(r,o,n);if(i)return new Uint8Array(e.slice(o).concat(e.slice(i)));throw new Error}},{key:"decrypt",value:function(t,n){if(t.length<24)throw new Error;var r=e.slice,o=e.Nacl,i=new Uint8Array(r(t).slice(0,24)),u=new Uint8Array(r(t).slice(24)),a=o.secretbox.open(u,i,n);if(a)return a;throw new Error("Decrypted file in undefined")}}]),e}();f.Nacl=window.nacl;var l=function(){function e(){r(this,e)}return u(e,null,[{key:"getArrayBuffer",value:function(e){return fetch(e).then(function(e){if(e.ok)return e.arrayBuffer();throw new a.FetchFails}).then(function(e){return e})}},{key:"createUrl",value:function(e){return window.URL.createObjectURL(e)}},{key:"getBlobUrl",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t}))}},{key:"getDataUrl",value:function(e,t){return"data:"+t+";base64,"+f.Nacl.util.encodeBase64(e)}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.data=t||{}}return o(e,[{key:"getPermission",value:function(e){return this.data[e]}},{key:"setPermission",value:function(e,t){this.data[e]=t}},{key:"getData",value:function(){return this.data}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.id=e.uid(),this.attributesObject=e.attributesObject(t),this.hookedFns={hasChildNodes:t.hasChildNodes.bind(t),removeChild:t.removeChild.bind(t),getLastChild:function(){return t.lastChild},appendChild:t.appendChild.bind(t)}}return o(e,[{key:"setProperties",value:function(e){for(var t in e){if(this[t])throw new Error("The property "+t+" already exists in this MediaObject !");this[t]=e[t]}}},{key:"getId",value:function(){return this.id}},{key:"getAttribute",value:function(e){return this.attributesObject[e]}},{key:"setAttribute",value:function(e,t){this.attributesObject[e]=t}},{key:"removeAttribute",value:function(e){delete this.attributesObject[e]}},{key:"getAllDataAttrKeys",value:function(){return Object.keys(this.attributesObject).filter(function(e){return e.startsWith("data-attr")})}},{key:"getExtension",value:function(){return this.extension}},{key:"getMimeType",value:function(){return this.mime}},{key:"hasAttribute",value:function(e){return e in this.attributesObject}},{key:"getType",value:function(){return this.type}},{key:"getSource",value:function(){return this.src}},{key:"clearContents",value:function(){for(;this.hookedFns.hasChildNodes();)this.hookedFns.removeChild(this.hookedFns.getLastChild())}},{key:"replaceContents",value:function(e){var t=this;this.clearContents(),e.forEach(function(e){return t.hookedFns.appendChild(e)})}},{key:"utilsSetAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n.substr(10),t.getAttribute(n))})}},{key:"utilsPassAllDataAttributes",value:function(e){var t=this;this.getAllDataAttrKeys().forEach(function(n){return e.setAttribute(n,t.getAttribute(n))})}}]),e}();i.uid=function(e){return function(){return e++}}(0),i.attributesObject=function(e){var t={};if(e.hasAttributes()){var n=e.attributes;Object.keys(n).forEach(function(e){var r=n[e];t[r.name]=r.value})}return t.hasAttribute=function(e){return t[e]},t},e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"extension",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[1]}},{key:"type",value:function(e){var t=e.getAttribute("data-type");if(t)return t.split("/")[0]}},{key:"mime",value:function(e){return e.getAttribute("data-type")}},{key:"protocol",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[0]:window.location.protocol}},{key:"hostname",value:function(e){var t=e.getAttribute("src").split("://");return t.length>1?t[1].split("/")[0]:window.location.hostname}},{key:"source",value:function(e){return e.getAttribute("src")}},{key:"schemes",value:function(e){return/\w+:/.exec(e.getAttribute("src"))}},{key:"parse",value:function(t){return{protocol:e.protocol(t),hostname:e.hostname(t),src:e.source(t),type:e.type(t),extension:e.extension(t),mime:e.mime(t)}}}]),e}();e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(14),u=n(1),a=function(){function e(t,n){r(this,e),i.that(t).not(void 0),i.that(n).not(void 0),this.pluginStore=t,this.uriStore=n}return o(e,[{key:"start",value:function(e){var t=this,n=this.pluginStore.getPlugins(u.MATCHER),r=n.filter(function(t){return t.process(e)}),o=r.map(function(e){return e.getIdentifier()}),i={};return o.forEach(function(e){if(!t.uriStore)throw new Error("No map registrated for the matching engine");var n=t.uriStore.get(e);if(void 0===n)throw new Error("No uri related to identifier : "+e);i[e]=n}),i}}]),e}();e.exports=a},function(e,t,n){"use strict";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(14),a=n(1),c=n(46),s=n(13),f=function(){function e(t){o(this,e),u.that(t).not(void 0),this.pluginStore=t,this.stacks={},this.snapshots={},this.stats=[],this.defaultPlugin=null}return i(e,[{key:"configure",value:function(e){this.configuration=e}},{key:"start",value:function(e){this.routine(e),this.run(e)}},{key:"run",value:function(e){var t=this.stackTop(e);if(!t)return e;if(this.configuration)if(this.configuration.getPermission(t.identifier)===s.FORBIDDEN){var n=this.stats[e.getId()];n.skipped||(n.skipped=[]),n.skipped.push(t.identifier),this.return(e)}else t.process(e);else t.process(e)}},{key:"routine",value:function(e){this.fill(e),this.snapshot(e),this.check(e)}},{key:"snapshot",value:function(e){var t=e.getId();if(this.stacks[t]){var n=[];this.stacks[t].forEach(function(e){var t={};t.identifier=e.getIdentifier(),t.type=e.getType(),n.push(t)}),this.snapshots[t]?this.snapshots[t].push({stack:n}):this.snapshots[t]=[{stack:n}]}else this.snapshots[t]=[]}},{key:"fill",value:function(e){var t=e.getId(),n=this.pluginStore.getPlugins(a.MATCHER),o=n.filter(function(t){return t.process(e)}),i=o.map(function(e){return e.getIdentifier()}),u=this.pluginStore.values(),s=u.filter(function(e){return e.type!==a.MATCHER&&i.includes(e.identifier)}),f=c.filterByOccurrencies(s),l=this.substack(e,f);if(this.stacks[t]){var p;(p=this.stacks[t]).push.apply(p,r(l))}else this.stacks[t]=l}},{key:"substack",value:function(e,t){var n=this,r=[];return t.once.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.any.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):n.isStacked(e,t)||r.push(t)}),t.every.forEach(function(t){n.configuration&&n.configuration.getPermission(t.identifier)===s.FORBIDDEN?n.skip(e,t):r.push(t)}),r}},{key:"skip",value:function(e,t){var n=this.stats[e.getId()];n?n.skipped||(n.skipped=[]):n={skipped:[]},n.skipped.push(t.identifier)}},{key:"unstack",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t].pop():null}},{key:"stackTop",value:function(e){var t=e.getId();return this.stacks[t]?this.stacks[t][this.stacks[t].length-1]:null}},{key:"check",value:function(t){var n=t.getId();if(this.stacks[n].length>=e.STACK_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin stack size exceed");if(this.snapshots[n].length>=e.SNAPSHOT_LIMIT)throw console.error(this.snapshots[n]),new Error("Plugin snapshots size exceed");var r=0;if(this.stacks[n].forEach(function(e){e.type===a.RENDERER&&r++}),r>1)throw console.error(this.snapshots[n]),new Error("More of one renderer in the stack");if(0===this.stacks[n].length&&!this.stats[n][a.RENDERER]){if(!this.defaultPlugin)throw new Error("No default plugin assignated");this.stacks[n].unshift(this.defaultPlugin)}}},{key:"return",value:function(e){var t=e.getId(),n=this.unstack(e);this.stats[t]||(this.stats[t]={}),this.stats[t][n.type]?this.stats[t][n.type]+=1:this.stats[t][n.type]=1,0===this.stacks[t].length&&n.type===a.RENDERER?this.run(e):n.type!==a.SANITIZER&&this.fill(e),this.snapshot(e),this.check(e),this.run(e)}},{key:"process",value:function(e){var t=e.getId(),n=this.stacks[t].length,r=this.stacks[t][n-1];if(!r)throw console.log(this.stacks),new Error("Impossible to run a undefined plugin");r.process(e)}},{key:"isStacked",value:function(e,t){var n=e.getId();return!(!this.stacks[n]||!this.stacks[n].includes(t))}},{key:"setDefaultPlugin",value:function(e){this.defaultPlugin=e}}]),e}();f.STACK_LIMIT=100,f.SNAPSHOT_LIMIT=100,e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(11),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.CLEAR_KEY))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("data-clear-key"),n=t.substring(0,32),r=t.substring(33,65);e.setAttribute("id",n),e.setAttribute("key",r),e.removeAttribute("data-clear-key"),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CLEAR_KEY,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-clear-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.CRYPTO,c.FILTER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("data-crypto-key")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.AUDIO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp3|ogg|webm|wav$"),n=new RegExp("^audio/(mp3|ogg|webm|wav)$");return e.hasAttribute("src")&&"audio"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DASH,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^dash[+]xml$"),n=new RegExp("^application/dash[+]xml$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.DOWNLOAD,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&"download"===e.getType()}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.IMAGE,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^png|jpg|jpeg|gif$"),n=new RegExp("^image/(png|svg+xml|jpeg|gif)$");return e.hasAttribute("src")&&"image"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.PDF,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^pdf$"),n=new RegExp("^application/pdf$");return e.hasAttribute("src")&&"application"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.VIDEO,c.RENDERER))}return i(t,e),u(t,[{key:"process",value:function(e){var t=new RegExp("^mp4|ogg|webm$"),n=new RegExp("^video/(mp4|ogg|webm)$");return e.hasAttribute("src")&&"video"===e.getType()&&null!==t.exec(e.getExtension())&&null!==n.exec(e.getMimeType())}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),c=n(1),s=n(3),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,a.MEDIA_OBJECT,c.SANITIZER))}return i(t,e),u(t,[{key:"process",value:function(e){return e.hasAttribute("src")&&e.hasAttribute("data-type")}}]),t}(s);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.AUDIO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("audio");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DASH))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video"),n=new shaka.Player(t),r=e.getAttribute("id"),o=e.getAttribute("key");if(r&&o){var i='{"'+r+'": "'+o+'"}',u=JSON.parse(i);n.configure({drm:{clearKeys:u}})}t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),n.load(e.getAttribute("src")).then(function(){}),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(e,n){r(this,t);var i=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.DOWNLOAD));return i.message=e,i.buttonMessage=n||"Download",i}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("div"),n=document.createElement("button");t.innerHTML=this.message,n.innerHTML=this.buttonMessage,n.onclick=function(){var t=new XMLHttpRequest,n=e.getAttribute("src");t.open("GET",n,!0),t.responseType="blob",t.onload=function(){var n=t.response;if(n)if(e.name)saveAs(n,e.name);else if(e.getAttribute("data-attr-type")){var r=e.getAttribute("data-attr-type"),o=r.split("/"),i=new File([n],"download."+(o[1]||"txt"),{type:r});saveAs(i)}else saveAs(n)},t.send()},t.appendChild(n),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.IMAGE))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("img");t.setAttribute("src",e.getAttribute("src")),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.PDF))}return i(t,e),u(t,[{key:"process",value:function(e){var t=e.getAttribute("src"),n=document.createElement("canvas");e.utilsSetAllDataAttributes(n),e.replaceContents([n]),PDFJS.disableWorker=!0,PDFJS.getDocument(t).promise.then(function(t){function r(e){var t=1,r=e.getViewport(t),o=n.getContext("2d");n.height=r.height,n.width=r.width;var i={canvasContext:o,viewport:r};e.render(i).then(function(){})}function o(e){e||console.log("no event"),0===e.buttons?i===t.numPages?i=1:i++:4===e.buttons&&(1===i?i=t.numPages:i--)}var i=1;t.getPage(i).then(function(e){r(e)}),n.onclick=function(e){o(e),t.getPage(i).then(function(e){r(e)})},s.processingEngine.return(e)},function(e){console.error(e)})}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(4),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.VIDEO))}return i(t,e),u(t,[{key:"process",value:function(e){var t=document.createElement("video");t.setAttribute("src",e.getAttribute("src")),t.setAttribute("controls",!0),e.utilsSetAllDataAttributes(t),e.replaceContents([t]),s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(16),c=n(0),s=n(2),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,c.MEDIA_OBJECT))}return i(t,e),u(t,[{key:"process",value:function(e){s.processingEngine.return(e)}}]),t}(a);e.exports=f},function(e,t,n){"use strict";var r=n(32),o=n(29),i=n(34),u=n(33),a=n(30),c=n(31),s=n(28),f=n(27),l=n(35),p=n(2);p.pluginStore.store(new r),p.pluginStore.store(new o),p.pluginStore.store(new i),p.pluginStore.store(new u),p.pluginStore.store(new a),p.pluginStore.store(new c),p.pluginStore.store(new s),p.pluginStore.store(new f),p.pluginStore.store(new l),e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"getPlugins",value:function(e){return this.values().filter(function(t){return t.type===e})}},{key:"store",value:function(e){a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,[e.identifier,e.type],e)}},{key:"unstore",value:function(e){if(t.isStored([e.identifier,e.type])!==!1)return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,[e.identifier,e.type]);console.warn('The key "'+[e.identifier,e.type]+'" not exists in this manager')}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var u=o.get;if(void 0!==u)return u.call(r)},c=n(9),s=function(e){function t(e){r(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.targetDirectory=e,n}return i(t,e),u(t,[{key:"store",value:function(e,n){var r=this.targetDirectory+"/"+n+"s/"+e;a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"store",this).call(this,e,r)}},{key:"unstore",value:function(e){return a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unstore",this).call(this,e)}}]),t}(c);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(){r(this,e)}return o(e,null,[{key:"filterByOccurrence",value:function(e,t){return e.filter(function(e){return e.occurrence===t})}},{key:"filterByOccurrencies",value:function(e){var t={once:[],any:[],every:[]},n=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var a=i.value;t[a.occurrence]?t[a.occurrence].push(a):t[a.occurrence]=Array.of(a)}}catch(e){r=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(r)throw o}}return t}}]),e}();e.exports=i},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n(15)}])});
\ No newline at end of file

From 105e5cdac987049c0f7446819c591fe88b8f88cb Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 18:01:12 +0200
Subject: [PATCH 194/236] fix 'undefined/' userHash

---
 www/common/cryptpad-common.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 0c68d425c..1576275c7 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -246,7 +246,7 @@ define([
     var getUserHash = common.getUserHash = function () {
         var hash = localStorage[userHashKey];
 
-        if (hash) {
+        if (hash && ['undefined', 'undefined/'].indexOf(hash) !== -1) {
             var sHash = common.serializeHash(hash);
             if (sHash !== hash) { localStorage[userHashKey] = sHash; }
         }

From 936bf8df9d8ce1f694765daf3a5fddbbfbb7dd3c Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 18:08:41 +0200
Subject: [PATCH 195/236] return falsey if userHash is junk

---
 www/common/cryptpad-common.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 1576275c7..93dc1a4fc 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -246,10 +246,10 @@ define([
     var getUserHash = common.getUserHash = function () {
         var hash = localStorage[userHashKey];
 
-        if (hash && ['undefined', 'undefined/'].indexOf(hash) !== -1) {
+        if (hash && ['undefined', 'undefined/'].indexOf(hash) === -1) {
             var sHash = common.serializeHash(hash);
             if (sHash !== hash) { localStorage[userHashKey] = sHash; }
-        }
+        } else { return; }
 
         return hash;
     };

From 2e03485db4f29e7a30b7bd94e916f0e400f72bf9 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 18:12:58 +0200
Subject: [PATCH 196/236] remove known bad entries from
 localStorage.userHash...

---
 www/common/cryptpad-common.js | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 93dc1a4fc..ee9daeb49 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -246,10 +246,15 @@ define([
     var getUserHash = common.getUserHash = function () {
         var hash = localStorage[userHashKey];
 
-        if (hash && ['undefined', 'undefined/'].indexOf(hash) === -1) {
+        if (['undefined', 'undefined/'].indexOf(hash) === -1) {
+            localStorage.removeItem(userHashKey);
+            return;
+        }
+
+        if (hash) {
             var sHash = common.serializeHash(hash);
             if (sHash !== hash) { localStorage[userHashKey] = sHash; }
-        } else { return; }
+        }
 
         return hash;
     };

From 7b94106bac52233d7d27cc728f062b09c880ab77 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 18:15:31 +0200
Subject: [PATCH 197/236] fix inverted conditional :/

---
 www/common/cryptpad-common.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index ee9daeb49..039d2c4a0 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -246,7 +246,7 @@ define([
     var getUserHash = common.getUserHash = function () {
         var hash = localStorage[userHashKey];
 
-        if (['undefined', 'undefined/'].indexOf(hash) === -1) {
+        if (['undefined', 'undefined/'].indexOf(hash) !== -1) {
             localStorage.removeItem(userHashKey);
             return;
         }

From 30f66ab7ba9009026ceb2d43a7b0210d6719064f Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 31 May 2017 18:44:44 +0200
Subject: [PATCH 198/236] hotfix 'undefined/' bug

---
 www/common/cryptpad-common.js | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 20927dc04..794555ed8 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -242,6 +242,11 @@ define([
     var getUserHash = common.getUserHash = function () {
         var hash = localStorage[userHashKey];
 
+        if (['undefined', 'undefined/'].indexOf(hash) !== -1) {
+            localStorage.removeItem(userHashKey);
+            return;
+        }
+
         if (hash) {
             var sHash = common.serializeHash(hash);
             if (sHash !== hash) { localStorage[userHashKey] = sHash; }

From 24f37ea414801a345d40c761b1459213b55994a9 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 31 May 2017 19:40:17 +0200
Subject: [PATCH 199/236] Delicious testing

---
 TestSelenium.js    | 41 +++++++++++++++++++++++++++--------------
 www/auth/main.js   |  8 +++++++-
 www/common/test.js | 30 ++++++++++++++++++++++++++++++
 3 files changed, 64 insertions(+), 15 deletions(-)
 create mode 100644 www/common/test.js

diff --git a/TestSelenium.js b/TestSelenium.js
index 9623577b5..dcbeacaef 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -1,5 +1,6 @@
 /* global process */
 var WebDriver = require("selenium-webdriver");
+var nThen = require('nthen');
 
 if (process.env.TRAVIS_PULL_REQUEST && process.env.TRAVIS_PULL_REQUEST !== 'false') {
     // We can't do saucelabs on pull requests so don't fail.
@@ -21,18 +22,30 @@ if (process.env.SAUCE_USERNAME !== undefined) {
     driver = new WebDriver.Builder().withCapabilities({ browserName: "chrome" }).build();
 }
 
-driver.get('http://localhost:3000/assert/');
-var report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000);
-report.getAttribute("class").then(function (cls) {
-    report.getText().then(function (text) {
-        console.log("\n-----\n" + text + "\n-----");
-        driver.quit();
-        if (!cls) {
-            throw new Error("cls is null");
-        } else if (cls.indexOf("failure") !== -1) {
-            throw new Error("cls contains the word failure");
-        } else if (cls.indexOf("success") === -1) {
-            throw new Error("cls does not contain the word success");
-        }
-    });
+var nt = nThen;
+[
+    '/assert/',
+    '/auth/#?test=test'
+].forEach(function (path) {
+    var url = 'http://localhost:3000' + path;
+    nt = nThen(function (waitFor) {
+        driver.get(url);
+        var report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000);
+        report.getAttribute("class").then(waitFor(function (cls) {
+            report.getText().then(waitFor(function (text) {
+                console.log("\n-----\n" + url + '  ' + text + "\n-----");
+                if (!cls) {
+                    throw new Error("cls is null");
+                } else if (cls.indexOf("failure") !== -1) {
+                    throw new Error("cls contains the word failure");
+                } else if (cls.indexOf("success") === -1) {
+                    throw new Error("cls does not contain the word success");
+                }
+            }));
+        }));
+    }).nThen;
 });
+
+nt(function () {
+    driver.quit();
+})
\ No newline at end of file
diff --git a/www/auth/main.js b/www/auth/main.js
index 747434c23..577e1e966 100644
--- a/www/auth/main.js
+++ b/www/auth/main.js
@@ -1,8 +1,9 @@
 define([
     'jquery',
     '/common/cryptpad-common.js',
+    '/common/test.js',
     '/bower_components/tweetnacl/nacl-fast.min.js'
-], function ($, Cryptpad) {
+], function ($, Cryptpad, Test) {
     var Nacl = window.nacl;
 
     var signMsg = function (msg, privKey) {
@@ -23,6 +24,11 @@ define([
 
     Cryptpad.ready(function () {
         console.log('IFRAME READY');
+        Test(function () {
+            // This is only here to maybe trigger an error.
+            window.drive = Cryptpad.getStore().getProxy().proxy['drive'];
+            Test.passed();
+        });
         $(window).on("message", function (jqe) {
             var evt = jqe.originalEvent;
             var data = JSON.parse(evt.data);
diff --git a/www/common/test.js b/www/common/test.js
new file mode 100644
index 000000000..2536f0733
--- /dev/null
+++ b/www/common/test.js
@@ -0,0 +1,30 @@
+define([], function () {
+    var out = function () { };
+    if (window.location.hash.indexOf("?test=test") > -1) {
+        window.onerror = function (msg, url, lineNo, columnNo, e) {
+            document.body.innerHTML = '<div class="report fail">' +
+                JSON.stringify([
+                    msg,
+                    url,
+                    lineNo,
+                    columnNo,
+                    e ? e.message : null,
+                    e ? e.stack : null
+                ]).replace(/</g, '') +
+            '</div>';
+        };
+        require.onError = function (e) {
+            document.body.innerHTML = '<div class="report fail">' +
+                JSON.stringify([
+                    e ? e.message : null,
+                    e ? e.stack : null
+                ]).replace(/</g, '') +
+            '</div>';
+        };
+        out = function (f) { f(); }
+    }
+    out.passed = function () {
+        document.body.innerHTML = '<div class="report success">Test Passed</div>';
+    }
+    return out;
+});
\ No newline at end of file

From 0d4b74cfbab7d7986b13f00bd16a123e69c84efc Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 31 May 2017 19:46:23 +0200
Subject: [PATCH 200/236] ;;;;;; keep these ;;; for later ;;;;;

---
 TestSelenium.js    | 2 +-
 www/common/test.js | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/TestSelenium.js b/TestSelenium.js
index dcbeacaef..83b276a40 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -48,4 +48,4 @@ var nt = nThen;
 
 nt(function () {
     driver.quit();
-})
\ No newline at end of file
+});
\ No newline at end of file
diff --git a/www/common/test.js b/www/common/test.js
index 2536f0733..2d70e939f 100644
--- a/www/common/test.js
+++ b/www/common/test.js
@@ -21,10 +21,10 @@ define([], function () {
                 ]).replace(/</g, '') +
             '</div>';
         };
-        out = function (f) { f(); }
+        out = function (f) { f(); };
     }
     out.passed = function () {
         document.body.innerHTML = '<div class="report success">Test Passed</div>';
-    }
+    };
     return out;
 });
\ No newline at end of file

From 3ca41d8df7fcad03c98f5f7afa85b9cd54c0cc0a Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 31 May 2017 20:49:03 +0200
Subject: [PATCH 201/236] Change the testing matrix

---
 .travis.yml | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 4160b8719..df4140ddc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,11 @@
 language: node_js
 env:
   matrix:
-    - "BROWSER='firefox:19:Windows 2012'"
-    - "BROWSER='chrome::Windows 2008'"
+    - "BROWSER='firefox::Windows 10'"
+    - "BROWSER='chrome::Windows 10'"
+    - "BROWSER='MicrosoftEdge:14.14393:Windows 10'"
+    - "BROWSER='internet explorer:11.103:Windows 10'""
+    - "BROWSER='safari:10.0:macOS 10.12'"
 branches:
   only:
     - master

From 68296e9d23ca6fef8370f93f4221fad7f36701c4 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 31 May 2017 20:51:56 +0200
Subject: [PATCH 202/236] one too many quote marks

---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index df4140ddc..a535229b7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,7 +4,7 @@ env:
     - "BROWSER='firefox::Windows 10'"
     - "BROWSER='chrome::Windows 10'"
     - "BROWSER='MicrosoftEdge:14.14393:Windows 10'"
-    - "BROWSER='internet explorer:11.103:Windows 10'""
+    - "BROWSER='internet explorer:11.103:Windows 10'"
     - "BROWSER='safari:10.0:macOS 10.12'"
 branches:
   only:

From 7d557df74bb384a56e2fef762a094dd7b39aa9ef Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 31 May 2017 23:29:58 +0200
Subject: [PATCH 203/236] a new and more horrible way of sniffing the logs out
 of the instance

---
 TestSelenium.js    | 17 +++++++++--
 www/assert/main.js |  1 +
 www/common/test.js | 72 ++++++++++++++++++++++++++++++++++------------
 3 files changed, 69 insertions(+), 21 deletions(-)

diff --git a/TestSelenium.js b/TestSelenium.js
index 83b276a40..8e160a7f2 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -22,17 +22,30 @@ if (process.env.SAUCE_USERNAME !== undefined) {
     driver = new WebDriver.Builder().withCapabilities({ browserName: "chrome" }).build();
 }
 
+var SC_GET_LOGS = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__.getLogs() : '[]'";
+
 var nt = nThen;
 [
-    '/assert/',
+    '/assert/#?test=test',
     '/auth/#?test=test'
 ].forEach(function (path) {
     var url = 'http://localhost:3000' + path;
     nt = nThen(function (waitFor) {
         driver.get(url);
+        var done = false;
+        var logMore = function (cb) {
+            if (done) { return; }
+            driver.executeScript(SC_GET_LOGS).then(waitFor(function (logs) {
+                JSON.parse(logs).forEach(function (l) { console.log('>' + l); });
+                if (cb) { cb(); } else { setTimeout(logMore, 50); }
+            }));
+        };
+        logMore();
+        driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000);
         var report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000);
         report.getAttribute("class").then(waitFor(function (cls) {
             report.getText().then(waitFor(function (text) {
+                logMore(function () { done = true; });
                 console.log("\n-----\n" + url + '  ' + text + "\n-----");
                 if (!cls) {
                     throw new Error("cls is null");
@@ -48,4 +61,4 @@ var nt = nThen;
 
 nt(function () {
     driver.quit();
-});
\ No newline at end of file
+})
\ No newline at end of file
diff --git a/www/assert/main.js b/www/assert/main.js
index ffab3f5a9..560d10fd8 100644
--- a/www/assert/main.js
+++ b/www/assert/main.js
@@ -4,6 +4,7 @@ define([
     '/bower_components/textpatcher/TextPatcher.amd.js',
     'json.sortify',
     '/common/cryptpad-common.js',
+    '/common/test.js'
 ], function ($, Hyperjson, TextPatcher, Sortify, Cryptpad) {
     window.Hyperjson = Hyperjson;
     window.TextPatcher = TextPatcher;
diff --git a/www/common/test.js b/www/common/test.js
index 2d70e939f..793bfd1b4 100644
--- a/www/common/test.js
+++ b/www/common/test.js
@@ -1,30 +1,64 @@
 define([], function () {
     var out = function () { };
+    out.passed = out;
+    var mkReport = function (list, pass) {
+        var rpt = document.createElement('div');
+        rpt.textContent = JSON.stringify(list);
+        rpt.setAttribute('class', 'report ' + (pass ? 'success' : 'failure'));
+        rpt.setAttribute('style', 'display:none;');
+        document.body.appendChild(rpt);
+    }
     if (window.location.hash.indexOf("?test=test") > -1) {
         window.onerror = function (msg, url, lineNo, columnNo, e) {
-            document.body.innerHTML = '<div class="report fail">' +
-                JSON.stringify([
-                    msg,
-                    url,
-                    lineNo,
-                    columnNo,
-                    e ? e.message : null,
-                    e ? e.stack : null
-                ]).replace(/</g, '') +
-            '</div>';
+            mkReport([
+                msg,
+                url,
+                lineNo,
+                columnNo,
+                e ? e.message : null,
+                e ? e.stack : null
+            ]);
         };
         require.onError = function (e) {
-            document.body.innerHTML = '<div class="report fail">' +
-                JSON.stringify([
-                    e ? e.message : null,
-                    e ? e.stack : null
-                ]).replace(/</g, '') +
-            '</div>';
+            mkReport([
+                e ? e.message : null,
+                e ? e.stack : null
+            ]);
         };
         out = function (f) { f(); };
+        out.passed = function () { mkReport("Test Passed", true); };
+
+        var cpt = window.__CRYPTPAD_TEST__ = {
+            logs: [],
+            getLogs: function () {
+                var logs = JSON.stringify(cpt.logs);
+                cpt.logs = [];
+                return logs;
+            }
+        };
+
+        // jshint -W103
+        var errProto = (new Error()).__proto__;
+        var doLog = function (o) {
+            var s;
+            if (typeof(o) === 'object' && o.__proto__ === errProto) {
+                s = JSON.stringify([ o.message, o.stack ]);
+            } else if (typeof(s) !== 'string') {
+                try {
+                    s = JSON.stringify(o);
+                } catch (e) {
+                    s = String(o);
+                }
+            }
+            var out = [s];
+            try { throw new Error(); } catch (e) { out.push(e.stack.split('\n')[3]); }
+            window.__CRYPTPAD_TEST__.logs.push(out);
+        };
+
+        window.console._error = window.console.error;
+        window.console._log = window.console.log;
+        window.console.error = function (e) { window.console._error(e); doLog(e); };
+        window.console.log = function (l) { window.console._log(l); doLog(l); };
     }
-    out.passed = function () {
-        document.body.innerHTML = '<div class="report success">Test Passed</div>';
-    };
     return out;
 });
\ No newline at end of file

From 244bd7b3789325fc10bb89f294a8aa7cac747a9f Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Wed, 31 May 2017 23:32:47 +0200
Subject: [PATCH 204/236] ;;;

---
 TestSelenium.js    | 2 +-
 www/common/test.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/TestSelenium.js b/TestSelenium.js
index 8e160a7f2..e4e9b8a4b 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -61,4 +61,4 @@ var nt = nThen;
 
 nt(function () {
     driver.quit();
-})
\ No newline at end of file
+});
\ No newline at end of file
diff --git a/www/common/test.js b/www/common/test.js
index 793bfd1b4..cc5bc2844 100644
--- a/www/common/test.js
+++ b/www/common/test.js
@@ -7,7 +7,7 @@ define([], function () {
         rpt.setAttribute('class', 'report ' + (pass ? 'success' : 'failure'));
         rpt.setAttribute('style', 'display:none;');
         document.body.appendChild(rpt);
-    }
+    };
     if (window.location.hash.indexOf("?test=test") > -1) {
         window.onerror = function (msg, url, lineNo, columnNo, e) {
             mkReport([

From 71bd808e4f800511bfc8eef475ee3431b75089bb Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 1 Jun 2017 00:09:39 +0200
Subject: [PATCH 205/236] Send everything through the test global function

---
 TestSelenium.js    | 62 ++++++++++++++++++++++----------------
 www/assert/main.js |  8 ++++-
 www/common/test.js | 74 +++++++++++++++++++++++++---------------------
 3 files changed, 85 insertions(+), 59 deletions(-)

diff --git a/TestSelenium.js b/TestSelenium.js
index e4e9b8a4b..562fb29c1 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -22,43 +22,55 @@ if (process.env.SAUCE_USERNAME !== undefined) {
     driver = new WebDriver.Builder().withCapabilities({ browserName: "chrome" }).build();
 }
 
-var SC_GET_LOGS = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__.getLogs() : '[]'";
+var SC_GET_DATA = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__.getData() : '[]'";
 
+var failed = false;
 var nt = nThen;
 [
     '/assert/#?test=test',
     '/auth/#?test=test'
 ].forEach(function (path) {
+    if (failed) { return; }
     var url = 'http://localhost:3000' + path;
-    nt = nThen(function (waitFor) {
+    nt = nt(function (waitFor) {
+        var done = waitFor();
+        console.log('\n\n-----TEST ' + url + ' -----');
         driver.get(url);
-        var done = false;
-        var logMore = function (cb) {
-            if (done) { return; }
-            driver.executeScript(SC_GET_LOGS).then(waitFor(function (logs) {
-                JSON.parse(logs).forEach(function (l) { console.log('>' + l); });
-                if (cb) { cb(); } else { setTimeout(logMore, 50); }
+        var waitTo = setTimeout(function () {
+            console.log("no report in 10 seconds, timing out");
+            failed = true;
+        }, 10000);
+        var logMore = function () {
+            driver.executeScript(SC_GET_DATA).then(waitFor(function (dataS) {
+                var data = JSON.parse(dataS);
+                data.forEach(function (d) {
+                    if (d.type !== 'log') { return; }
+                    console.log('>' + d.val);
+                });
+                data.forEach(function (d) {
+                    if (d.type !== 'report') { return; }
+                    console.log('RESULT: ' + d.val);
+                    if (d.val !== 'passed') {
+                        if (d.error) {
+                            console.log(d.error.message);
+                            console.log(d.error.stack);
+                        }
+                        failed = true;
+                    }
+                    clearTimeout(waitTo);
+                    console.log('-----END TEST ' + url + ' -----');
+                    done();
+                    done = undefined;
+                });
+                if (done) { setTimeout(logMore, 50); }
             }));
         };
         logMore();
-        driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000);
-        var report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000);
-        report.getAttribute("class").then(waitFor(function (cls) {
-            report.getText().then(waitFor(function (text) {
-                logMore(function () { done = true; });
-                console.log("\n-----\n" + url + '  ' + text + "\n-----");
-                if (!cls) {
-                    throw new Error("cls is null");
-                } else if (cls.indexOf("failure") !== -1) {
-                    throw new Error("cls contains the word failure");
-                } else if (cls.indexOf("success") === -1) {
-                    throw new Error("cls does not contain the word success");
-                }
-            }));
-        }));
     }).nThen;
 });
 
-nt(function () {
-    driver.quit();
+nt(function (waitFor) {
+    driver.quit().then(waitFor(function () {
+        if (failed) { process.exit(100); }
+    }));
 });
\ No newline at end of file
diff --git a/www/assert/main.js b/www/assert/main.js
index 560d10fd8..66ac5eb7b 100644
--- a/www/assert/main.js
+++ b/www/assert/main.js
@@ -5,7 +5,7 @@ define([
     'json.sortify',
     '/common/cryptpad-common.js',
     '/common/test.js'
-], function ($, Hyperjson, TextPatcher, Sortify, Cryptpad) {
+], function ($, Hyperjson, TextPatcher, Sortify, Cryptpad, Test) {
     window.Hyperjson = Hyperjson;
     window.TextPatcher = TextPatcher;
     window.Sortify = Sortify;
@@ -268,6 +268,12 @@ The test returned:
 
         var $report = $('.report');
         $report.addClass(failed?'failure':'success');
+
+        if (failed) {
+            Test.failed();
+        } else {
+            Test.passed();
+        }
     });
 
 });
diff --git a/www/common/test.js b/www/common/test.js
index cc5bc2844..b56237689 100644
--- a/www/common/test.js
+++ b/www/common/test.js
@@ -1,39 +1,13 @@
 define([], function () {
     var out = function () { };
-    out.passed = out;
-    var mkReport = function (list, pass) {
-        var rpt = document.createElement('div');
-        rpt.textContent = JSON.stringify(list);
-        rpt.setAttribute('class', 'report ' + (pass ? 'success' : 'failure'));
-        rpt.setAttribute('style', 'display:none;');
-        document.body.appendChild(rpt);
-    };
+    out.passed = out.failed = out;
     if (window.location.hash.indexOf("?test=test") > -1) {
-        window.onerror = function (msg, url, lineNo, columnNo, e) {
-            mkReport([
-                msg,
-                url,
-                lineNo,
-                columnNo,
-                e ? e.message : null,
-                e ? e.stack : null
-            ]);
-        };
-        require.onError = function (e) {
-            mkReport([
-                e ? e.message : null,
-                e ? e.stack : null
-            ]);
-        };
-        out = function (f) { f(); };
-        out.passed = function () { mkReport("Test Passed", true); };
-
         var cpt = window.__CRYPTPAD_TEST__ = {
-            logs: [],
-            getLogs: function () {
-                var logs = JSON.stringify(cpt.logs);
-                cpt.logs = [];
-                return logs;
+            data: [],
+            getData: function () {
+                var data = JSON.stringify(cpt.data);
+                cpt.data = [];
+                return data;
             }
         };
 
@@ -52,13 +26,47 @@ define([], function () {
             }
             var out = [s];
             try { throw new Error(); } catch (e) { out.push(e.stack.split('\n')[3]); }
-            window.__CRYPTPAD_TEST__.logs.push(out);
+            cpt.data.push({ type: 'log', val: out.join('') });
         };
 
         window.console._error = window.console.error;
         window.console._log = window.console.log;
         window.console.error = function (e) { window.console._error(e); doLog(e); };
         window.console.log = function (l) { window.console._log(l); doLog(l); };
+
+        window.onerror = function (msg, url, lineNo, columnNo, e) {
+            cpt.data.push({
+                type: 'report',
+                val: 'failed',
+                error: {
+                    message: e ? e.message : msg,
+                    stack: e ? e.stack : (url + ":" + lineNo)
+                }
+            });
+        };
+        require.onError = function (e) {
+            cpt.data.push({
+                type: 'report',
+                val: 'failed',
+                error: { message: e.message, stack: e.stack }
+            });
+        };
+        out = function (f) { f(); };
+        out.passed = function () {
+            cpt.data.push({
+                type: 'report',
+                val: 'passed'
+            });
+        };
+        out.failed = function (reason) {
+            var e;
+            try { throw new Error(reason); } catch (err) { e = err; }
+            cpt.data.push({
+                type: 'report',
+                val: 'failed',
+                error: { message: e.message, stack: e.stack }
+            });
+        };
     }
     return out;
 });
\ No newline at end of file

From c8bd1bb2ac5695c1806211cc8b8009f80b20463f Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 1 Jun 2017 00:29:17 +0200
Subject: [PATCH 206/236] Trying to improve the tests which fail always when
 running remotely

---
 TestSelenium.js    | 7 +++++--
 www/assert/main.js | 1 +
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/TestSelenium.js b/TestSelenium.js
index 562fb29c1..f9418a361 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -37,10 +37,13 @@ var nt = nThen;
         console.log('\n\n-----TEST ' + url + ' -----');
         driver.get(url);
         var waitTo = setTimeout(function () {
-            console.log("no report in 10 seconds, timing out");
+            console.log("no report in 20 seconds, timing out");
             failed = true;
-        }, 10000);
+            done();
+            done = undefined;
+        }, 20000);
         var logMore = function () {
+            if (!done) { return; }
             driver.executeScript(SC_GET_DATA).then(waitFor(function (dataS) {
                 var data = JSON.parse(dataS);
                 data.forEach(function (d) {
diff --git a/www/assert/main.js b/www/assert/main.js
index 66ac5eb7b..d47ec0210 100644
--- a/www/assert/main.js
+++ b/www/assert/main.js
@@ -29,6 +29,7 @@ define([
 
         ASSERTS.forEach(function (f, index) {
             f(function (err) {
+                console.log("test " + index);
                 done(err, index);
             }, index);
         });

From 92ab8d88ba22ae2782c1ef1608f9e39ee25bc62e Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 1 Jun 2017 00:41:31 +0200
Subject: [PATCH 207/236] accept defeat

---
 TestSelenium.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/TestSelenium.js b/TestSelenium.js
index f9418a361..c3c36fabd 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -28,7 +28,7 @@ var failed = false;
 var nt = nThen;
 [
     '/assert/#?test=test',
-    '/auth/#?test=test'
+  //  '/auth/#?test=test' // TODO(cjd): Not working on automatic tests, understand why.
 ].forEach(function (path) {
     if (failed) { return; }
     var url = 'http://localhost:3000' + path;

From 50082cfd19827793805792adb5b65e70c1af03fc Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 1 Jun 2017 00:50:36 +0200
Subject: [PATCH 208/236] Remove safari which is failing weirdly and fix race

---
 .travis.yml     | 2 +-
 TestSelenium.js | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index a535229b7..d37176da5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,7 @@ env:
     - "BROWSER='chrome::Windows 10'"
     - "BROWSER='MicrosoftEdge:14.14393:Windows 10'"
     - "BROWSER='internet explorer:11.103:Windows 10'"
-    - "BROWSER='safari:10.0:macOS 10.12'"
+    #- "BROWSER='safari:10.0:macOS 10.12'"
 branches:
   only:
     - master
diff --git a/TestSelenium.js b/TestSelenium.js
index c3c36fabd..82dc1fbc7 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -45,6 +45,7 @@ var nt = nThen;
         var logMore = function () {
             if (!done) { return; }
             driver.executeScript(SC_GET_DATA).then(waitFor(function (dataS) {
+                if (!done) { return; }
                 var data = JSON.parse(dataS);
                 data.forEach(function (d) {
                     if (d.type !== 'log') { return; }

From 90060dde4c32b864be3308c1ef19faed560f2606 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 1 Jun 2017 10:08:16 +0200
Subject: [PATCH 209/236] added back safari

---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index d37176da5..a535229b7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,7 @@ env:
     - "BROWSER='chrome::Windows 10'"
     - "BROWSER='MicrosoftEdge:14.14393:Windows 10'"
     - "BROWSER='internet explorer:11.103:Windows 10'"
-    #- "BROWSER='safari:10.0:macOS 10.12'"
+    - "BROWSER='safari:10.0:macOS 10.12'"
 branches:
   only:
     - master

From 337dd99b067986be54b325f4c42a6fc265c748b7 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 1 Jun 2017 10:15:57 +0200
Subject: [PATCH 210/236] lets see if safari will work with this...

---
 TestSelenium.js | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/TestSelenium.js b/TestSelenium.js
index 82dc1fbc7..ace6d2656 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -35,7 +35,6 @@ var nt = nThen;
     nt = nt(function (waitFor) {
         var done = waitFor();
         console.log('\n\n-----TEST ' + url + ' -----');
-        driver.get(url);
         var waitTo = setTimeout(function () {
             console.log("no report in 20 seconds, timing out");
             failed = true;
@@ -69,7 +68,7 @@ var nt = nThen;
                 if (done) { setTimeout(logMore, 50); }
             }));
         };
-        logMore();
+        driver.get(url).then(waitFor(logMore));
     }).nThen;
 });
 

From 07279c8dc723a6a1a84603729fa47e18b134e1ec Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 1 Jun 2017 10:23:24 +0200
Subject: [PATCH 211/236] export boolean Test.testing

---
 www/common/test.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/www/common/test.js b/www/common/test.js
index b56237689..a0a743f2b 100644
--- a/www/common/test.js
+++ b/www/common/test.js
@@ -52,6 +52,7 @@ define([], function () {
             });
         };
         out = function (f) { f(); };
+        out.testing = true;
         out.passed = function () {
             cpt.data.push({
                 type: 'report',
@@ -67,6 +68,8 @@ define([], function () {
                 error: { message: e.message, stack: e.stack }
             });
         };
+    } else {
+        out.testing = false;
     }
     return out;
-});
\ No newline at end of file
+});

From 8bd9ad8847d98f81ee7c3171cb5f89fb696ee15d Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 1 Jun 2017 10:23:50 +0200
Subject: [PATCH 212/236] add automated registration test

---
 www/register/main.js | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/www/register/main.js b/www/register/main.js
index 7d14dc02a..b53a142f1 100644
--- a/www/register/main.js
+++ b/www/register/main.js
@@ -2,8 +2,9 @@ define([
     'jquery',
     '/common/login.js',
     '/common/cryptpad-common.js',
-    '/common/credential.js' // preloaded for login.js
-], function ($, Login, Cryptpad) {
+    '/common/test.js',
+    '/common/credential.js', // preloaded for login.js
+], function ($, Login, Cryptpad, Test) {
     var Messages = Cryptpad.Messages;
 
     $(function () {
@@ -63,6 +64,11 @@ define([
         var $register = $('button#register');
 
         var logMeIn = function (result) {
+            if (Test.testing) {
+                Test.passed();
+                window.alert("Test passed!");
+                return;
+            }
             localStorage.User_hash = result.userHash;
 
             var proxy = result.proxy;
@@ -137,7 +143,6 @@ define([
                                     case 'ALREADY_REGISTERED':
                                         Cryptpad.removeLoadingScreen(function () {
                                             Cryptpad.confirm(Messages.register_alreadyRegistered, function (yes) {
-                                                if (!yes) { return; }
                                                 proxy.login_name = uname;
 
                                                 if (!proxy[Cryptpad.displayNameKey]) {
@@ -153,6 +158,9 @@ define([
                                 }
                                 return;
                             }
+
+                            if (Test.testing) { return void logMeIn(result); }
+
                             Cryptpad.eraseTempSessionValues();
                             if (shouldImport) {
                                 sessionStorage.migrateAnonDrive = 1;
@@ -176,5 +184,18 @@ define([
                 $dialog.find('> div').addClass('half');
             });
         });
+
+        Test(function () {
+            $uname.val('test' + Math.random());
+            $passwd.val('test');
+            $confirm.val('test');
+            $checkImport[0].checked = true;
+            $checkAcceptTerms[0].checked = true;
+            $register.click();
+
+            window.setTimeout(function () {
+                Cryptpad.findOKButton().click()
+            }, 1000);
+        });
     });
 });

From bd3dcebf1f05fe7d10a60948cdf8f1be932e1778 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 1 Jun 2017 10:26:46 +0200
Subject: [PATCH 213/236] add registration to tests

---
 TestSelenium.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/TestSelenium.js b/TestSelenium.js
index ace6d2656..2a39d9cfc 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -27,6 +27,7 @@ var SC_GET_DATA = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__.
 var failed = false;
 var nt = nThen;
 [
+    '/register/#?test=test',
     '/assert/#?test=test',
   //  '/auth/#?test=test' // TODO(cjd): Not working on automatic tests, understand why.
 ].forEach(function (path) {
@@ -76,4 +77,4 @@ nt(function (waitFor) {
     driver.quit().then(waitFor(function () {
         if (failed) { process.exit(100); }
     }));
-});
\ No newline at end of file
+});

From 6eb3b6800fe94c573ed415dadf3105ea16b11a1a Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 1 Jun 2017 10:27:30 +0200
Subject: [PATCH 214/236] try safari 9

---
 .travis.yml     | 3 ++-
 TestSelenium.js | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index a535229b7..883f6eecb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,8 @@ env:
     - "BROWSER='chrome::Windows 10'"
     - "BROWSER='MicrosoftEdge:14.14393:Windows 10'"
     - "BROWSER='internet explorer:11.103:Windows 10'"
-    - "BROWSER='safari:10.0:macOS 10.12'"
+    #- "BROWSER='safari:10.0:macOS 10.12'"
+    - "BROWSER='safari:9.0:OS X 10.11'"
 branches:
   only:
     - master
diff --git a/TestSelenium.js b/TestSelenium.js
index ace6d2656..fde69222e 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -7,6 +7,7 @@ if (process.env.TRAVIS_PULL_REQUEST && process.env.TRAVIS_PULL_REQUEST !== 'fals
     return;
 }
 
+// https://wiki.saucelabs.com/display/DOCS/Platform+Configurator#/
 var driver;
 if (process.env.SAUCE_USERNAME !== undefined) {
     var browserArray = process.env.BROWSER.split(':');

From c65ca5cfc6f81cff3329c4468de77523ffe5b237 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 1 Jun 2017 10:35:42 +0200
Subject: [PATCH 215/236] restore deleted line and add missing semicolon

---
 www/register/main.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/www/register/main.js b/www/register/main.js
index b53a142f1..bdaca5197 100644
--- a/www/register/main.js
+++ b/www/register/main.js
@@ -143,6 +143,7 @@ define([
                                     case 'ALREADY_REGISTERED':
                                         Cryptpad.removeLoadingScreen(function () {
                                             Cryptpad.confirm(Messages.register_alreadyRegistered, function (yes) {
+                                                if (!yes) { return; }
                                                 proxy.login_name = uname;
 
                                                 if (!proxy[Cryptpad.displayNameKey]) {
@@ -194,7 +195,7 @@ define([
             $register.click();
 
             window.setTimeout(function () {
-                Cryptpad.findOKButton().click()
+                Cryptpad.findOKButton().click();
             }, 1000);
         });
     });

From 282095f67434d93d830f0ba96342021abbdd5e3a Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 1 Jun 2017 10:40:41 +0200
Subject: [PATCH 216/236] disable failing tests

---
 .travis.yml     | 2 +-
 TestSelenium.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 883f6eecb..5e753c34c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,7 +6,7 @@ env:
     - "BROWSER='MicrosoftEdge:14.14393:Windows 10'"
     - "BROWSER='internet explorer:11.103:Windows 10'"
     #- "BROWSER='safari:10.0:macOS 10.12'"
-    - "BROWSER='safari:9.0:OS X 10.11'"
+    #- "BROWSER='safari:9.0:OS X 10.11'"
 branches:
   only:
     - master
diff --git a/TestSelenium.js b/TestSelenium.js
index 373bd0ba6..fccd4e067 100644
--- a/TestSelenium.js
+++ b/TestSelenium.js
@@ -28,7 +28,7 @@ var SC_GET_DATA = "return (window.__CRYPTPAD_TEST__) ? window.__CRYPTPAD_TEST__.
 var failed = false;
 var nt = nThen;
 [
-    '/register/#?test=test',
+    //'/register/#?test=test',
     '/assert/#?test=test',
   //  '/auth/#?test=test' // TODO(cjd): Not working on automatic tests, understand why.
 ].forEach(function (path) {

From 7bf17c0d3297454dd1b98edc540f5f04b6bf97f9 Mon Sep 17 00:00:00 2001
From: Caleb James DeLisle <cjd@cjdns.fr>
Date: Thu, 1 Jun 2017 10:56:11 +0200
Subject: [PATCH 217/236] drop edge and IE from the test matrix

---
 .travis.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 5e753c34c..09967f1f1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,8 +3,8 @@ env:
   matrix:
     - "BROWSER='firefox::Windows 10'"
     - "BROWSER='chrome::Windows 10'"
-    - "BROWSER='MicrosoftEdge:14.14393:Windows 10'"
-    - "BROWSER='internet explorer:11.103:Windows 10'"
+    #- "BROWSER='MicrosoftEdge:14.14393:Windows 10'"
+    #- "BROWSER='internet explorer:11.103:Windows 10'"
     #- "BROWSER='safari:10.0:macOS 10.12'"
     #- "BROWSER='safari:9.0:OS X 10.11'"
 branches:

From 55af84cc90144ab455107ecfd6cfe87a19f026af Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 1 Jun 2017 14:27:06 +0200
Subject: [PATCH 218/236] lower spinner timeout interval

---
 www/common/toolbar2.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js
index 7c24bc900..d4e5931f1 100644
--- a/www/common/toolbar2.js
+++ b/www/common/toolbar2.js
@@ -10,7 +10,7 @@ define([
         constants: {},
     };
 
-    var SPINNER_DISAPPEAR_TIME = 3000;
+    var SPINNER_DISAPPEAR_TIME = 1000;
 
     // Toolbar parts
     var TOOLBAR_CLS = Bar.constants.toolbar = 'cryptpad-toolbar';

From f631973f1f97c46c25f46643c5dd5f6c367037af Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 1 Jun 2017 18:16:02 +0200
Subject: [PATCH 219/236] optimize file upload

---
 rpc.js            | 17 ++++++++++++++---
 www/common/rpc.js | 18 ++++++++++++++++++
 www/file/main.js  |  2 +-
 3 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/rpc.js b/rpc.js
index 8be2f1df8..d3b81647a 100644
--- a/rpc.js
+++ b/rpc.js
@@ -84,6 +84,7 @@ var unescapeKeyCharacters = function (key) {
     return key.replace(/\-/g, '/');
 };
 
+//  TODO Rename to getSession ?
 var beginSession = function (Sessions, key) {
     var safeKey = escapeKeyCharacters(key);
     if (Sessions[safeKey]) {
@@ -625,6 +626,7 @@ var makeFileStream = function (root, id, cb) {
             var stream = Fs.createWriteStream(full, {
                 flags: 'a',
                 encoding: 'binary',
+                highWaterMark: Math.pow(2, 16),
             });
             stream.on('open', function () {
                 cb(void 0, stream);
@@ -637,12 +639,15 @@ var makeFileStream = function (root, id, cb) {
 
 var upload = function (Env, publicKey, content, cb) {
     var paths = Env.paths;
-    var dec = new Buffer(Nacl.util.decodeBase64(content)); // jshint ignore:line
+    var dec;
+    try { dec = Buffer.from(content, 'base64'); }
+    catch (e) { return void cb(e); }
     var len = dec.length;
 
     var session = beginSession(Env.Sessions, publicKey);
 
-    if (typeof(session.currentUploadSize) !== 'number') {
+    if (typeof(session.currentUploadSize) !== 'number' ||
+        typeof(session.currentUploadSize) !== 'number') {
         // improperly initialized... maybe they didn't check before uploading?
         // reject it, just in case
         return cb('NOT_READY');
@@ -670,6 +675,12 @@ var upload = function (Env, publicKey, content, cb) {
 
 var upload_cancel = function (Env, publicKey, cb) {
     var paths = Env.paths;
+
+    var session = beginSession(Env.Sessions, publicKey);
+    delete session.currentUploadSize;
+    delete session.pendingUploadSize;
+    if (session.blobstage) { session.blobstage.close(); }
+
     var path = makeFilePath(paths.staging, publicKey);
     if (!path) {
         console.log(paths.staging, publicKey);
@@ -797,7 +808,7 @@ var isAuthenticatedCall = function (call) {
         'UPDATE_LIMITS',
         'GET_LIMIT',
         'GET_MULTIPLE_FILE_SIZE',
-        'UPLOAD',
+        //'UPLOAD',
         'UPLOAD_COMPLETE',
         'UPLOAD_CANCEL',
     ].indexOf(call) !== -1;
diff --git a/www/common/rpc.js b/www/common/rpc.js
index 45fe1eaec..a39e410dd 100644
--- a/www/common/rpc.js
+++ b/www/common/rpc.js
@@ -129,6 +129,24 @@ types of messages:
             return sendMsg(ctx, data, cb);
         };
 
+        send.unauthenticated = function (type, msg, cb) {
+            if (!ctx.connected) {
+                return void window.setTimeout(function () {
+                    cb('DISCONNECTED');
+                });
+            }
+
+            // construct an unsigned message
+            var data = [null, edPublicKey, null, type, msg];
+            if (ctx.cookie && ctx.cookie.join) {
+                data[2] = ctx.cookie.join('|');
+            } else {
+                data[2] = ctx.cookie;
+            }
+
+            return sendMsg(ctx, data, cb);
+        };
+
         network.on('message', function (msg) {
             onMsg(ctx, msg);
         });
diff --git a/www/file/main.js b/www/file/main.js
index 0c5e8f3a1..8d582a183 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -65,7 +65,7 @@ define([
             var enc = Nacl.util.encodeBase64(box);
 
             chunks.push(box);
-            Cryptpad.rpc.send('UPLOAD', enc, function (e, msg) {
+            Cryptpad.rpc.send.unauthenticated('UPLOAD', enc, function (e, msg) {
                 console.log(box);
                 cb(e, msg);
             });

From 6db5b4b559450c34f03eca97e2e94d2038880524 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Thu, 1 Jun 2017 18:16:37 +0200
Subject: [PATCH 220/236] ignore blobstage

---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index 139fab33c..fc1136152 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,4 +13,5 @@ data
 npm-debug.log
 pins/
 blob/
+blobstage/
 privileged.conf

From f6e443aeb26df1b2d8d6229fa8cf6af56769a19b Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 2 Jun 2017 11:45:07 +0200
Subject: [PATCH 221/236] put cookie requests back on authenticated rpc list

---
 rpc.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/rpc.js b/rpc.js
index d3b81647a..715abd118 100644
--- a/rpc.js
+++ b/rpc.js
@@ -798,7 +798,7 @@ var upload_status = function (Env, publicKey, filesize, cb) {
 
 var isAuthenticatedCall = function (call) {
     return [
-        //'COOKIE',
+        'COOKIE',
         'RESET',
         'PIN',
         'UNPIN',
@@ -893,6 +893,9 @@ RPC.create = function (config /*:typeof(ConfigType)*/, cb /*:(?Error, ?Function)
             public key which you provided.
 
             We can safely modify the state for that key
+
+            OR it's an unauthenticated call, which must not modify the state
+            for that key in a meaningful way.
         */
 
         // discard validated cookie from message

From 8f7aaecc1ca58a6d160c4f554c4c5d9cc8cc2429 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 2 Jun 2017 11:45:54 +0200
Subject: [PATCH 222/236] cache some selectors and decrease memory demands

---
 www/file/main.js | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/www/file/main.js b/www/file/main.js
index 8d582a183..e05a1bcc7 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -50,8 +50,18 @@ define([
         if (queue.inProgress) { return; }
         queue.inProgress = true;
 
-        var $cancelCell = $table.find('tr[id="'+id+'"]').find('.upCancel');
-        $cancelCell.html('-');
+        var $row = $table.find('tr[id="'+id+'"]');
+
+        var $cancelCell = $row.find('.upCancel').html('-');
+        var $pv = $row.find('.progressValue');
+        var $pb = $row.find('.progressContainer');
+
+        var updateProgress = function (progressValue) {
+            $pv.text(Math.round(progressValue*100)/100 + '%');
+            $pb.css({
+                width: (progressValue/100)*188+'px'
+            });
+        };
 
         var u8 = new Uint8Array(blob);
 
@@ -59,12 +69,9 @@ define([
         var next = FileCrypto.encrypt(u8, metadata, key);
 
         var estimate = FileCrypto.computeEncryptedSize(blob.byteLength, metadata);
-        var chunks = [];
 
         var sendChunk = function (box, cb) {
             var enc = Nacl.util.encodeBase64(box);
-
-            chunks.push(box);
             Cryptpad.rpc.send.unauthenticated('UPLOAD', enc, function (e, msg) {
                 console.log(box);
                 cb(e, msg);
@@ -77,16 +84,10 @@ define([
             if (box) {
                 actual += box.length;
                 var progressValue = (actual / estimate * 100);
+                updateProgress(progressValue);
 
                 return void sendChunk(box, function (e) {
                     if (e) { return console.error(e); }
-                    var $pv = $table.find('tr[id="'+id+'"]').find('.progressValue');
-                    $pv.text(Math.round(progressValue*100)/100 + '%');
-                    var $pb = $table.find('tr[id="'+id+'"]').find('.progressContainer');
-                    $pb.css({
-                        width: (progressValue/100)*188+'px'
-                    });
-
                     next(again);
                 });
             }

From 767793b5ca7ae5c72719fc91142bd672fa9eb7e4 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 2 Jun 2017 12:13:11 +0200
Subject: [PATCH 223/236] fix stuck loading tip

---
 customize.dist/main.css              | 2 ++
 customize.dist/src/less/loading.less | 3 +++
 www/common/common-interface.js       | 9 +++++----
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/customize.dist/main.css b/customize.dist/main.css
index 36bc87fdc..49f06eedc 100644
--- a/customize.dist/main.css
+++ b/customize.dist/main.css
@@ -387,6 +387,8 @@
   left: 0;
   right: 0;
   text-align: center;
+  transition: opacity 750ms;
+  transition-delay: 3000ms;
 }
 @media screen and (max-height: 600px) {
   .cp #loadingTip {
diff --git a/customize.dist/src/less/loading.less b/customize.dist/src/less/loading.less
index 6dcf2491a..cc23c49d9 100644
--- a/customize.dist/src/less/loading.less
+++ b/customize.dist/src/less/loading.less
@@ -36,6 +36,9 @@
     left: 0;
     right: 0;
     text-align: center;
+
+    transition: opacity 750ms;
+    transition-delay: 3000ms;
     @media screen and (max-height: @media-medium-screen) {
         display: none;
     }
diff --git a/www/common/common-interface.js b/www/common/common-interface.js
index b2b5dad10..19066b06f 100644
--- a/www/common/common-interface.js
+++ b/www/common/common-interface.js
@@ -194,10 +194,11 @@ define([
     };
     UI.removeLoadingScreen = function (cb) {
         $('#' + LOADING).fadeOut(750, cb);
-        $('#loadingTip').css('top', '');
-        window.setTimeout(function () {
-            $('#loadingTip').fadeOut(750);
-        }, 3000);
+        $('#loadingTip').css('top', '')
+        // loading.less sets transition-delay: $wait-time
+        // and               transition: opacity $fadeout-time
+            .css('opacity', 0);
+        // jquery.fadeout can get stuck
     };
     UI.errorLoadingScreen = function (error, transparent) {
         if (!$('#' + LOADING).is(':visible')) { UI.addLoadingScreen(undefined, true); }

From 65233c24648d6f2310d52cde79d1488154536063 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 2 Jun 2017 16:16:17 +0200
Subject: [PATCH 224/236] remove unused variable

---
 www/file/main.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/www/file/main.js b/www/file/main.js
index e05a1bcc7..82c5d01fe 100644
--- a/www/file/main.js
+++ b/www/file/main.js
@@ -52,7 +52,7 @@ define([
 
         var $row = $table.find('tr[id="'+id+'"]');
 
-        var $cancelCell = $row.find('.upCancel').html('-');
+        $row.find('.upCancel').html('-');
         var $pv = $row.find('.progressValue');
         var $pb = $row.find('.progressContainer');
 

From 77d4ffba8647c825da10d0f74c91909db0fafd41 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Fri, 2 Jun 2017 17:39:45 +0200
Subject: [PATCH 225/236] animate preview mode sidebar

---
 www/code/code.css  |  1 +
 www/code/code.less |  3 +++
 www/code/main.js   | 10 ++++++++--
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/www/code/code.css b/www/code/code.css
index 78a4b7bf2..589544493 100644
--- a/www/code/code.css
+++ b/www/code/code.css
@@ -18,6 +18,7 @@ body {
   display: inline-block;
   height: 100%;
   width: 50%;
+  transition: width 500ms, min-width 500ms, max-width 500ms;
   min-width: 20%;
   max-width: 80%;
   resize: horizontal;
diff --git a/www/code/code.less b/www/code/code.less
index ef7cef32d..04e3ab615 100644
--- a/www/code/code.less
+++ b/www/code/code.less
@@ -16,10 +16,13 @@ body {
     max-height: 100%;
     min-height: auto;
 }
+
+@slideTime: 500ms;
 .CodeMirror {
     display: inline-block;
     height: 100%;
     width: 50%;
+    transition: width @slideTime, min-width @slideTime, max-width @slideTime;
     min-width: 20%;
     max-width: 80%;
     resize: horizontal;
diff --git a/www/code/main.js b/www/code/main.js
index 2ad40bdb2..ce3b88621 100644
--- a/www/code/main.js
+++ b/www/code/main.js
@@ -53,6 +53,7 @@ define([
 
         var andThen = function (CMeditor) {
             var CodeMirror = Cryptpad.createCodemirror(CMeditor, ifrw, Cryptpad);
+            $iframe.find('.CodeMirror').addClass('fullPage');
             editor = CodeMirror.editor;
 
             var $bar = $('#pad-iframe')[0].contentWindow.$('#cme_toolbox');
@@ -145,8 +146,13 @@ define([
                 var $codeMirror = $iframe.find('.CodeMirror');
                 if (mode === "markdown") {
                     APP.$previewButton.show();
-                    $previewContainer.show();
-                    $codeMirror.removeClass('fullPage');
+                    Cryptpad.getPadAttribute('previewMode', function (e, data) {
+                        if (e) { return void console.error(e); }
+                        if (data !== false) {
+                            $previewContainer.show();
+                            $codeMirror.removeClass('fullPage');
+                        }
+                    });
                     return;
                 }
                 APP.$previewButton.hide();

From b9b8352633313240050faad1cb3684848a1e1a21 Mon Sep 17 00:00:00 2001
From: jxtsai <chihsun.tsai@gmail.com>
Date: Mon, 5 Jun 2017 15:10:13 +0800
Subject: [PATCH 226/236] Traditional Chinese

---
 customize.dist/messages.js                 |   1 +
 customize.dist/translations/messages.zh.js | 545 +++++++++++++++++++++
 2 files changed, 546 insertions(+)
 create mode 100644 customize.dist/translations/messages.zh.js

diff --git a/customize.dist/messages.js b/customize.dist/messages.js
index 2dac5b6c9..67759a15e 100644
--- a/customize.dist/messages.js
+++ b/customize.dist/messages.js
@@ -9,6 +9,7 @@ var map = {
     'de': 'Deutsch',
     'pt-br': 'Português do Brasil',
     'ro': 'Română',
+    'zh': '繁體中文',
 };
 
 var getStoredLanguage = function () { return localStorage.getItem(LS_LANG); };
diff --git a/customize.dist/translations/messages.zh.js b/customize.dist/translations/messages.zh.js
new file mode 100644
index 000000000..ac9b273e8
--- /dev/null
+++ b/customize.dist/translations/messages.zh.js
@@ -0,0 +1,545 @@
+define(function () {
+    var out = {};
+    // translations must set this key for their language to be available in
+    // the language dropdowns that are shown throughout Cryptpad's interface
+
+    out._languageName = 'Chinese';  
+
+    out.main_title = "CryptPad: 零知識, 即時協作編寫";
+    out.main_slogan = "團結就是力量 - 合作是關鍵"; // TODO remove?
+
+    out.type = {};
+    out.type.pad = '富文本';
+    out.type.code = '編碼';
+    out.type.poll = '投票';
+    out.type.slide = '投影片簡報';
+    out.type.drive = '磁碟';
+    out.type.whiteboard = '白板';
+    out.type.file = '檔案';
+    out.type.media = '多媒體';
+
+    out.button_newpad = '富文件檔案';
+    out.button_newcode = '新代碼檔案';
+    out.button_newpoll = '新投票調查';
+    out.button_newslide = '新簡報';
+    out.button_newwhiteboard = '新白板';
+
+    // NOTE: We want to update the 'common_connectionLost' key.
+    // Please do not add a new 'updated_common_connectionLostAndInfo' but change directly the value of 'common_connectionLost'
+    out.updated_0_common_connectionLost = "<b>伺服器連線中斷</b><br>現在是唯讀狀態,直到連線恢復正常。";
+    out.common_connectionLost = out.updated_0_common_connectionLost;
+
+    out.websocketError = '無法連結上 websocket 伺服器...';
+    out.typeError = "這個編輯檔與所選的應用程式並不相容";
+    out.onLogout = '你已登出, <a href="/" target="_blank">點擊這裏</a> 來登入<br>或按<em>Escape</em> 來以唯讀模型使用你的編輯檔案';
+    out.wrongApp = "無法在瀏覽器顯示即時期間的內容,請試著再重新載入本頁。";
+
+    out.loading = "載入中...";
+    out.error = "錯誤";
+    out.saved = "儲存";
+    out.synced = "所有資料已儲存好了";
+    out.deleted = "自 CryptDrive 刪除檔案";
+
+    out.disconnected = '已斷線';
+    out.synchronizing = '同步中';
+    out.reconnecting = '重新連結...';
+    out.lag = 'Lag';
+    out.readonly = '唯讀';
+    out.anonymous = "匿名";
+    out.yourself = "你自己";
+    out.anonymousUsers = "匿名的編輯群";
+    out.anonymousUser = "匿名的編輯群者";
+    out.users = "用戶";
+    out.and = "與";
+    out.viewer = "檢視者";
+    out.viewers = "檢視群";
+    out.editor = "編輯者";
+    out.editors = "編輯群";
+
+    out.language = "語言";
+
+    out.comingSoon = "即將上市...";
+
+    out.newVersion = '<b>CryptPad 已更新!</b><br>' +
+                     '檢查最新版本有什麼新功能:<br>'+
+                     '<a href="https://github.com/xwiki-labs/cryptpad/releases/tag/{0}" target="_blank">CryptPad新發佈記事 {0}</a>';
+
+    out.upgrade = "昇級";
+    out.upgradeTitle = "昇級帳戶以取得更多的儲存空間";
+    out.MB = "MB";
+    out.GB = "GB";
+    out.KB = "KB";
+
+    out.formattedMB = "{0} MB";
+    out.formattedGB = "{0} GB";
+    out.formattedKB = "{0} KB";
+
+    out.greenLight = "每件事都很順利";
+    out.orangeLight = "連線速度慢可能會影響用戶體驗";
+    out.redLight = "你這段期間的連線已中斷";
+
+    out.pinLimitReached = "你已達到儲存容量上限";
+    out.updated_0_pinLimitReachedAlert = "你已達到儲存容量上限,新檔案不會儲存到你的 CryptDrive.<br>" +
+        '要嘛你可以自 CryptDrive 移除原有文件或是 <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">昇級到付費版</a>增加你的儲存容量。';
+    out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert;
+    out.pinAboveLimitAlert = '這個版本中, 我們對免費用戶實施 50MB 容量上限的儲存限制,你目前已使用了 {0}。你可以刪除一些檔案或是昇級到付費帳戶 <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>。你的貢獻可助我們改善 CryptPad 並散佈零知識技術。可聯絡 <a href="https://accounts.cryptpad.fr/#/support" target="_blank">用戶支援</a>如果有任何問題的話。';
+    out.pinLimitNotPinned = "你已達到容量使用上限<br>"+
+                            "這個檔案無法儲存到你的 CryptDrive.";
+    out.pinLimitDrive = "你已達到容量使用上限<br>" +
+                        "你不能建立新的編輯檔案";
+    out.importButtonTitle = '從電腦上傳滙入檔案';
+
+    out.exportButtonTitle = '將這個檔案滙出到電腦';
+    out.exportPrompt = '你希望怎麼命名你的檔案?';
+
+    out.changeNamePrompt = '更換你的名稱(若留空白則會成為無名氏): ';
+    out.user_rename = "改變顯示名稱";
+    out.user_displayName = "顯示名稱";
+    out.user_accountName = "帳號名稱";
+
+    out.clickToEdit = "點擊以編輯";
+
+    out.forgetButtonTitle = '將這個檔案移置垃圾筒';
+    out.forgetPrompt = '點擊 OK 將把這個檔案移置垃圾筒,確定要這樣做嗎';
+    out.movedToTrash = '這個檔案已被移置垃圾筒<br><a href="/drive/">讀取我的雲端硬碟</a>';
+
+    out.shareButton = '分享';
+    out.shareSuccess = '複製連結到剪貼版';
+
+    out.newButton = '新';
+    out.newButtonTitle = '建立新的工作檔案';
+
+    out.saveTemplateButton = "存成模版";
+    out.saveTemplatePrompt = "為這個模版選一個標題";
+    out.templateSaved = "模版已儲存!";
+    out.selectTemplate = "選擇一個模版或是按 escape 跳出";
+
+    out.previewButtonTitle = "顯示或隱藏 Markdown 預覽模式";
+
+    out.presentButtonTitle = "輸入簡報模式";
+    out.presentSuccess = '按 ESC 以退出簡報模式';
+
+    out.backgroundButtonTitle = '改變簡報的顏色背景';
+    out.colorButtonTitle = '在簡報模式下改變文字顏色';
+
+    out.printButton = "列印 (enter)";
+    out.printButtonTitle = "列印投影片或滙出成 PDF 檔案";
+    out.printOptions = "版型選項";
+    out.printSlideNumber = "顯示投影片號碼";
+    out.printDate = "顯示日期";
+    out.printTitle = "顯示檔案標題";
+    out.printCSS = "自定風格規則 (CSS):";
+    out.printTransition = "啟用轉場動畫";
+
+    out.slideOptionsTitle = "自定你的投影片";
+    out.slideOptionsButton = "儲存 (enter)";
+
+    out.editShare = "編輯連結";
+    out.editShareTitle = "複製所編輯的連結到剪貼版";
+    out.editOpen = "在新分頁開啟連結編輯";
+    out.editOpenTitle = "在新分頁開啟這個檔案為編輯模式";
+    out.viewShare = "唯讀連結";
+    out.viewShareTitle = "複製唯讀的連結到剪貼版";
+    out.viewOpen = "在新分頁開啟唯讀連結";
+    out.viewOpenTitle = "在新分頁開啟這個檔案為唯讀模式";
+
+    out.notifyJoined = "{0} 已加入此協作期間";
+    out.notifyRenamed = "{0} 現在改名為 {1}";
+    out.notifyLeft = "{0} 已離開了這個協作期間";
+
+    out.okButton = 'OK (enter)';
+
+    out.cancel = "取消";
+    out.cancelButton = '取消 (esc)';
+
+    out.historyButton = "顯示文件歷史";
+    out.history_next = "到下一個版本";
+    out.history_prev = "到之前的版本";
+    out.history_goTo = "到所選擇的版本";
+    out.history_close = "回到";
+    out.history_closeTitle = "關閉歷史記錄";
+    out.history_restore = "重建";
+    out.history_restoreTitle = "將此文件重建到所挑選的版本";
+    out.history_restorePrompt = "確定要將這個展現的版本來取代現有版本嗎?";
+    out.history_restoreDone = "文件已重建";
+    out.history_version = "版本:";
+
+    // Polls
+
+    out.poll_title = "零知識日期挑選";
+    out.poll_subtitle = "零知識, <em>即時</em> 排程";
+
+    out.poll_p_save = "你的設定會立即更新, 因此從不需要按鍵儲存或擔心遺失。";
+    out.poll_p_encryption = "你所有幹入的資料都會予以加密,只有取得連結者才可以讀取它。即便是伺服器也不能看到你作了什麼變動。";
+
+    out.wizardLog = "點擊左上方的按鍵以回到你的調查";
+    out.wizardTitle = "使用精靈來建立調查投票";
+    out.wizardConfirm = "你真的要新增這些問題到你的調查中嗎?";
+
+    out.poll_publish_button = "發佈";
+    out.poll_admin_button = "管理者";
+    out.poll_create_user = "新增使用者";
+    out.poll_create_option = "新增選項";
+    out.poll_commit = "投入";
+
+    out.poll_closeWizardButton = "關閉協助精靈";
+    out.poll_closeWizardButtonTitle = "關閉協助精靈";
+    out.poll_wizardComputeButton = "計算最適化";
+    out.poll_wizardClearButton = "清除表格";
+    out.poll_wizardDescription = "透過輸入任何日期或時間分段,可自動建立一些選項";
+    out.poll_wizardAddDateButton = "+ 日期";
+    out.poll_wizardAddTimeButton = "+ 時間";
+
+    out.poll_optionPlaceholder = "選項";
+    out.poll_userPlaceholder = "你的名稱";
+    out.poll_removeOption = "確定要移除這個選項嗎?";
+    out.poll_removeUser = "確定要移除這位使用者嗎?";
+
+    out.poll_titleHint = "標題";
+    out.poll_descriptionHint = "請簡述這個調查目的,完成時使用「發佈鍵」。任何知道此調查連結者可以更改這裏的描述內容,但我們不鼓勵這麼做。.";
+
+    // Canvas
+    out.canvas_clear = "清除";
+    out.canvas_delete = "刪除所選";
+    out.canvas_disable = "取消繪圖";
+    out.canvas_enable = "啟動繪圖";
+    out.canvas_width = "寛度";
+    out.canvas_opacity = "透明度";
+
+    // File manager
+
+    out.fm_rootName = "根目錄";
+    out.fm_trashName = "垃圾桶";
+    out.fm_unsortedName = "未整理的檔案";
+    out.fm_filesDataName = "所有檔案";
+    out.fm_templateName = "模版";
+    out.fm_searchName = "搜尋";
+    out.fm_searchPlaceholder = "搜尋...";
+    out.fm_newButton = "新的";
+    out.fm_newButtonTitle = "建立新工作檔案或資料夾";
+    out.fm_newFolder = "新資料夾";
+    out.fm_newFile = "新工作檔案";
+    out.fm_folder = "資料夾";
+    out.fm_folderName = "資料夾名稱";
+    out.fm_numberOfFolders = "# 個資料夾";
+    out.fm_numberOfFiles = "# 檔案";
+    out.fm_fileName = "檔案名";
+    out.fm_title = "標題";
+    out.fm_type = "類型";
+    out.fm_lastAccess = "上回使用";
+    out.fm_creation = "創建";
+    out.fm_forbidden = "禁止的行為";
+    out.fm_originalPath = "原始路徑";
+    out.fm_openParent = "顯示在目錄夾中";
+    out.fm_noname = "無標題文件";
+    out.fm_emptyTrashDialog = "確定要清理垃圾筒嗎?";
+    out.fm_removeSeveralPermanentlyDialog = "確定要將這些 {0} 東西永自垃圾筒移除嗎?";
+    out.fm_removePermanentlyDialog = "你確定要永久地移除這些項目嗎?";
+    out.fm_removeSeveralDialog = "確定要將這些 {0} 東西移至垃圾筒嗎?";
+    out.fm_removeDialog = "確定要將移動 {0} 至垃圾筒嗎?";
+    out.fm_restoreDialog = "確定要重置 {0} 到它之前的位置嗎?";
+    out.fm_unknownFolderError = "所選或上回訪問的目錄不再存在了,正開啟上層目錄中...";
+    out.fm_contextMenuError = "無法在此元件下打開文本選單。如果這個問題一直發生,請試著重新載入此頁。";
+    out.fm_selectError = "無法選取目標的要素。如果這個問題一直發生,請試著重新載入此頁。";
+    out.fm_categoryError = "無法打開所選的類別,正在顯示根目錄。";
+    out.fm_info_root = "在此建立任何巢狀目錄夾以便於整理分類你的檔案。";
+    out.fm_info_unsorted = '包含所有你曾訪問過的檔案,其尚未被整理在 "根目錄" 或移到到"垃圾筒".';「// "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName"
+    out.fm_info_template = '包含所有工作檔案已存成模版,便於讓你在建立新工作檔案時套用。';
+    out.updated_0_fm_info_trash = '清空垃圾筒好讓 CryptDrive 多出一些空間';
+    out.fm_info_trash = out.updated_0_fm_info_trash;
+    out.fm_info_allFiles = '包含在 "根目錄", "未整理的" 和 "垃圾筒" 裏的所有檔案。這裏你無法移動或移除檔案。'; // Same here
+    out.fm_info_anonymous = '你尚未登入,因此這些工作檔案可能會被刪除。 (<a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">了解原因</a>). ' +
+                            '<a href="/register/">註冊</a>或<a href="/login/">登入</a>以便保留它們。';
+    out.fm_alert_backupUrl = "這個雲端硬碟的備份連結<br>" +
+                             "<strong>高度建議</strong>把自己的 IP 資訊保留成只有自己知道<br>" +
+                             "萬一瀏覽器記憶被消除,你可以用它來接收所有的檔案。<br>" +
+                             "任何知道此連結的人可以編輯或移除你檔案管理底下的所有檔案。<br>";
+    out.fm_alert_anonymous = "嗨你好, 你目前正以匿名方式在使用 CryptPad , 這也沒問題,不過你的東西過一段時間沒動靜後,就會自動被刪除。 " +
+                             "匿名的用戶我們也取消其進階功能,因為我們要明確地讓用戶知道,這裏 " +
+                             '不是一個安全存放東西的地方。你可以 <a href="https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/" target="_blank">進一步了解 </a> 關於 ' +
+                             '為何我們這樣作,以及為何你最好能夠<a href="/register/">註冊</a> 以及 <a href="/login/">登錄</a>使用。';
+    out.fm_backup_title = '備份連結';
+    out.fm_nameFile = '你想要如何來命名這個檔案呢?';
+    out.fm_error_cantPin = "內部伺服器出錯,請重新載入本頁並再試一次。";
+    // File - Context menu
+    out.fc_newfolder = "新資料夾";
+    out.fc_rename = "重新命名";
+    out.fc_open = "打開";
+    out.fc_open_ro = "打開 (唯讀)";
+    out.fc_delete = "刪除";
+    out.fc_restore = "重置";
+    out.fc_remove = "永久刪除";
+    out.fc_empty = "清理垃圾筒";
+    out.fc_prop = "Properties";
+    out.fc_sizeInKilobytes = "容量大小 (Kilobytes)";
+    // fileObject.js (logs)
+    out.fo_moveUnsortedError = "你不能移動資料夾到未整理的工作檔案清單";
+    out.fo_existingNameError = "名稱已被使用,請選擇其它名稱";
+    out.fo_moveFolderToChildError = "你不能移動資料夾到它的子資料夾底下";
+    out.fo_unableToRestore = "無法將這個檔案重置到原始的位置。你可以試著將它移動到其它新位置。";
+    out.fo_unavailableName = "在新位置裏同名的檔案或資料夾名稱已存在,請重新命名後再試看看。";
+
+    // login
+    out.login_login = "登入";
+    out.login_makeAPad = '匿名地建立一個工作檔案';
+    out.login_nologin = "瀏覽本地的工作檔案";
+    out.login_register = "註冊";
+    out.logoutButton = "登出";
+    out.settingsButton = "設定";
+
+    out.login_username = "用戶名";
+    out.login_password = "密碼";
+    out.login_confirm = "確認你的密碼";
+    out.login_remember = "記住我";
+
+    out.login_hashing = "散列你的密碼中,這要花上一點時間";
+
+    out.login_hello = 'Hello {0},'; // {0} is the username
+    out.login_helloNoName = 'Hello,';
+    out.login_accessDrive = '取用你的磁碟';
+    out.login_orNoLogin = '或';
+
+    out.login_noSuchUser = '無效的用戶名或密碼,請再試一次或重新註冊';
+    out.login_invalUser = '要求用戶名';
+    out.login_invalPass = '要求密碼';
+    out.login_unhandledError = '發生了未預期的錯誤 :(';
+
+    out.register_importRecent = "滙入檔案記錄 (建議)";
+    out.register_acceptTerms = "我同意 <a href='/terms.html'>服務條款</a>";
+    out.register_passwordsDontMatch = "密碼不相符!";
+    out.register_mustAcceptTerms = "你必須同意我們的服務條款。";
+    out.register_mustRememberPass = "如果你忘了密碼,我們也無法為你重置。因此務必自行好好記住! 請在勾選處勾選確認。";
+
+    out.register_header = "歡迎來到 CryptPad";
+    out.register_explanation = [
+        "<p>首先讓我們先了解幾件事</p>",
+        "<ul>",
+            "<li>你的密碼是你用來加密所有工作檔案的密鑰。一旦遺失它,我們也沒辦法幫你恢復你的資料。</li>",
+            "<li>你可以滙入近期在瀏覽器下檢視的工作檔案到你的雲端硬碟裏。</li>",
+            "<li>如果你使用的是公用分享電腦,你需要在完成工作後進行登出,只是關閉分頁是不夠的。</li>",
+        "</ul>"
+    ].join('');
+
+    out.register_writtenPassword = "我已記下了我的用戶名和密碼,請繼續";
+    out.register_cancel = "回去";
+
+    out.register_warning = "零知識表示如果你遺失了密碼,我們也無法還原你的資料";
+
+    out.register_alreadyRegistered = "這名用戶己存在了,你要登入嗎?";
+
+    // Settings
+    out.settings_title = "設定";
+    out.settings_save = "儲存";
+    out.settings_backupTitle = "備份或重建你所有的資料";
+    out.settings_backup = "備份";
+    out.settings_restore = "重建";
+    out.settings_resetTitle = "清除你的雲端硬碟";
+    out.settings_reset = "從你的 CryptDrive 移除所有的檔案和資料夾";
+    out.settings_resetPrompt = "這個動作會自你的雲端硬碟中移除所有工作檔案<br>"+
+                               "確定要繼續嗎?<br>" +
+                               "輸入 “<em>I love CryptPad</em>” 來確認。";
+    out.settings_resetDone = "你的目錄現已清空!";
+    out.settings_resetError = "不正確的認證文字,你的 CryptDrive 並未更改。";
+    out.settings_resetTips = "使用 CryptDrive 的竅門";
+    out.settings_resetTipsButton = "在 CryptDrive 下重置可用的訣竅";
+    out.settings_resetTipsDone = "所有的訣竅現在都可再次看到了。";
+
+    out.settings_importTitle = "滙入這個瀏覽器近期的工作檔案到我的 CryptDrive";
+    out.settings_import = "滙入";
+    out.settings_importConfirm = "確定要從這個瀏覽器滙入近期的工作檔案到你的 CryptDrive ?";
+    out.settings_importDone = "滙入完成";
+
+    out.settings_userFeedbackHint1 = "CryptPad 會提供一些基本的反饋到伺服器,以讓我們知道如何改善用戶體驗。";
+    out.settings_userFeedbackHint2 = "你的工作檔案內容絕不會被分享到伺服器";
+    out.settings_userFeedback = "啟用用戶反饋功能";
+
+    out.settings_anonymous = "你尚未登入,在此瀏覽器上進行特別設定。";
+    out.settings_publicSigningKey = "公開金鑰簽署";
+
+    out.settings_usage = "用法";
+    out.settings_usageTitle = "查看所有置頂的工作檔案所佔的容量";
+    out.settings_pinningNotAvailable = "工作檔案置頂功能只開放給已註冊用戶";
+    out.settings_pinningError = "有點不對勁";
+    out.settings_usageAmount = "你置頂的工作檔案佔了 {0}MB";
+
+    out.settings_logoutEverywhereTitle = "自所有地點登出";
+    out.settings_logoutEverywhere = "自所有其它的網頁期間登出";
+    out.settings_logoutEverywhereConfirm = "你確定嗎?你將需要登入到所有用到設置。";
+
+    out.upload_serverError = "伺服器出錯:本次無法上傳你的檔案";
+    out.upload_uploadPending = "你欲上傳檔案正在傳輸中,要取消並上傳新檔案嗎?";
+    out.upload_success = "你的檔案 ({0}) 已成功地上傳並放入到你的網路磁碟中。";
+    out.upload_notEnoughSpace = "你的 CryptDrive 無足夠空間來存放這個檔案。";
+    out.upload_tooLarge = "此檔案超過了上傳單一檔案可允許的容量上限。";
+    out.upload_choose = "選擇一個檔案";
+    out.upload_pending = "待處理";
+    out.upload_cancelled = "已取消的";
+    out.upload_name = "檔案名";
+    out.upload_size = "大小";
+    out.upload_progress = "進度";
+    out.download_button = "解密 & 下載";
+
+    // general warnings
+    out.warn_notPinned = "這個工作檔案並不在任何人的 CryptDrive 裏,它將在 3 個月到期後刪除。 <a href='/about.html#pinning'>進一步了解...</a>";
+
+    // index.html
+
+
+    //about.html
+    out.main_p2 = '本專案使用 <a href="http://ckeditor.com/">CKEditor</a> 視覺編輯器, <a href="https://codemirror.net/">CodeMirror</a>, 以及 <a href="https://github.com/xwiki-contrib/chainpad">ChainPad</a> 即時引擊。';
+    out.main_howitworks_p1 = 'CryptPad 應用一種變體的 <a href="https://en.wikipedia.org/wiki/Operational_transformation">操作型變換 Operational transformation</a> 演算法,它利用<a href="https://bitcoin.org/bitcoin.pdf">Nakamoto Blockchain</a>來找到分散的共識, Nakamoto Blockchain 是一種建構當前流行的<a href="https://en.wikipedia.org/wiki/Bitcoin">比特幣</a>。這套演算法可避免需要一個中央的伺服器來解析操作型變換編輯衝突,而無須處理解析衝突,伺服器並不知道哪一個檔案被編輯。';
+
+    // contact.html
+    out.main_about_p2 = '若有任何問題和建議, 可以在<a href="https://twitter.com/cryptpad">tweet us</a>, <a href="https://github.com/xwiki-labs/cryptpad/issues/" title="our issue tracker">github</a>提出問題, 或是來到 irc (<a href="http://webchat.freenode.net?channels=%23cryptpad&uio=MT1mYWxzZSY5PXRydWUmMTE9Mjg3JjE1PXRydWUe7" title="freenode webchat">irc.freenode.net</a>)打聲招呼, 再或者 <a href="mailto:research@xwiki.com">寄封電郵給我們</a>.';
+
+    out.main_info = "<h1>Collaborate in Confidence</h1><br> 利用共同享文件發嚮點子,透過 <strong>零知識 </strong> 科技確保隱私安全; 對任何網路服務商都要加以提防。";
+
+    out.main_howitworks = '它如何運作';
+    out.main_zeroKnowledge = '零知識';
+    out.main_zeroKnowledge_p = "你不必相信我們所說的<em>並不會</em> 察看你的檔案, CryptPad 革命性的零知識技術讓我們 <em>真的不能看到</em>。 進一步了解在這裏,我們如何保護用戶的 <a href=\"/privacy.html\" title='Privacy'>隱私和安全</a>。";
+    out.main_writeItDown = '寫下它';
+    out.main_writeItDown_p = "偉大的專案來自不起眼的小點子。記下靈感與點子的瞬間,因為你從不會知道哪個會帶來重大突破。";
+    out.main_share = '分享連結, 分享工作檔案';
+    out.main_share_p = "一起來發響想法點子: 在任何設備上,與朋友一起執行有效率的會議, 協作待辦清單與快速製作簡報。";
+    out.main_organize = 'Get organized';
+    out.main_organize_p = "利用 CryptPad 空間, 你可以保留看管重要的東西。資料夾讓你可以追踪專案和全盤了解事情的走向狀況。";
+    out.tryIt = 'Try it out!';
+    out.main_richText = '富文字編輯器';
+    out.main_richText_p = '利用我們的即時零知識技術,集體協作地編輯富文本檔案 <a href="http://ckeditor.com" target="_blank">CkEditor</a> 應用程式application.';
+    out.main_code = '代碼編輯器';
+    out.main_code_p = '利用我們的即時零知識技術,集體協作地編輯程式代碼 <a href="https://www.codemirror.net" target="_blank">CodeMirror</a> 應用程式。';
+    out.main_slide = '投影片編輯器';
+    out.main_slide_p = '使用 Markdown 語法來建立投影片,並利用瀏覽器來展示投影片。';
+    out.main_poll = '調查';
+    out.main_poll_p = '規劃會議或活動,或是為問題舉行投最佳方案的投票。';
+    out.main_drive = 'CryptDrive';
+
+    out.footer_applications = "應用程式";
+    out.footer_contact = "聯繫";
+    out.footer_aboutUs = "關於 Cryptpad";
+
+    out.about = "關於";
+    out.privacy = "隱私";
+    out.contact = "聯繫";
+    out.terms = "服務條款";
+    out.blog = "Blog";
+
+    // privacy.html
+
+    out.policy_title = 'CryptPad 隱私政策';
+    out.policy_whatweknow = '我們會知道哪些關於你的資料';
+    out.policy_whatweknow_p1 = '作為一個網頁上的應用程式, CryptPad 可以接取 HTTP 協議所曝露的元數據。 這包括你的 IP 地址、各式其它的 HTTP 標頭,其用於識別你特定的瀏覽器。 你可以訪問 <a target="_blank" rel="noopener noreferrer" href="https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending" title="what http headers is my browser sending">WhatIsMyBrowser.com</a>這個網站,知道你的瀏覽器分享了哪些資訊。';
+    out.policy_whatweknow_p2 = '我們使用 <a href="https://www.elastic.co/products/kibana" target="_blank" rel="noopener noreferrer" title="open source analytics platform">Kibana</a>, 它是一個開源的流量數據分析平台, 以更了解用戶。Kibana 讓我們知道你是如何地發現 CryptPad, 是透過直接接入、攑搜尋引擊或是其它網站的介紹如 Reddit 和 Twitter。';
+    out.policy_howweuse = '我們如何利用我們知道的東西';
+    out.policy_howweuse_p1 = '我們利用這些資訊評估過去成功的效果,以更佳地決定如何推廣 CryptPad。有關你地理位置的資訊讓我們知道是否該提供英語之外的語言版本支援';
+    out.policy_howweuse_p2 = "有關你的瀏覽器資訊 (是桌面還是手機操作系統) 有助於讓我們決定要優先哪些功能改善。我們開發團隊人很少,我們試著挑選盡可能地提昇更多用戶的使用體驗。";
+    out.policy_whatwetell = '我們可以告訴別人關於你的哪些資料';
+    out.policy_whatwetell_p1 = '我們不會給第三人我們所收集的資訊,除非被依法要求配合。';
+    out.policy_links = '其它網站連結';
+    out.policy_links_p1 = '本站含有其它網站的連結,包括其它組織的産品。我們無法對這些隱私實踐或任何本站以外的內容負責。一般而言,連到外站的連結會另啟新視窗,以明確讓你知道已離開了CryptPad.fr.';
+    out.policy_ads = '廣告';
+    out.policy_ads_p1 = '我們不會放置任何線上廣告,但會提供一些資助我們研究的機構與團體的網址連結';
+    out.policy_choices = '你有的選擇';
+    out.policy_choices_open = '我們的代碼是開放的,你可以選擇自行在自己的機器上來架設自己的 CryptPad.';
+    out.policy_choices_vpn = '如果你要使用我們架設的服務, 但不希望曝露自己的 IP 地址, 你可以利用<a href="https://www.torproject.org/projects/torbrowser.html.en" title="downloads from the Tor project" target="_blank" rel="noopener noreferrer">Tor 瀏覽器套件</a>來保護隱藏 IP 地址, 或是使用 <a href="https://riseup.net/en/vpn" title="VPNs provided by Riseup" target="_blank" rel="noopener noreferrer">VPN</a>。';
+    out.policy_choices_ads = '如果你只是想要封鎖我們的數據分析器, 你可以使用廣告封鎖工具如 <a hre="https://www.eff.org/privacybadger" title="download privacy badger" target="_blank" rel="noopener noreferrer">Privacy Badger</a>.';
+
+    // terms.html
+
+    out.tos_title = "CryptPad 服務條款";
+    out.tos_legal = "請不要惡意、濫用或從事非法活動。";
+    out.tos_availability = "希望你覺得我們的産品與服務對你有所幫助, 但我們並不能一直百分百保證它的表現穩定與可得性。請記得定期滙出你的資料。";
+    out.tos_e2ee = "CryptPad 的內容可以被任何猜出或取得工作檔案分段識別碼的人讀取與修改。我們建議你使用端對端加密 (e2ee) 訊息技術來分享工作檔案連結 以及假設如果一旦連結外漏不會背上任何責任。";
+    out.tos_logs = "你的瀏覽器提供給伺服器的元數據,可能會因為維護本服務之效能而被收集記錄。";
+    out.tos_3rdparties = "除非法令要求,我們不會提供任何個人資料給第三方。";
+
+    // BottomBar.html
+
+    out.bottom_france = '<a href="http://www.xwiki.com/" target="_blank" rel="noopener noreferrer">Made with <img class="bottom-bar-heart" src="/customize/heart.png" alt="love" /> in <img class="bottom-bar-fr" src="/customize/fr.png" alt="France" /></a>';
+    out.bottom_support = '<a href="http://labs.xwiki.com/" title="XWiki Labs" target="_blank" rel="noopener noreferrer">An <img src="/customize/logo-xwiki2.png" alt="XWiki SAS" class="bottom-bar-xwiki"/> Labs Project </a> with the support of <a href="http://ng.open-paas.org/" title="OpenPaaS::ng" target="_blank" rel="noopener noreferrer"> <img src="/customize/openpaasng.png" alt="OpenPaaS-ng" class="bottom-bar-openpaas" /></a>';
+
+    // Header.html
+
+    out.header_france = '<a href="http://www.xwiki.com/" target="_blank" rel="noopener noreferrer">With <img class="bottom-bar-heart" src="/customize/heart.png" alt="love" /> from <img class="bottom-bar-fr" src="/customize/fr.png" title="France" alt="France"/> by <img src="/customize/logo-xwiki.png" alt="XWiki SAS" class="bottom-bar-xwiki"/></a>';
+
+    out.header_support = '<a href="http://ng.open-paas.org/" title="OpenPaaS::ng" target="_blank" rel="noopener noreferrer"> <img src="/customize/openpaasng.png" alt="OpenPaaS-ng" class="bottom-bar-openpaas" /></a>';
+    out.header_logoTitle = '回到主頁';
+
+    // Initial states
+
+    out.initialState = [
+        '<span style="font-size:16px;"><p>',
+        '這是&nbsp;<strong>CryptPad</strong>, 零知識即時協作編輯平台,當你輸入時一切已即存好。',
+        '<br>',
+        '分享這個工作檔案的網址連結給友人或是使用、 <span style="background-color:#5cb85c;color:#ffffff;">&nbsp;分享&nbsp;</span> 按鈕分享<em>唯讀的連結</em>&nbsp;其只能看不能編寫。',
+        '</p>',
+
+        '<p><span style="color:#808080;"><em>',
+        '來吧, 開始打字輸入吧...',
+        '</em></span></p></span>',
+        '<p>&nbsp;<br></p>'
+    ].join('');
+
+    out.codeInitialState = [
+        '# CryptPad 零知識即時協作代碼編輯平台\n',
+        '\n',
+        '* 你所輸入的東西會予以加密,僅有知道此網頁連結者可以接取這份文件。\n',
+        '* 你可以在右上角選擇欲編寫的程式語言以及樣版配色風格。'
+    ].join('');
+
+    out.slideInitialState = [
+        '# CryptSlide\n',
+        '* 它是零知識即時協作編輯平台。\n',
+        '* 你所輸入的東西會予以加密,僅有知道此網頁連結者可以接取這份文件。\n',
+        '* 即便是本站伺服器也不知道你輸入了什麼內容。\n',
+        '* 你在這裏看到的、你在這裏聽到的、當你離開本站時,讓它就留在這裏吧。\n',
+        '\n',
+        '---',
+        '\n',
+        '# 如何使用\n',
+        '1. 使用 markdown 語法來寫下你的投影片內容\n',
+        '  - 進一步學習 markdown 語法 [here](http://www.markdowntutorial.com/)\n',
+        '2. 利用 --- 來區隔不同的投影片\n',
+        '3. 點擊下方 "Play" 鍵來查看成果',
+        '  - 你的投影片會即時更新'
+    ].join('');
+
+    // Readme
+
+    out.driveReadmeTitle = "什麼是 CryptDrive?";
+    out.readme_welcome = "歡迎來到 CryptPad !";
+    out.readme_p1 = "歡迎來到 CryptPad, 這裏你可以獨自作個人筆記或是和別人共享協作。";
+    out.readme_p2 = "這個工作檔案可以讓你快速地了解如何使用 CryptPad 作筆記,有效地整理管理文件工作檔案。";
+    out.readme_cat1 = "認識如何使用 CryptDrive";
+    out.readme_cat1_l1 = "建立一個工作檔案: 在 CryptDrive 底下, 點擊 {0} 然後 {1} 這樣就可以建立一個新的工作檔案。"; // 0: New, 1: Rich Text
+    out.readme_cat1_l2 = "從 CryptDrive 開啟工作檔案: 雙擊工作檔案的圖示來開啟它。";
+    out.readme_cat1_l3 = "分類你的工作檔案:登入之後,每一個你能接取使用的工作檔案會顯示在你雲端硬碟中的 {0} 部份。"; // 0: Unsorted files
+    out.readme_cat1_l3_l1 = "你可以點擊或是拉曳檔案到雲端硬碟 {0} 區,新增資料夾。"; // 0: Documents
+    out.readme_cat1_l3_l2 = "記得試著點擊圖示,以顯示更多的選項功能。";
+    out.readme_cat1_l4 = "把舊的工作檔案放到垃圾筒:點擊或是拉曳檔案到 {0} 如同把它們拉到文件目錄夾一樣的方法。"; // 0: Trash
+    out.readme_cat2 = "像個專業人士來編寫你的工作檔案";
+    out.edit = "編輯";
+    out.view = "檢視";
+    out.readme_cat2_l1 = "在工作檔案下的 {0} 按鍵可讓其它的協作者接取 {1} 或是 {2} 工作檔案"; // 0: Share, 1: edit, 2: view
+    out.readme_cat2_l2 = "若要更改工作檔案的名稱,只要點擊右上的鉛筆圖示即可";
+    out.readme_cat3 = "發現其它的 CryptPad 應用";
+    out.readme_cat3_l1 = "使用 CryptPad 代碼編輯器,你可以和其它人協作各種程式碼,如 Javascript、 markdown、 HTML 等等。";
+    out.readme_cat3_l2 = "使用 CryptPad 投影片編輯功能,你可以使用 Markdown 快速製作簡報檔。";
+    out.readme_cat3_l3 = "利用 CryptPoll 你可以快速作個線上調查,尤其是調查每個人有空的會議時間。";
+
+    // Tips
+    out.tips = {};
+    out.tips.lag = "右上角的綠色圖標顯示你連線至 CryptPad 伺服器的連線品質。";
+    out.tips.shortcuts = "`ctrl+b`, `ctrl+i` 和 `ctrl+u` 分別是粗體字、斜體、與加底線用法的快速鍵。";
+    out.tips.indent = "要使用數字以及符號列表, 可使用 tab 或 shift+tab 快速地增加或滅少縮排指令。";
+    out.tips.title = "點擊正上方來設定工作檔案的標題。";
+    out.tips.store = "每一回你造訪一個工作檔案, 如果是登入狀態,則這些檔案會自動儲存到你的 CryptDrive.";
+    out.tips.marker = "在格式下拉選單中使用 \"marker\" 可以標注反亮文字.";
+
+    out.feedback_about = "如果你讀了這裏,也許會好奇為何當你執行某些動作時 CryptPad 會請求網頁資訊。";
+    out.feedback_privacy = "我們注重你的隱私,同時也要讓 CryptPad 容易使用。我們利用這個檔案來了解哪一種介面設計為用戶所重視,透過它來請求特別的功能參數。";
+    out.feedback_optout = "如果欲退出客戶資料收集, 請到 <a href='/settings/'>用戶設定頁</a>, 可以找到勾選項目來啟用或關閉用戶回饋功能。";
+
+    return out;
+});
+

From 8d4017b79ea8acb1a1810a08bb09cb5186785643 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Mon, 5 Jun 2017 11:35:05 +0200
Subject: [PATCH 227/236] fix parse error

---
 customize.dist/translations/messages.zh.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/customize.dist/translations/messages.zh.js b/customize.dist/translations/messages.zh.js
index ac9b273e8..af8a37615 100644
--- a/customize.dist/translations/messages.zh.js
+++ b/customize.dist/translations/messages.zh.js
@@ -243,7 +243,7 @@ define(function () {
     out.fm_selectError = "無法選取目標的要素。如果這個問題一直發生,請試著重新載入此頁。";
     out.fm_categoryError = "無法打開所選的類別,正在顯示根目錄。";
     out.fm_info_root = "在此建立任何巢狀目錄夾以便於整理分類你的檔案。";
-    out.fm_info_unsorted = '包含所有你曾訪問過的檔案,其尚未被整理在 "根目錄" 或移到到"垃圾筒".';「// "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName"
+    out.fm_info_unsorted = '包含所有你曾訪問過的檔案,其尚未被整理在 "根目錄" 或移到到"垃圾筒".'; // "My Documents" should match with the "out.fm_rootName" key, and "Trash" with "out.fm_trashName"
     out.fm_info_template = '包含所有工作檔案已存成模版,便於讓你在建立新工作檔案時套用。';
     out.updated_0_fm_info_trash = '清空垃圾筒好讓 CryptDrive 多出一些空間';
     out.fm_info_trash = out.updated_0_fm_info_trash;

From f43132a63b58c9dd7e00e031a8f9734177c7ddf8 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 6 Jun 2017 10:01:07 +0200
Subject: [PATCH 228/236] bump version in footer and package.json

---
 customize.dist/about.html                | 2 +-
 customize.dist/contact.html              | 2 +-
 customize.dist/index.html                | 2 +-
 customize.dist/privacy.html              | 2 +-
 customize.dist/src/fragments/footer.html | 2 +-
 customize.dist/terms.html                | 2 +-
 package.json                             | 2 +-
 www/settings/index.html                  | 2 +-
 www/user/index.html                      | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/customize.dist/about.html b/customize.dist/about.html
index 3873351dc..dadd21e3b 100644
--- a/customize.dist/about.html
+++ b/customize.dist/about.html
@@ -117,7 +117,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
+        <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/contact.html b/customize.dist/contact.html
index 182912748..768cf2f7c 100644
--- a/customize.dist/contact.html
+++ b/customize.dist/contact.html
@@ -114,7 +114,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
+        <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/index.html b/customize.dist/index.html
index 9f5195b68..db9cef793 100644
--- a/customize.dist/index.html
+++ b/customize.dist/index.html
@@ -236,7 +236,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
+        <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/privacy.html b/customize.dist/privacy.html
index 13cf05dab..8218dbad2 100644
--- a/customize.dist/privacy.html
+++ b/customize.dist/privacy.html
@@ -135,7 +135,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
+        <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div>
     </footer>
 
 </body>
diff --git a/customize.dist/src/fragments/footer.html b/customize.dist/src/fragments/footer.html
index 55b332a0f..a43182135 100644
--- a/customize.dist/src/fragments/footer.html
+++ b/customize.dist/src/fragments/footer.html
@@ -39,5 +39,5 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
+        <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div>
     </footer>
diff --git a/customize.dist/terms.html b/customize.dist/terms.html
index e5e09e9a0..bda3dcbb9 100644
--- a/customize.dist/terms.html
+++ b/customize.dist/terms.html
@@ -118,7 +118,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
+        <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div>
     </footer>
 
 </body>
diff --git a/package.json b/package.json
index 3f8432ef5..9454404ac 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "cryptpad",
   "description": "realtime collaborative visual editor with zero knowlege server",
-  "version": "1.7.0",
+  "version": "1.8.0",
   "dependencies": {
     "chainpad-server": "^1.0.1",
     "express": "~4.10.1",
diff --git a/www/settings/index.html b/www/settings/index.html
index 3098251de..28b36675e 100644
--- a/www/settings/index.html
+++ b/www/settings/index.html
@@ -108,7 +108,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
+        <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div>
     </footer>
 
 </body>
diff --git a/www/user/index.html b/www/user/index.html
index 3098251de..28b36675e 100644
--- a/www/user/index.html
+++ b/www/user/index.html
@@ -108,7 +108,7 @@
                     </div>
             </div>
         </div>
-            <div class="version-footer">CryptPad v1.7.0 (Hodag)</div>
+        <div class="version-footer">CryptPad v1.8.0 (Igopogo)</div>
     </footer>
 
 </body>

From 85f1fb86d0caad5f29425ee395d532a624a84f03 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 6 Jun 2017 10:28:00 +0200
Subject: [PATCH 229/236] Add missing french translation keys

---
 customize.dist/translations/messages.fr.js | 8 ++++++++
 customize.dist/translations/messages.js    | 1 -
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 71227966c..6e61ff11a 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -60,10 +60,14 @@ define(function () {
 
     out.upgrade = "Augmenter votre limite";
     out.upgradeTitle = "Améliorer votre compte pour augmenter la limite de stockage";
+
+    out.upgradeAccount = "Améliorer le compte";
     out.MB = "Mo";
     out.GB = "Go";
     out.KB = "Ko";
 
+    out.supportCryptpad = "Soutenir CryptPad";
+
     out.formattedMB = "{0} Mo";
     out.formattedGB = "{0} Go";
     out.formattedKB = "{0} Ko";
@@ -76,6 +80,7 @@ define(function () {
     out.updated_0_pinLimitReachedAlert = "Vous avez atteint votre limite de stockage. Les nouveaux pads ne seront pas enregistrés dans votre CryptDrive.<br>" +
         'Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">abonner à une offre premium</a> pour augmenter la limite maximale.';
     out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert;
+    out.pinLimitReachedAlertNoAccounts = out.pinLimitReached;
     out.pinAboveLimitAlert = 'Depuis la dernière version, nous imposons désormais une limite de 50 Mo de stockage gratuit et vous utilisez actuellement {0}. You devriez soit supprimer certains pads ou soit vous abonner sur <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Votre contribution nous aidera à améliorer CryptPad et à répandre le Zero Knowledge. Vous pouvez contacter le <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> pour tout problème ou question concernant ces changements.';
     out.pinLimitNotPinned = "Vous avez atteint votre limite de stockage.<br>"+
                             "Ce pad n'est pas enregistré dans votre CryptDrive.";
@@ -304,6 +309,8 @@ define(function () {
     out.login_invalPass = 'Mot de passe requis';
     out.login_unhandledError = "Une erreur inattendue s'est produite :(";
 
+    out.login_notRegistered = 'Pas enregistré ?';
+
     out.register_importRecent = "Importer l'historique (Recommendé)";
     out.register_acceptTerms = "J'accepte <a href='/terms.html'>les conditions d'utilisation</a>";
     out.register_passwordsDontMatch = "Les mots de passe doivent être identiques!";
@@ -374,6 +381,7 @@ define(function () {
     out.upload_name = "Nom du fichier";
     out.upload_size = "Taille";
     out.upload_progress = "État";
+    out.upload_mustLogin = "Vous devez vous connecter pour uploader un fichier";
     out.download_button = "Déchiffrer et télécharger";
 
     // general warnings
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 218aa6e99..1ebbc8ea8 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -313,7 +313,6 @@ define(function () {
 
     out.login_notRegistered = 'Not registered?';
 
-
     out.register_importRecent = "Import pad history (Recommended)";
     out.register_acceptTerms = "I accept <a href='/terms.html'>the terms of service</a>";
     out.register_passwordsDontMatch = "Passwords do not match!";

From ee57458158479f34e999fa95df3c536fba1221cb Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 6 Jun 2017 10:49:32 +0200
Subject: [PATCH 230/236] Remove the pin limit alert

---
 customize.dist/translations/messages.es.js | 1 -
 customize.dist/translations/messages.fr.js | 1 -
 customize.dist/translations/messages.js    | 1 -
 customize.dist/translations/messages.zh.js | 1 -
 www/common/cryptpad-common.js              | 9 +--------
 5 files changed, 1 insertion(+), 12 deletions(-)

diff --git a/customize.dist/translations/messages.es.js b/customize.dist/translations/messages.es.js
index 8f74d2433..a128c2e39 100644
--- a/customize.dist/translations/messages.es.js
+++ b/customize.dist/translations/messages.es.js
@@ -436,7 +436,6 @@ define(function () {
     out.pinLimitReachedAlert = ["Has llegado a tu limite de espacio. Nuevos pads no serán guardados en tu CryptDrive.",
         "Puedes eliminar pads de tu CryptDrive o <a href=\"https://accounts.cryptpad.fr/#!on={0}\" target=\"_blank\">suscribirte a una oferta premium</a> para obtener más espacio."].join("<br>");
     out.pinLimitReachedAlertNoAccounts = "Has llegado a tu limite de espacio";
-    out.pinAboveLimitAlert = "Desde esta versión, ponemos un limite de 50MB a las cuentas gratís y estás usando {0}. Tendrás que eliminar unos pads o suscribirte en <a href=\"https://accounts.cryptpad.fr/#!on={1}\" target=\"_blank\">accounts.cryptpad.fr</a>. Tu contribución nos ayuda a mejorar CryptPad y extender el Zero Knowledge. Por favor contacta <a href=\"https://accounts.cryptpad.fr/#/support\" target=\"_blank\">el soporte</a> si tienes preguntas adicionales.";
     out.previewButtonTitle = "Mostrar/esconder la vista previa Markdown";
     out.fm_info_trash = "Vacía tu papelera para liberar espaci en tu CryptDrive.";
     out.fm_info_anonymous = "No estás conectado, así que estos pads pueden ser borrados (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">¿por qué?</a>). <a href=\"/register/\">Registrate</a> o <a href=\"/login/\">Inicia sesión</a> para asegurarlos.";
diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 6e61ff11a..166ed2098 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -81,7 +81,6 @@ define(function () {
         'Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">abonner à une offre premium</a> pour augmenter la limite maximale.';
     out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert;
     out.pinLimitReachedAlertNoAccounts = out.pinLimitReached;
-    out.pinAboveLimitAlert = 'Depuis la dernière version, nous imposons désormais une limite de 50 Mo de stockage gratuit et vous utilisez actuellement {0}. You devriez soit supprimer certains pads ou soit vous abonner sur <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Votre contribution nous aidera à améliorer CryptPad et à répandre le Zero Knowledge. Vous pouvez contacter le <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> pour tout problème ou question concernant ces changements.';
     out.pinLimitNotPinned = "Vous avez atteint votre limite de stockage.<br>"+
                             "Ce pad n'est pas enregistré dans votre CryptDrive.";
     out.pinLimitDrive = out.pinLimitReached+ ".<br>" +
diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js
index 1ebbc8ea8..fa08fb1c7 100644
--- a/customize.dist/translations/messages.js
+++ b/customize.dist/translations/messages.js
@@ -83,7 +83,6 @@ define(function () {
         'You can either remove pads from your CryptDrive or <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">subscribe to a premium offer</a> to increase your limit.';
     out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert;
     out.pinLimitReachedAlertNoAccounts = out.pinLimitReached;
-    out.pinAboveLimitAlert = 'As of this release, we are imposing a 50MB limit on free data storage and you are currently using {0}. You will need to either delete some pads or subscribe on <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>. Your contribution will help us improve CryptPad and spread Zero Knowledge. Please contact <a href="https://accounts.cryptpad.fr/#/support" target="_blank">support</a> if you have any other questions.';
     out.pinLimitNotPinned = "You've reached your storage limit.<br>"+
                             "This pad is not stored in your CryptDrive.";
     out.pinLimitDrive = "You've reached your storage limit.<br>" +
diff --git a/customize.dist/translations/messages.zh.js b/customize.dist/translations/messages.zh.js
index af8a37615..81560c69a 100644
--- a/customize.dist/translations/messages.zh.js
+++ b/customize.dist/translations/messages.zh.js
@@ -82,7 +82,6 @@ define(function () {
     out.updated_0_pinLimitReachedAlert = "你已達到儲存容量上限,新檔案不會儲存到你的 CryptDrive.<br>" +
         '要嘛你可以自 CryptDrive 移除原有文件或是 <a href="https://accounts.cryptpad.fr/#!on={0}" target="_blank">昇級到付費版</a>增加你的儲存容量。';
     out.pinLimitReachedAlert = out.updated_0_pinLimitReachedAlert;
-    out.pinAboveLimitAlert = '這個版本中, 我們對免費用戶實施 50MB 容量上限的儲存限制,你目前已使用了 {0}。你可以刪除一些檔案或是昇級到付費帳戶 <a href="https://accounts.cryptpad.fr/#!on={1}" target="_blank">accounts.cryptpad.fr</a>。你的貢獻可助我們改善 CryptPad 並散佈零知識技術。可聯絡 <a href="https://accounts.cryptpad.fr/#/support" target="_blank">用戶支援</a>如果有任何問題的話。';
     out.pinLimitNotPinned = "你已達到容量使用上限<br>"+
                             "這個檔案無法儲存到你的 CryptDrive.";
     out.pinLimitDrive = "你已達到容量使用上限<br>" +
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index 039d2c4a0..f5b30aadf 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -803,7 +803,6 @@ define([
     };
 
     var LIMIT_REFRESH_RATE = 30000; // milliseconds
-    var limitReachedDisplayed = false;
     common.createUsageBar = function (cb, alwaysDisplayUpgrade) {
         var todo = function (err, state, data) {
             var $container = $('<span>', {'class':'limit-container'});
@@ -854,13 +853,7 @@ define([
 
             if (quota < 0.8) { $usage.addClass('normal'); }
             else if (quota < 1) { $usage.addClass('warning'); }
-            else {
-                $usage.addClass('above');
-                if (!limitReachedDisplayed && Config.noSubscriptionButton === true) {
-                    limitReachedDisplayed = true;
-                    common.alert(Messages._getKey('pinAboveLimitAlert', [prettyUsage, encodeURIComponent(window.location.hostname)]), null, true);
-                }
-            }
+            else { $usage.addClass('above'); }
             var $text = $('<span>', {'class': 'usageText'});
             $text.text(usage + ' / ' + prettyLimit);
             $limit.append($usage).append($text);

From ac91d2f413812bddd82c0686cddf2116f8f3a6fb Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 6 Jun 2017 11:37:54 +0200
Subject: [PATCH 231/236] Fix the upgrade and donate buttons in the home page

---
 customize.dist/main.js                     | 31 +++-------------------
 customize.dist/translations/messages.fr.js |  2 +-
 www/common/cryptpad-common.js              |  1 +
 www/common/toolbar2.js                     |  5 +++-
 www/settings/main.js                       | 29 +-------------------
 5 files changed, 10 insertions(+), 58 deletions(-)

diff --git a/customize.dist/main.js b/customize.dist/main.js
index b6149b8ef..a55bd7b44 100644
--- a/customize.dist/main.js
+++ b/customize.dist/main.js
@@ -3,6 +3,7 @@ define([
     '/customize/application_config.js',
     '/common/cryptpad-common.js',
     '/api/config',
+    '/customize/header.js',
 ], function ($, Config, Cryptpad, ApiConfig) {
 
     window.APP = {
@@ -14,29 +15,6 @@ define([
     $(function () {
         var $main = $('#mainBlock');
 
-        // Language selector
-        var $sel = $('#language-selector');
-        Cryptpad.createLanguageSelector(undefined, $sel);
-        $sel.find('button').addClass('btn').addClass('btn-secondary');
-        $sel.show();
-
-        var $upgrade = $('#upgrade');
-
-        var showUpgrade = function (text) {
-            if (ApiConfig.removeDonateButton) { return; }
-            if (localStorage.plan) { return; }
-            if (!text) { return; }
-            $upgrade.text(text).show();
-        };
-
-        // User admin menu
-        var $userMenu = $('#user-menu');
-        var userMenuCfg = {
-            $initBlock: $userMenu
-        };
-        var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg);
-        $userAdmin.find('button').addClass('btn').addClass('btn-secondary');
-
         $(window).click(function () {
             $('.cryptpad-dropdown').hide();
         });
@@ -66,13 +44,11 @@ define([
                 });
             });
 
-            showUpgrade(Messages.upgradeAccount);
-
             $loggedInBlock.removeClass('hidden');
-        } else {
+        }
+        else {
             $main.find('#userForm').removeClass('hidden');
             $('#name').focus();
-            showUpgrade(Messages.supportCryptpad);
         }
 
         var displayCreateButtons = function () {
@@ -99,7 +75,6 @@ define([
             var $block = Cryptpad.createDropdown(dropdownConfig);
             $block.find('button').addClass('btn').addClass('btn-primary');
             $block.appendTo($parent);
-
         };
 
         /* Log in UI */
diff --git a/customize.dist/translations/messages.fr.js b/customize.dist/translations/messages.fr.js
index 166ed2098..64b40f553 100644
--- a/customize.dist/translations/messages.fr.js
+++ b/customize.dist/translations/messages.fr.js
@@ -308,7 +308,7 @@ define(function () {
     out.login_invalPass = 'Mot de passe requis';
     out.login_unhandledError = "Une erreur inattendue s'est produite :(";
 
-    out.login_notRegistered = 'Pas enregistré ?';
+    out.login_notRegistered = 'Pas encore inscrit ?';
 
     out.register_importRecent = "Importer l'historique (Recommendé)";
     out.register_acceptTerms = "J'accepte <a href='/terms.html'>les conditions d'utilisation</a>";
diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js
index f5b30aadf..86ff53c14 100644
--- a/www/common/cryptpad-common.js
+++ b/www/common/cryptpad-common.js
@@ -27,6 +27,7 @@ define([
         Messages: Messages,
         Clipboard: Clipboard,
         donateURL: 'https://accounts.cryptpad.fr/#/donate?on=' + window.location.hostname,
+        upgradeURL: 'https://accounts.cryptpad.fr/#/?on=' + window.location.hostname,
         account: {},
     };
 
diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js
index d4e5931f1..af188f0e8 100644
--- a/www/common/toolbar2.js
+++ b/www/common/toolbar2.js
@@ -703,12 +703,15 @@ define([
 
         var text;
         var feedback;
+        var url;
         if (ApiConfig.allowSubscriptions && Cryptpad.isLoggedIn()) {
             text = Messages.upgradeAccount;
             feedback = "UPGRADE_ACCOUNT";
+            url = Cryptpad.upgradeURL;
         } else {
             text = Messages.supportCryptpad;
             feedback = "SUPPORT_CRYPTPAD";
+            url = Cryptpad.donateURL;
         }
 
         var $upgrade = toolbar.$top.find('.' + UPGRADE_CLS).attr({
@@ -716,7 +719,7 @@ define([
         }).text(text).show()
         .click(function () {
             Cryptpad.feedback(feedback);
-            window.open(Cryptpad.donateURL,'_blank');
+            window.open(url,'_blank');
         });
         return $upgrade;
     };
diff --git a/www/settings/main.js b/www/settings/main.js
index d02825fc1..3f0ab0331 100644
--- a/www/settings/main.js
+++ b/www/settings/main.js
@@ -5,6 +5,7 @@ define([
     '/common/mergeDrive.js',
     '/api/config',
     '/bower_components/file-saver/FileSaver.min.js',
+    '/customize/header.js',
 ], function ($, Cryptpad, Crypt, Merge, ApiConfig) {
     var saveAs = window.saveAs;
 
@@ -15,14 +16,6 @@ define([
         _onRefresh: []
     };
 
-    var $upgrade = $('#upgrade');
-    var showUpgrade = function (text) {
-        if (ApiConfig.removeDonateButton) { return; }
-        if (localStorage.plan) { return; }
-        if (!text) { return; }
-        $upgrade.text(text).show();
-    };
-
     var Messages = Cryptpad.Messages;
 
     // Manage changes in the realtime object made from another page
@@ -333,30 +326,10 @@ define([
         APP.$container.append(createUserFeedbackToggle(obj));
         obj.proxy.on('change', [], refresh);
         obj.proxy.on('remove', [], refresh);
-
-
-        if (Cryptpad.isLoggedIn()) {
-            showUpgrade(Messages.upgradeAccount);
-        } else {
-            showUpgrade(Messages.supportCryptpad);
-        }
     };
 
     $(function () {
         var $main = $('#mainBlock');
-        // Language selector
-        var $sel = $('#language-selector');
-        Cryptpad.createLanguageSelector(undefined, $sel);
-        $sel.find('button').addClass('btn').addClass('btn-secondary');
-        $sel.show();
-
-        // User admin menu
-        var $userMenu = $('#user-menu');
-        var userMenuCfg = {
-            $initBlock: $userMenu
-        };
-        var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg);
-        $userAdmin.find('button').addClass('btn').addClass('btn-secondary');
 
         $(window).click(function () {
             $('.cryptpad-dropdown').hide();

From 5641a4a839cad73bf63ef64fee9215c446df276f Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 6 Jun 2017 11:52:47 +0200
Subject: [PATCH 232/236] Add the file app in the 'new' dropdown menus

---
 customize.dist/application_config.js | 3 ++-
 customize.dist/main.js               | 2 ++
 www/common/toolbar2.js               | 2 ++
 www/drive/main.js                    | 4 ++++
 4 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/customize.dist/application_config.js b/customize.dist/application_config.js
index 151a8b7da..af2474775 100644
--- a/customize.dist/application_config.js
+++ b/customize.dist/application_config.js
@@ -4,7 +4,8 @@ define(function() {
     /* Select the buttons displayed on the main page to create new collaborative sessions
      * Existing types : pad, code, poll, slide
      */
-    config.availablePadTypes = ['drive', 'pad', 'code', 'slide', 'poll', 'whiteboard'];
+    config.availablePadTypes = ['drive', 'pad', 'code', 'slide', 'poll', 'whiteboard', 'file'];
+    config.registeredOnlyTypes = ['file'];
 
     /*  Cryptpad apps use a common API to display notifications to users
      *  by default, notifications are hidden after 5 seconds
diff --git a/customize.dist/main.js b/customize.dist/main.js
index a55bd7b44..72cfdd33c 100644
--- a/customize.dist/main.js
+++ b/customize.dist/main.js
@@ -57,6 +57,8 @@ define([
             var $container = $('<div>', {'class': 'dropdown-bar'}).appendTo($parent);
             Config.availablePadTypes.forEach(function (el) {
                 if (el === 'drive') { return; }
+                if (!Cryptpad.isLoggedIn() && Config.registeredOnlyTypes &&
+                    Config.registeredOnlyTypes.indexOf(el) !== -1) { return; }
                 options.push({
                     tag: 'a',
                     attributes: {
diff --git a/www/common/toolbar2.js b/www/common/toolbar2.js
index af188f0e8..8740606ee 100644
--- a/www/common/toolbar2.js
+++ b/www/common/toolbar2.js
@@ -636,6 +636,8 @@ define([
         var pads_options = [];
         Config.availablePadTypes.forEach(function (p) {
             if (p === 'drive') { return; }
+            if (!Cryptpad.isLoggedIn() && Config.registeredOnlyTypes &&
+                Config.registeredOnlyTypes.indexOf(p) !== -1) { return; }
             pads_options.push({
                 tag: 'a',
                 attributes: {
diff --git a/www/drive/main.js b/www/drive/main.js
index 03dcb7716..10d98e400 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -1370,6 +1370,10 @@ define([
             }
             AppConfig.availablePadTypes.forEach(function (type) {
                 if (type === 'drive') { return; }
+                if (!Cryptpad.isLoggedIn() && AppConfig.registeredOnlyTypes &&
+                    AppConfig.registeredOnlyTypes.indexOf(type) !== -1) {
+                    return;
+                }
                 var attributes = {
                     'class': 'newdoc',
                     'data-type': type,

From f1271bfd03edbbf05d5626224fb18a389dd76180 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 6 Jun 2017 11:56:22 +0200
Subject: [PATCH 233/236] Missing file

---
 customize.dist/header.js | 53 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 customize.dist/header.js

diff --git a/customize.dist/header.js b/customize.dist/header.js
new file mode 100644
index 000000000..7a2ac9295
--- /dev/null
+++ b/customize.dist/header.js
@@ -0,0 +1,53 @@
+define([
+    'jquery',
+    '/customize/application_config.js',
+    '/common/cryptpad-common.js',
+    '/api/config',
+], function ($, Config, Cryptpad, ApiConfig) {
+
+    window.APP = {
+        Cryptpad: Cryptpad,
+    };
+
+    var Messages = Cryptpad.Messages;
+
+    $(function () {
+        // Language selector
+        var $sel = $('#language-selector');
+        Cryptpad.createLanguageSelector(undefined, $sel);
+        $sel.find('button').addClass('btn').addClass('btn-secondary');
+        $sel.show();
+
+        var $upgrade = $('#upgrade');
+
+        var showUpgrade = function (text, feedback, url) {
+            if (ApiConfig.removeDonateButton) { return; }
+            if (localStorage.plan) { return; }
+            if (!text) { return; }
+            $upgrade.text(text).show();
+            $upgrade.click(function () {
+                Cryptpad.feedback(feedback);
+                window.open(url,'_blank');
+            });
+        };
+
+        // User admin menu
+        var $userMenu = $('#user-menu');
+        var userMenuCfg = {
+            $initBlock: $userMenu
+        };
+        var $userAdmin = Cryptpad.createUserAdminMenu(userMenuCfg);
+        $userAdmin.find('button').addClass('btn').addClass('btn-secondary');
+
+        $(window).click(function () {
+            $('.cryptpad-dropdown').hide();
+        });
+
+        if (Cryptpad.isLoggedIn() && ApiConfig.allowSubscriptions) {
+            showUpgrade(Messages.upgradeAccount, "HOME_UPGRADE_ACCOUNT", Cryptpad.upgradeURL);
+        } else {
+            showUpgrade(Messages.supportCryptpad, "HOME_SUPPORT_CRYPTPAD", Cryptpad.donateURL);
+        }
+    });
+});
+

From 811d031ffd407df64425d75488dc01e8ffa2a329 Mon Sep 17 00:00:00 2001
From: yflory <yann.flory@xwiki.com>
Date: Tue, 6 Jun 2017 12:09:55 +0200
Subject: [PATCH 234/236] Fix the 'File' entry in the drive 'New' menu

---
 www/drive/main.js | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/www/drive/main.js b/www/drive/main.js
index 10d98e400..b6cdfd2c9 100644
--- a/www/drive/main.js
+++ b/www/drive/main.js
@@ -1415,6 +1415,12 @@ define([
                 });
                 $block.find('a.newdoc').click(function () {
                     var type = $(this).attr('data-type') || 'pad';
+                    // We can't create a hash for files before uploading the file
+                    if (type === 'file') { // TODO: remove when filename are gone?
+                        sessionStorage[Cryptpad.newPadPathKey] = filesOp.isPathIn(currentPath, [TRASH]) ? '' : currentPath;
+                        window.open('/' + type + '/');
+                        return;
+                    }
                     var name = Cryptpad.getDefaultName({type: type});
                     filesOp.addFile(currentPath, name, type, onCreated);
                 });

From d25477e8c6cf279a617233734b5e567a7c273755 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Tue, 6 Jun 2017 18:08:23 +0200
Subject: [PATCH 235/236] don't let tooltips interfere with DOM interaction

---
 www/common/common-interface.js | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/www/common/common-interface.js b/www/common/common-interface.js
index 19066b06f..5d1e01cc8 100644
--- a/www/common/common-interface.js
+++ b/www/common/common-interface.js
@@ -194,10 +194,16 @@ define([
     };
     UI.removeLoadingScreen = function (cb) {
         $('#' + LOADING).fadeOut(750, cb);
-        $('#loadingTip').css('top', '')
+        var $tip = $('#loadingTip').css('top', '')
         // loading.less sets transition-delay: $wait-time
         // and               transition: opacity $fadeout-time
-            .css('opacity', 0);
+            .css({
+                'opacity': 0,
+                'pointer-events': 'none',
+            });
+            setTimeout(function () {
+                $tip.remove();
+            }, 3750);
         // jquery.fadeout can get stuck
     };
     UI.errorLoadingScreen = function (error, transparent) {

From 2f851ab97ebaaf4d1995d36c2776ca56035ab321 Mon Sep 17 00:00:00 2001
From: ansuz <ansuz@transitiontech.ca>
Date: Wed, 7 Jun 2017 10:13:51 +0200
Subject: [PATCH 236/236] fix lint errors

---
 customize.dist/main.js | 3 +--
 www/settings/main.js   | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/customize.dist/main.js b/customize.dist/main.js
index 72cfdd33c..f2580bbe1 100644
--- a/customize.dist/main.js
+++ b/customize.dist/main.js
@@ -2,9 +2,8 @@ define([
     'jquery',
     '/customize/application_config.js',
     '/common/cryptpad-common.js',
-    '/api/config',
     '/customize/header.js',
-], function ($, Config, Cryptpad, ApiConfig) {
+], function ($, Config, Cryptpad) {
 
     window.APP = {
         Cryptpad: Cryptpad,
diff --git a/www/settings/main.js b/www/settings/main.js
index 3f0ab0331..c7379db3a 100644
--- a/www/settings/main.js
+++ b/www/settings/main.js
@@ -3,10 +3,9 @@ define([
     '/common/cryptpad-common.js',
     '/common/cryptget.js',
     '/common/mergeDrive.js',
-    '/api/config',
     '/bower_components/file-saver/FileSaver.min.js',
     '/customize/header.js',
-], function ($, Cryptpad, Crypt, Merge, ApiConfig) {
+], function ($, Cryptpad, Crypt, Merge) {
     var saveAs = window.saveAs;
 
     var USERNAME_KEY = 'cryptpad.username';